我有个像素着色器,我想计算在我的世界空间坐标方面每一个像素的位置。 我会怎么做呢? 什么会我需要什么?
我有一个ps_input
具有个float4持仓结构: SV_POSITION
。 我假设这是很重要的,但里面存储的值似乎是一种有趣的。
我似乎无法找出它们涉及到什么。 例如,如果一个像素是2D,怎么就对此事AW组件,或az组件?
我使用DirectX
和像素着色器是在HLSL
。 C++
的CPU在我的编程语言。
任何帮助,将不胜感激。
我有个像素着色器,我想计算在我的世界空间坐标方面每一个像素的位置。 我会怎么做呢? 什么会我需要什么?
我有一个ps_input
具有个float4持仓结构: SV_POSITION
。 我假设这是很重要的,但里面存储的值似乎是一种有趣的。
我似乎无法找出它们涉及到什么。 例如,如果一个像素是2D,怎么就对此事AW组件,或az组件?
我使用DirectX
和像素着色器是在HLSL
。 C++
的CPU在我的编程语言。
任何帮助,将不胜感激。
如果我记得这个正确,SV_POSITION只有0-> w ^ 0-> H,那么它描述它是在屏幕上。 本网站包含更多的信息: http://msdn.microsoft.com/en-us/library/windows/desktop/bb509647(v=vs.85).aspx
为了让像素到世界空间,你改变你的pixelcordinate回worlspace。 it'sa有点棘手与数学和所有的(我认为这是!),但这篇文章应该帮助你! http://jcoluna.wordpress.com/2011/01/27/reconstructing-view-space-position-from-depth/
其他明智的搜索像素viewspace。 我知道你想要的世界空间,但一切都转化为viewspace可能更快。