2011-01-01から1年間の記事一覧
カメラクラスを作ろうとした時に嵌ったポイント。XMMATRIXやXMVECTORをメンバに持つクラスや構造体は、 絶対に16バイトアライメントじゃないと駄目らしい。 スタックでXMMATRIXを確保・使用しても大丈夫だが、 ヒープで確保・使用する場合は、Win32ビルドだ…
下記の記述でハングする。 どうして? [XMMATRIX型のクラスメンバ] = XMMatrixIdentity(); XMMATRIX, XMVECTORはクラスのメンバにしたら駄目なのか?
Renderの頭に最初に下記を実行する。 シェーダーリソースのスロット0にリソースが残っていた。 ID3D11ShaderResourceView *const pSRV[1] = {NULL}; m_pImmediateContext->PSSetShaderResources(0, 1, pSRV);
1:背景灰色でテクスチャを貼った三角形をテクスチャに描画 2:背景を濃い青にして、1で描画したテクスチャを貼った四角形を描画表示はできているが、エラーが出る。 ShaderResourceViewの問題らしいが解決方法が分からない。 D3D11: WARNING: ID3D11Devi…
melとかmaxscript、テキスト処理のlinuxコマンドとか。
インスタントの豚汁がおいしい。
DCCとの関連で#ifdefとかでシェーダーが複雑になる。 何とかしたい。 どうしましょう。
h4tex2Dはhalf4を、x4tex2Dはfixed4を返す。
スペキュラマップだけ、光源の位置とカメラ位置の影響を受ける。 /* % Description of my shader. % Second line of description for my shader. keywords: material classic date: YYMMDD */ // My Add float4x4 WIT : WorldInverseTranspose <string UIWidget = "none";>; float4x4 WV</string>…
読んだら切なくなった。 大学入る前とニート時代を思い出した。プンプンがダークサイドに落ちる所を見たい。
FXComposer超入門12をピクセルシェーダーで処理したやつ。 頂点で処理した方が味があるように見えてしまう。 /* % Description of my shader. % Second line of description for my shader. keywords: material classic date: YYMMDD */ float4x4 WIT : Wo…
ちょっとだけ改良。 全部頂点で処理。 シルエットを良く見るとジワッとしていると思う。
今回からは色々と省略。視線と平行になるような平行光源を使ってシルエットっぽいことをしてみた。 リムライト的な感じ。通常は、ポストエフェクトで行うのが普通 頂点シェーダーで行うと汚くなるので、次はピクセルシェーダーでやってみる。 1Dテクスチャを…
色々と整備してみようか。
ディファードレンダリングとかディファードシェーディングとかいうやつをしてみる。 1.シーンに板と球とトーラスを追加する。 2.下の絵1のようになる。3.[Effects]にある[DefaultEffect]と[Materials]にある[DefaultMaterial]を削除する。 4.[Effec…
windows7の起動失敗が多発する。 しかもプロダクトキーなどの再入力が求められる。不安定すぐる。
面白かった。
今更ながら見た。 良い雰囲気映画だった。昔やったゲームのクーロンズゲートに雰囲気が似てた。 妖精さんの元ネタっぽい人形とか出てきたし。
美味しいうどんを食べたい。
前回画面エフェクトをやったので、 それを利用して画面をボカします。 注意点は、読み込み中のレンダーターゲットに書き込みができないことです。 1.前回のプロジェクトを開きます。 2.前回のcgfxファイルを下のコードに変更します。 /* % Description o…
ポストエフェクトをやってみます。 画面全体に指定した色を加算します。 超簡単なポストエフェクトです。 これまでとの違いは、 ・レンダーターゲットの指定にScriptという要素が出てくること ・テクニックが2パスになること です。 1.前回のBlinn-Phong…
頂点単位のフォン鏡面反射をやります。コードだけ載せます。 凸形状ではないので色々と変なところもあります。 /* % Description of my shader. % Second line of description for my shader. keywords: material classic date: YYMMDD */ float4x4 WIT : Wo…
フォン鏡面反射をやります。 前回のローカル計算のランバートを使います。 基本的には、鏡面反射分を足すだけです。 1.新しいプロジェクトを作成します。 2.ジオメトリを作ります。ここではトーラスを選びます。 3.ポイントライトを作成します。 4.…
ブリンフォン鏡面反射ハーフベクトルを使うやつです。 ピクセルシェーダーで処理します。 ソースコードだけで済ませます。 ハイライトがでない場合はシーンにカメラをバインドしてください。 /* % Description of my shader. % Second line of description f…
FXComposer超入門と言いつつもCgFX入門になってしまっているけど気にしない。 超入門3,4ではワールドでライティング計算をしたが、 今回はTeapotのローカル座標でライティング計算を行う。 手順は前回、前々回を参考にすれば大丈夫なのでコードだけを示す…
ランバート反射をやってみます。 ライティングはピクセルシェーダーでやります。 ランバート反射の理論部分は、詳しい文献がいくらでもあるので説明しません。 1.FXComposerで新しいプロジェクトを作る。 2.バーにある[Teapot]を押します。 3.下の絵1…
ヘッドホンしてると頭が痛くなる。
ライトをレンダーウィンドウで動かせるようにする。 1.ランバートのプロジェクトを開く。 2.バーから[Point]のライトを選ぶ。 3.Teapotと点ライトが重なっているので重ならないようにライトを動かす。 4.左側の[Scenes]→[DefaultScene]→[Node]→[Teap…
連休前に修羅場になりそう。
以前のFXComposer超入門の板にテクスチャを貼ってみる。テクスチャはファイル指定できるようにする。 1.前のプロジェクトを開く。 2.左側の[Effects]→[Floor]→[Floor.cgfx]を選ぶ。 3.中央にcgfxファイルが開く。 4.下のコード1になるように変更す…