什么是将世界空间中定义的表面法线转换为屏幕空间中法线的适当方法?我认为它们不能简单地乘以投影矩阵,因为透视除法将事物转换为剪辑空间,并且据我所知,在此空间中,与图像平面共面的平面保持共面。但我正在寻找的转换应该导致变换后的法线不同,如图A中所示的蓝色世界法线应该产生不同的屏幕空间法线(因为即使它们的平面与图像平面共面,它们也没有面向相机) - 另一方面,图B中所示的法线在变换后应该是(或多或少)相等的,因为它们的表面朝向相机。
我需要的是什么变换?如何计算?
我需要这个来实现一些屏幕空间特效。
我需要这个来实现一些屏幕空间特效。