光栅化过程的原理你没有搞清楚。
为什么GPU必须要处理三角形面片,而不是四边形面片。
最重要的原因就是:可以通过叉积判断一个点是不是在三角形内部
在光栅化时,会遍历所有像素,这个像素在哪个三角形内,根据这个三角形的颜色属性等,通过brdf模型或者其他的模型来给这个像素赋值。在fragment shader里面,可以更灵活的编程处理这个赋值过程。
所以你说的什么四边形,什么共面,根本就不可能存在。
【 在 seeeU 的大作中提到: 】
: 谢谢
: 但是存储的位置坐标都是浮点值,实际在程序里算出来两个向量都是float格式,数值是近似出来的,可能在数学上不一定完全平行吧?可能会差一点点。会有这种情况吗?这时候如何处理呢,只要是二者叉积结果小于一定的阈值就判定是平行的?前面 @sjtuDNA 也这样说过。
: 那么问题又来了:如果是要通过一个小的阈值来判断的话,那程序实际是无法区分两个三角形是真正完全共面的,还是说二者间有一个非常非常小的角度,因为两种情况下都会使得两个法向量的叉乘结果小于这个很小的阈值。那么是否能说实际工程角度而言,其实是无法真正判断数学上的共面是否确实为真(除非这n个点的x、y、z三分量中的某一个分量数值完全相等)。
: ...................
--
FROM 124.127.210.*