Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Directx 识别深度测试中检查的多边形(DX11)_Directx_Depth Buffer_Stencil Buffer - Fatal编程技术网

Directx 识别深度测试中检查的多边形(DX11)

Directx 识别深度测试中检查的多边形(DX11),directx,depth-buffer,stencil-buffer,Directx,Depth Buffer,Stencil Buffer,我是图形编程领域相当极端的新手,所以如果这个问题有一个明显的答案,请原谅我,但我还没有找到答案 在DirectX 11中执行深度测试时,如何确定在任何给定时间测试的三角形?我试图手动告诉深度测试失败,除非通过特定多边形查看特定多边形,即,您只能通过一个曲面看到一组几何体,并且只能通过另一个曲面看到另一组几何体 我想真正的问题是,当测试像素时,系统如何引用该像素位置、颜色等的数据。?是不是有什么东西我完全忽略了 就目前而言,我对更大问题的替代解决方案不感兴趣,只对这个特定问题的答案感兴趣。谢谢你的

我是图形编程领域相当极端的新手,所以如果这个问题有一个明显的答案,请原谅我,但我还没有找到答案

在DirectX 11中执行深度测试时,如何确定在任何给定时间测试的三角形?我试图手动告诉深度测试失败,除非通过特定多边形查看特定多边形,即,您只能通过一个曲面看到一组几何体,并且只能通过另一个曲面看到另一组几何体

我想真正的问题是,当测试像素时,系统如何引用该像素位置、颜色等的数据。?是不是有什么东西我完全忽略了


就目前而言,我对更大问题的替代解决方案不感兴趣,只对这个特定问题的答案感兴趣。谢谢你的帮助

我不确定我是否正确理解了这一点。深度测试中没有三角形,它在像素级工作。在转到“像素着色器”之前,它会检查当前像素是否位于写入的像素之前。在这种情况下,它会在pixel shader.taytay正确之前丢弃像素。您不能使用深度测试来屏蔽屏幕上的某些区域,至少您不应该这样做。这就是模具缓冲区的作用。与深度测试类似,模具测试在像素着色器之前执行,并允许您决定是否基于模具丢弃像素。因此,将遮罩几何体渲染到模具缓冲区,更改模具状态,并渲染几何体以在模具缓冲区中标记的像素处查看。