这个问题可能看起来很简单,但我找不到 HLSL 如何处理自己的坐标系。
我只想知道 (0,0) 在哪里(左上角或左下角),而且由于我是这些着色器概念的初学者,我无法自己推断
谢谢你的帮助!
在顶点着色器中,您可以使用多个坐标系或空间...
通常你的顶点数据到达世界坐标......
然后顶点数据由WordViewProjection矩阵转换,从世界坐标转换为齐次投影坐标,这是顶点着色器中返回的值......
如果顶点在屏幕内,如果你将 x 和 y 坐标除以 w 分量,你会得到一个范围内的点(-1..1,-1..1)......我不确定但我认为 (-1,-1) 是左上角......你只需要测试它
您可以将两个三角形发送到图形卡,这些三角形代表屏幕角在此空间中的四边形 (-1,-1,0), (1,-1,0), (1,1,0), (-1, 1,0),这样您就不需要通过任何矩阵来转换顶点数据。
你还没有解释你想做什么......但我想你想做一个后期处理......
如果是这种情况...您可以使用纹理坐标在像素着色器中工作...这样左上点将是(0,0),右下点将是(1,1)
在这里您可以找到代码和扩展说明:http ://ploobs.com.br/?p=1092