タイトル通りです
SFC時代のラスタースクロールを利用した演出や、画像の色相、彩度、輝度を変更できるようにピクセルシェーダを利用しています
自作のゲームでは以下のような使い方をしていますが、ほとんど意味を理解できていません
int beforshader = MakeScreen(1024, 1024, TRUE);//シェーダによる改変前の画像を描画するスペース
int aftershader = MakeScreen(1024, 1024, TRUE);//シェーダによる改変後の画像を描画するスペース
int shaderhandle = LoadPixelShader("MyPixelShader.pso");//ピクセルシェーダのロード
SetUsePixelShader(shaderhandle);//ピクセルシェーダのセット
SetDrawScreen(beforshader);ClearDrawScreen();DrawGraph(〜〜);//元となる画像を描画
VERTEX2DSHADER vertex[4];//?頂点用の変数?構造体?の宣言?
//?頂点の設定?
vertex[0].rhw = vertex[1].rhw = vertex[2].rhw = vertex[3].rhw = 1.0f;
vertex[0].dif = vertex[1].dif = vertex[2].dif = vertex[3].dif = GetColorU8(255, 255, 255, 255);
vertex[0].spc = vertex[1].spc = vertex[2].spc = vertex[3].spc = GetColorU8(0, 0, 0, 0);
vertex[0].u = vertex[0].su = vertex[2].u = vertex[2].su = vertex[0].v = vertex[0].sv = vertex[1].v = vertex[1].sv = 0.0f;
vertex[1].u = vertex[1].su = vertex[3].u = vertex[3].su = vertex[2].v = vertex[2].sv = vertex[3].v = vertex[3].sv = 1.0f;
vertex[0].pos = VGet( 0.0f, 0.0f, 0);vertex[1].pos = VGet(1024.0f, 0.0f, 0);
vertex[2].pos = VGet( 0.0f, 1024.0f, 0);vertex[3].pos = VGet(1024.0f, 1024.0f, 0);
SetUseTextureToShader(0,beforshader);//?よく理解できていません、シェーダの処理を行う時のもととなる画像の参照先をセット?
SetDrawScreen(aftershader);ClearDrawScreen();
DrawPrimitive2DToShader(vertex, 4, DX_PRIMTYPE_TRIANGLESTRIP);//?引数の意味や効果が分かりません?
SetDrawScreen(DX_SCREEN_BACK);
DrawRectGraph(DestX,DestY,SrcX,SrcY,Width,Height, aftershader ,TransFlag,TurnFlag ) ;
rhw、dif、spc、u、su、v、sv、posの意味やDrawPrimitive2DToShaderに使われる引数の効果などの解説が欲しいです