私はoptixとcudaに非常に慣れていません。Optix SDK の例を変更して、レイ トレーシングを使用して 3D モデルを表示しようとしています。「progressivePhotonMap」の例を修正しました。optix/cuda の知識が不足しているため、3D モデルにテクスチャを描画する方法がわかりません。SDK の例に詳しい方が助けてくれますか?
「swimmingShark」や「cook」などの他の描画テクスチャの例を読み、使用する手がかりを見つけようとします。ただし、これらの例では、テクスチャの描画方法が異なるようです。
これからは、テクスチャを cpp ファイルにロードする必要があることを知っています
GeometryInstance instance = m_context->createGeometryInstance( mesh, &m_material, &m_material+1 );
instance["diffuse_map"]->setTextureSampler(loadTexture( m_context, ... );
cudaファイルにTextureSamplerを作成します
rtTextureSampler<float4, 2> diffuse_map; // Corresponds to OBJ mtl params
、そして、このように描画するためのテクスコードを与えます。
float3 Kd = make_float3( tex2D( diffuse_map, texcoord.x*diffuse_map_scale, texcoord.y*diffuse_map_scale ) );
ただし、texcoord が cuda ファイルのテクスチャ座標データを取得する場所が見つかりません。.cpp ファイルにこのようなコードがあるはずです
GI["texcoord"]->setBuffer(texcoord)
texcoord がテクスチャ座標データを取得する場所と、座標データとテクスチャを一致させて 3D モデルをレイ トレーシングで表示する方法を教えてもらえますか? Google でチュートリアルが見つかりません。目標を達成するために、助けや指示が本当に必要です。ありがとうございました。