《高效学习OpenGL》之 其他裁剪平面 glClipPlane()

	  void glClipPlane (GLenum plane, const GLdouble *equation);
  	 //定义一个裁剪平面,equation参数指向平面方程Ax+By+Cz+D=0的4个系数,所有不是位于这个半空间的点都将被删除掉,
  	 //plane参数是GL_CLIP_PLANEi,其中i是一个整数,表示需要定义那个有效裁剪截面,i的值位于0和5之间

实例

void display(void)
{
   GLdouble eqn[4] = {0.0, 1.0, 0.0, 0.0};
   GLdouble eqn2[4] = {1.0, 0.0, 0.0, 0.0};

   glClear(GL_COLOR_BUFFER_BIT);

   glColor3f (1.0, 1.0, 0.0);
   glPushMatrix();
   glTranslatef (0.0, 0.0, -5.0);//移动模型

/*    clip lower half -- y < 0          */
   glClipPlane (GL_CLIP_PLANE0, eqn);//裁剪平面 y < 0
   glEnable (GL_CLIP_PLANE0);//使截面有效
/*    clip left half -- x < 0           */
   glClipPlane (GL_CLIP_PLANE1, eqn2);//裁剪平面 x < 0
   glEnable (GL_CLIP_PLANE1);

   glRotatef (90.0, 1.0, 0.0, 0.0);//旋转圆体
   glutWireSphere(1.0, 20, 16);//画圆体
   glPopMatrix();

   glFlush ();
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

虚坏叔叔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值