Direct3D

シャープなリニアフィルタ

cubicやlanczosは他にも資料や解説があるので、 動作が軽くて、ドット感が失われない、シャープなリニアフィルタについて、書き留めておこうと思います。 元々、このフィルタは「整数倍の拡大だと補間無し(point)がいいよね」って会話から「なら2.25倍は…

拡大縮小フィルタ比較

やっとこさ一段落しましたので、先の件にもありますPixelShaderによる拡大フィルタについてつらつらと。 液晶の引き延ばしは、色々問題があるため自前で引き延ばすことが急務になってきた昨今、とりあえずDirect3DのTextureFilterにあるLinearを使うというの…

FXComposer2.5で特定命令を使用するとAnalizeでクラッシュする場合の対処

FXComposer2.5でアセンブラを見るにはAnalizeをしないといけません。 ちょっと時間がかかるぐらいなら問題ないのですが、困ったことに対象HLSL(FX)で特定の命令を使用するとクラッシュするケースがあります。 環境依存性なのかどうかは分かりませんが、私の…

DynamicTextureの制限

あまり使われることは無いDynamicTextureですが、制限や特別な仕様についてあまり資料が無かったのでメモしておこうと思います。 DynamicTextureは高速にCPUからTextureにメモリ転送させることを目的としたものとかそういうのは省いて、「D3DUSAGE_DYNAMIC,D…

FX Composer 2.5(HLSL)でShaderバイトコード(pso,vso)を吐かせる

Shaderアセンブラ吐けないと思ってたら吐けるじゃないですか。 なら初代よりもこっち使った方が良いですね。 http://developer.nvidia.com/object/fx_composer_home.html適当に「Create-Effect-FX」で作って、CompileしてAnalize(Compile飛ばすと更新箇所が…

NVIDIA FXComposerのconstの扱い

なんかね、const(定数渡し)の挙動が、コードを弄っても、どうも最初しか反映されないので困ってました。 例えば float4 ww0 = { 0, 1.0, 0 ,0}; //ココを弄る //PixelShader float4 PS_Textured( vertexOutput IN): COLOR { ・・・ }として、ww0の部分を弄…

HLSL(fx)からアセンブラ(pso,vso)に持って行く方法

訳あってプログラムがHLSL使えないけど、なんとかアセンブラにして持って行きたい! そんな貴方の夢を叶えちゃうんです。 とまではいきませんが、ツール上でHLSLでカキカキして実験しながら作業して、HLSLが扱えないプログラムに読み込ませるなんてことをし…