0

テクスチャ座標のちょうど 2 点に関連する質問が多数あり、私のシェーダーはすでにその概念で動作しています。1.0、1.0 は画像全体を表示し、1.0/frame はいずれかの次元の外観を表示します... 残念ながら、クワッドの 0.0 からフレームの分割の 10 進数値までのすべてを表示します。

私がやりたいことは、シェーダーから、テクスチャ座標の 4 つのポイントすべてを制御することです。すべてのチュートリアルとすべてのサンプルで、テクスチャ座標 vec は常に vec2 であり、開始点ではなく 2 つの終点のみを制御できることを意味します。この制限をなくす方法はありますか?

なぜこれを行う必要があるのか​​ を理解するために(まだ露骨に明らかでない場合)、大きなシートからタイルまたはアニメーションフレームを選択したいと思います。

理想的には、シェーダーで画像の寸法 (幅と高さ) を見つけることもできますが、必要に応じて、それらの値を渡すことはそれほど難しくありません。現時点では GLSL を使用していると思います2、シェーダーで textureSize2D 関数を使用できないことを意味します (既に試しました)。

4

1 に答える 1

0

テクスチャ コマンドに渡す UV 座標ペアを単純化すると、テクスチャから読み取るポイントを意味します。エリアではなく、ただの 1 点です。サンプラーの状態と、縮小/拡大が発生するかどうかに応じて、1 つのテクセルを使用してそのポイントの値を計算できますが、それでも提供される UV に接続された 1 つの値です。

于 2013-07-01T09:44:53.903 に答える