2

頂点/フラグメントシェーダー、ポイントライト、減衰があります。このようなシェーダーを立方体の面に適用する必要があり、色のグラデーションの変化を確認する必要があります。高ポリメッシュを使用すると、すべてが非常にうまく機能し、効果私の目標は、この低ポリメッシュにグラデーションを付けることです。

これを実行しようとしましたgl_FragColor=vec4(n、1)n =通常ですが、サーフェスごとに単色になります。これが、グラデーションが表示されない理由になる可能性があります。

乾杯

4

1 に答える 1

0

あなたが観察しているのは正しい行動です。立方体は完全に平らなので、面の頂点ごとの法線は同じです。

ただし、フォン照明の計算では、フラグメントの位置も使用する必要があることに注意してください。フラグメントの位置は、指定された (サブ) 面の 3 つ (クワッドを使用する場合は 4 つ) の頂点間で補間されます。これを使用して、特定のフラグメントの位置におけるライトの位置と目のベクトルの間の角度を計算できます。

私は最近同様の問題を経験しましたが、フラットでないものを見たい場合は、立方体が本当に輝く必要があることがわかりました。文字通りの意味です。光沢を適度に高い値 (250 ~ 500) に設定します。あなたに直接反射している顔に焦点を合わせて動く光の点が見えるはずです。そうでない場合は、雷シェーダーが間違っている可能性があります。

于 2012-08-10T10:56:36.607 に答える