2

OpenGLで金属(銀など)のマテリアルを設定するには? 誰でも知っていますか?

4

4 に答える 4

7

OpenGLで金属(銀など)のマテリアルを設定するには? 誰でも知っていますか?

マテリアルを「ちょっと」金属のように見せたい場合は、対応するディフューズ、アンビエント、スペキュラ、および「光沢」パラメータを設定する必要があります。Blenderなどの 3D エディター用の既存のマテリアル ライブラリを調べて、その方法を確認できます。それは安いですが、それはまた安っぽく見えます。通常、GL_SHININESS 値が低いマテリアル (3..12 だと思いますか?) は、金属面のように「ちょっと」見えます。

マテリアルをより金属のように見せたいが、特定の照明条件の下では、シルバーのフォトリアリスティック テクスチャを使用するピクセル シェーダーと、鏡面反射光の色と強度を制御する追加のテクスチャ マップを作成する必要があります。照明条件が慎重に選択されている限り、優れたテクスチャを使用すると、恐ろしく簡単なシェーダーを使用することができます。これには、GLSL の知識を持つプログラマーとテクスチャを作成する優れたアーティストが必要であり、アーティストはより重要になります。ピクセルごとの phong のような非金属シェーダーでさえ、望みどおりに見えるように手動で微調整できます (プロセスは退屈かもしれません)。そして面倒)。シェーダー自体は、スペキュラー (任意のスペキュラー)、法線マッピングのサポート、および環境反射マッピング (フレネル用語のサポートあり) を使用したピクセル単位の照明のみを必要とします。反射の弱い研磨面に HDR を使用することも役立ちます。

REAL と PERFECT のシルバーが必要な場合は、問題が発生しており、再考する必要があります。金属面には「ぼやけた」反射があり、ハードウェアによってはすぐに実装するのが面倒な場合があります。もう 1 つの問題は、金属自体をかなり研究し、そこに存在するすべての金属表面のデモをチェックし、GDC の論文を読むなどしなければならないことです。つまり、調査を行いますが、これには多くの時間と労力がかかります。最終結果がひどいパフォーマンスになる可能性が非常に高いため、最終的には報われます。重要なことは、見た目を正しくするために実際の素材をシミュレートする必要はないということです。見る人を騙して、これが銀であると思わせる必要があります。

于 2012-04-22T06:34:43.853 に答える
5

このサイトをチェックすると、シルバーを含むさまざまなマテリアルを模倣するように設計されたさまざまなマテリアル設定の選択を見つけることができます. ただし、他の人がコメントで言っているように、OpenGL がこのようなマテリアル設定を使用して行うフォン シェーディングは、現実世界の特定の物質、特に銀のような反射物質を現実的な方法でレンダリングするのに苦労することを覚えておいてください。しかし、そのサイトのマテリアル設定は、少なくとも最初の概算では、シルバーのようなものを提供するはずです. (光沢を 128 倍することについての最後のメモを必ずキャッチしてください)

于 2012-04-22T05:47:41.963 に答える