トップページ > 記事閲覧
MetallicMapやRoughnessMapを使いたい
名前:しま 日時: 2022/07/15 15:58

ご無沙汰しております シェーダーを利用してPBRを実装しようと考えています。 マテリアルごとに設定されたMetallicMapやRoughnessMapをシェーダー上で扱いたいのですが、SetUseTextureToShaderですと、複数マテリアルがある場合にシェーダー上で描画するマテリアルが変わっても転送されるテクスチャが固定となってしまいます マテリアルごとにテクスチャ設定できるような関数、もしくはDxLibModelViewer上でMV1形式にそのようなテクスチャを設定できる項目はありますでしょうか?
メンテ

Page: 1 |

Re: MetallicMapやRoughnessMapを使いたい ( No.1 )
名前:管理人 日時:2022/07/16 02:17

> マテリアルごとにテクスチャ設定できるような関数、もしくはDxLibModelViewer上でMV1形式にそのようなテクスチャを設定できる項目はありますでしょうか? すみません、DXライブラリにはどちらもありませんが、モデルの描画に MV1DrawMesh を使用することで現状でもマテリアル毎に SetUseTextureToShader でテクスチャを切り替えることが可能です // メッシュの数だけ繰り返してメッシュ毎に描画する int MeshNum = MV1GetMeshNum( ModelHandle ); for( int i = 0; i < MeshNum; i++ ) { int Texture = -1; // メッシュに割り当てられているマテリアルによって使用するテクスチャを変更する switch( MV1GetMeshMaterial( i ) ) { case 0: Texture = EffectTexture1; break; case 1: Texture = EffectTexture3; break; case 2: Texture = EffectTexture5; break; } if( Texture != -1 ) { // シェーダーで使用するテクスチャを変更 SetUseTextureToShader( 4, Texture ); } // メッシュを描画 MV1DrawMesh( ModelHandle, i ); } よろしければお試しください m(_ _)m
メンテ
Re: MetallicMapやRoughnessMapを使いたい ( No.2 )
名前:しま(解決済) 日時:2022/07/19 14:09

了解致しました。別でちゃんと管理する仕組みを作らなければならないので、少々手間ですがやってみたいと思います。 ありがとうございました。
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存