Advertisement

OpenGL编程指南9:clipping plane + matrix stack top push/pop operations

阅读量:

1.任意裁剪平面技术应用

在OpenGL系统中,除视景体所包含的立方体裁剪平面外,还可额外设定最多6个裁剪平面,从而对视景体进行更精确的约束。每个裁剪平面均依据平面方程进行定义,其形式为Ax+By+Cz+D = 0。具体而言,通过函数glClipPlane(GLenum plane,const GLdouble* equation)来设定裁剪平面。其中plane参数可取值范围为GL_CLIP_PLANE0至GL_CLIP_PLANE6,而equation则是一个包含4个元素的数组,依次对应A、B、C、D四个系数。最终,所有满足(A,B,C,D)M⁻¹(Xe,Ye,Ze,We)^T ≥0条件的点将被判定为处于由该平面所界定的半空间之内。如下图所示:

以下为具体实现的示例代码:

复制代码
>       1. #include <vgl.h>

>  
>       2.  
>  
>       3. void init(void)
>  
>       4. {
>  
>       5.   

全部评论 (0)

还没有任何评论哟~