0

視点から 800x640 の 6 つの画像をレンダリングする必要があり、これらの画像に基づいて、一種の魚眼ビューである 1 つの新しい画像 800x640 を作成する必要があります。現時点では、アプリケーションは各画像を描画し、この RenderTarget2D.GetData メソッドを呼び出して色を読み取り、各ピクセル位置に基づいて最終画像の新しい位置を計算します。それは正常に動作します。

しかし、RenderTarget2D.GetData を呼び出すとパフォーマンスが低下するため、シェーダーで 800x640 配列を宣言してから、6 つの画像を連続してレンダリングしようとしました。次に、ピクセル シェーダーで、新しい魚眼ビュー イメージの新しい座標を見つけます。

float4 PSTooBasic(VertexPSInput pin) : COLOR
{
    int xCoord = GetWaldXCoordinate(pin.PositionWS.x); 
    int yCoord = GetWaldYCoordinate(pin.PositionWS.y);

    WaldPixs[xCoord][yCoord] = 1; 

    return BlackColor;
}

しかし、この配列宣言行: uniform int WaldPixs[800][640];

このコンパイル エラーが発生します: エラー X3059: 'WaldPixs': 配列の次元は 1 から 65536 の間でなければなりません

提案や回避策はありますか?

ありがとう、

4

0 に答える 0