1

I have got a 2D texture, such as this one, which I am currently just dropping directly onto the terrain. ここに画像の説明を入力

I am then rendering foliage on top of that texture. ここに画像の説明を入力

I would like to (using the fragment shader), get the colour of the texture beneath the grass, and set the grass to be the colour of the texture beneath it.

To do this, I need to get the position of each grass vertex on the terrain relative to the texture. ここに画像の説明を入力

次に、オブジェクトの位置に対応するテクスチャの色を取得し、それを現在の草の色とブレンドする必要があります (デモ用に赤い草があるとします)。 ここに画像の説明を入力

どのように始めればよいのか、現時点ではわかりません。シェーダーを介してワールド内の草の X および Z 位置 (現在は持っていません) を取得する必要があることはわかっていますが、対応するテクスチャ ピクセルを計算する必要があります。

これを解決するためのアドバイスをいただければ幸いです。

4

1 に答える 1

1

主なアイデアは、位置座標をテクスチャ座標として渡すことです。

私が正しく計算したことを願っています

高さマップが配置されている長方形があり、位置座標をそれに対して相対的にします。この場合、高さマップが NxM で、テクスチャ座標が 1x1 の場合、位置を 0..1 に正規化するだけで、テクスチャ座標を取得できます。

このテクスチャ座標を使用すると、テクスチャを均一に通過する色を取得できます。

私はそれが明確であなたの質問を満たすことを願っていますが、明確化も喜んで見ます.

于 2015-12-26T13:00:13.087 に答える