タグ付けされた質問 「materials」

4
マテリアルとシェーダーの違い
ゲームでは、マテリアルはオブジェクトの視覚的な外観にのみ影響を与えることがよくあります。視覚的な外観はシェーダーによって影響を受けます。では、用語に関して、マテリアルとシェーダーには違いがありますか?1つのマテリアルに対して1つのシェーダーを作成する必要がありますか?

1
グラフベースのマテリアルシステムで、さまざまな入力および出力タイプをどのようにサポートできますか?
私のようなどのように材料系のまわりで私の頭をラップしようとしているこの、これは実装されています。これらの強力でユーザーフレンドリーなグラフのようなシステムは、プログラマーと非プログラマーの両方がシェーダーをすばやく作成できるようにする方法として比較的一般的であるようです。ただし、グラフィックスプログラミングの私の比較的限られた経験から、私はそれらがどのように機能するか完全にはわかりません。 バックグラウンド: そのため、以前に単純な OpenGLレンダリングシステムをプログラミングしたことがある場合は、通常、手動で作成した静的GLSLファイルからシェーダーを読み込み、コンパイル、リンクするMaterialクラスを作成します。また、通常、このクラスを、GLSLの統一変数にアクセスするための単純なラッパーとして作成します。簡単な例として、基本的な頂点シェーダーとフラグメントシェーダーがあり、テクスチャを渡すための追加の均一なTexture2Dがあるとします。私のMaterialクラスは、これら2つのシェーダーをマテリアルに読み込んでコンパイルし、その時点から、そのシェーダーのTexture2Dユニフォームを読み書きするための単純なインターフェイスを公開します。 このシステムをもう少し柔軟にするために、私は通常、任意の名前/タイプのユニフォームを渡すことができるようにシステムを記述します[ie:SetUniform_Vec4( "AmbientColor"、colorVec4);]。これは均一な材料中に存在する場合、「colorVec4」と呼ばれる特定の4DベクトルにAmbientColorを均一に設定します。]。 class Material { private: int shaderID; string vertShaderPath; string fragSahderPath; void loadShaderFiles(); //load shaders from files at internal paths. void buildMaterial(); //link, compile, buffer with OpenGL, etc. public: void SetGenericUniform( string uniformName, int param ); void SetGenericUniform( string uniformName, float param ); void SetGenericUniform( …

1
異なる材料の光反射率値のリストまたはデータベースはどこで入手できますか?
WebGLアプリにライティングを実装していますが、私はアーティストではないので、マテリアルのリスト(拡散、鏡面反射光、アンビエント、光沢)を生成する方法やマテリアルのリストを取得する場所がわかりません。私はたくさん検索しましたが、運がありませんでした。 見落とした可能性のあるリストまたはDBはありますか?一般的なリポジトリまたは同様の何か? 前もって感謝します。 注:英語は私の主な言語ではありません。何かを理解できない場合はお知らせください。言い換えます。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.