Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.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
OpenGL管道中的裁剪空间_Opengl_Graphics_Matrix_Pipeline_Clipping - Fatal编程技术网

OpenGL管道中的裁剪空间

OpenGL管道中的裁剪空间,opengl,graphics,matrix,pipeline,clipping,Opengl,Graphics,Matrix,Pipeline,Clipping,在简化的解释中,剪裁和投影是如何工作的?它与规范化顶点和矩阵乘法有关,矩阵乘法涉及将x、y、z除以第四个变量。我很难理解到底发生了什么。这很简单。 剪裁是一种表示图元(点、线或三角形)是否可见的过程。(在modelview*投影矩阵变换后完成)如果三角形部分可见,则将三角形拆分为更多适合平截头体的三角形 剪裁完成后,我们需要规范化顶点(x、y、z、w)坐标,以便将它们投影到屏幕(窗口坐标)。这称为透视分割:新坐标为x,y,z,1=x/w,y/w,z/w,1。窗口坐标取决于视口设置,转换非常简单

在简化的解释中,剪裁和投影是如何工作的?它与规范化顶点和矩阵乘法有关,矩阵乘法涉及将x、y、z除以第四个变量。我很难理解到底发生了什么。

这很简单。 剪裁是一种表示图元(点、线或三角形)是否可见的过程。(在modelview*投影矩阵变换后完成)如果三角形部分可见,则将三角形拆分为更多适合平截头体的三角形

剪裁完成后,我们需要规范化顶点(x、y、z、w)坐标,以便将它们投影到屏幕(窗口坐标)。这称为透视分割:新坐标为
x,y,z,1=x/w,y/w,z/w,1
。窗口坐标取决于视口设置,转换非常简单

window_x = viewport_x + vertex_x * half_viewport_width + half_viewport_width;
window_y = viewport_y + vertex_y * half_viewport_height + half_viewport_height;
这很简单。 剪裁是一种表示图元(点、线或三角形)是否可见的过程。(在modelview*投影矩阵变换后完成)如果三角形部分可见,则将三角形拆分为更多适合平截头体的三角形

剪裁完成后,我们需要规范化顶点(x、y、z、w)坐标,以便将它们投影到屏幕(窗口坐标)。这称为透视分割:新坐标为
x,y,z,1=x/w,y/w,z/w,1
。窗口坐标取决于视口设置,转换非常简单

window_x = viewport_x + vertex_x * half_viewport_width + half_viewport_width;
window_y = viewport_y + vertex_y * half_viewport_height + half_viewport_height;

任何“简化解释”都不能使主体公正;要么正确解释,要么不正确。是适当的长和全面的。谢谢我将通读它。没有“简单的解释”可以公正的主题;要么正确解释,要么不正确。是适当的长和全面的。谢谢,我会通读它。