有没有办法使用OpenGL或DirectX跟踪顶点和像素之间的关系?11

0 opengl directx 3d

我想知道是否有办法生成3D对象的单个静态图像(1个单个对象表示为三角形列表),使用OpenGL或DirectX,可以让您知道定义对象的特定三角形已被使用生成形成渲染图像的每个像素.我引用了OpenGL和DirectX,因为它们是广泛使用的API图形,如果有人知道实现以前高速工作的其他方法我也会对他/她的答案感兴趣.我目前使用我自己的渲染管道软件实现来跟踪关系,但我想使用图形卡提供的功能和效果(主要是抗锯齿,阴影和特定的皮肤渲染技术).

非常感谢您的帮助

kus*_*sma 5

当然,只需将三角形标识符输出到单独的渲染目标(使用MRT).在GLSL术语中,这是gl_PrimitiveID,在HLSL术语中,它是SV_PrimitiveID.如果使用多次采样,则该渲染目标的多样本缓冲区将成为对每个像素有贡献的基元列表.