在 SDK 中的路径跟踪器示例中,我想添加一个 OBJ 文件进行跟踪,所以我转到了loadGeometry()
函数,在最后一次创建平行四边形之后,我添加了这个代码块
OptiXMesh mesh;
mesh.context = context;
loadMesh(mesh_file, mesh);
gis.push_back(mesh.geom_instance);
//setMaterial(gis.back(), diffuse, "diffuse_color", white);
请注意,这gis
是一个GeometryInstance
向量。
当我运行它时,显示窗口打开,然后立即关闭,我得到以下异常:
Exception thrown at 0x00007FFA2856A388 in optixPathTracer.exe: Microsoft C++ exception: optix::TypeMismatch at memory location 0x0000000E29EFF030.
Exception thrown at 0x00007FFA2856A388 in optixPathTracer.exe: Microsoft C++ exception: optix::Exception at memory location 0x0000000E29EFF5C0.
如果我注释掉修改后的代码块,它工作正常。
如何将 OBJ 文件加载到跟踪器?我需要在着色器/RT_PROGRAMs 端添加一些东西吗?预先感谢!
PS 我知道该loadMesh()
函数负责处理材料,但由于程序不起作用,我尝试设置一个材料,就像它为所有其他 GeometryInstances 显示的一样,如上面的代码块所示。