用openGL中的glClipPlanef方法达到从cclayer中抠出矩形图效果

http://www.devdiv.com/home.php?mod=space&uid=23234&do=blog&id=3310

 

用openGL中的glClipPlanef方法达到效果

 

一个相关的链接

http://paulbourke.net/geometry/planeeq/

 

写visit方法

-(void)visit

{

 

[selfbeforeDraw];

[supervisit];

[selfafterDraw];

 

}

 

 

-(void)beforeDraw

{

 

float top = 210.0f;;

float bottom = -130.0f;

 

float left = -180.0f;

 

float right = 300.0f;

//不必修改下面的其他值,上述的常量可以在平面中抠出矩形块,bottom 和 left要为负数

//至于具体的原理,可以去查看openGL的书籍,上面有详细的介绍,这里,直接用就行

 

 

GLfloat planeTop[]   = {0.0f, -1.0f, 0.0f,top};

 

//1.0,y > 100

GLfloat planeBottom[] = {0.0f, 1.0f, 0.0f,bottom};

 

//

GLfloat planeLeft[]   = {1.0f, 0.0f, 0.0f, left};

 

 

GLfloat planeRight[]  = {-1.0f, 0.0f, 0.0f,right};

 

glClipPlanef(GL_CLIP_PLANE0, planeTop);

glClipPlanef(GL_CLIP_PLANE1, planeBottom);

glClipPlanef(GL_CLIP_PLANE2, planeLeft);

glClipPlanef(GL_CLIP_PLANE3, planeRight);

glEnable(GL_CLIP_PLANE0);

glEnable(GL_CLIP_PLANE1);

glEnable(GL_CLIP_PLANE2);

glEnable(GL_CLIP_PLANE3);


 

}


 

-(void)afterDraw

{

glDisable(GL_CLIP_PLANE0);

glDisable(GL_CLIP_PLANE1);

glDisable(GL_CLIP_PLANE2);

glDisable(GL_CLIP_PLANE3);

}

转载于:https://www.cnblogs.com/ligun123/archive/2011/12/02/2272094.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值