对opengl模板缓冲原理小感

本文旨在帮助理解OpenGL模板缓冲的工作原理,通过代码示例解释模板如何控制像素的可见性。首先,使用glClearStencil初始化模板值为0,然后启用模板测试。接着,通过glStencilFunc和glStencilOp设置规则,使得线条绘制时模板值递增,形成不透明区域。最后,改变测试条件,使得模板值为1的区域变为透明,允许其他颜色显示,从而实现特定形状的遮罩效果。
摘要由CSDN通过智能技术生成
 

这篇文章是针对在你看了书本或者其他资料对opengl模板原理的一般性介绍后但又不理解模板到底是怎么工作的情况而写的,所有相关函数的原型及参数不再做详细介绍。

 opengl的模板就像是挡在屏幕前的一块挡板,如果挡板是透明的,则可以看到整个屏幕的图像,如果是部分透明部分不透明,则只可以看到透明部分的屏幕图像。

为了抛弃书本或其他叙述性文字的笼统介绍,这里从代码解析角度分析,相信更能让人明白模板的原理:

 

 glClearStencil(0.0f);

 

 glEnable(GL_STENCIL_TEST);

 glClear(GL_COLOR_BUFFER_BIT|GL_STENCIL_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);

 

 glStencilFunc(GL_NEVER,0x0,0x0);

 glStencilOp(GL_INCR,GL_INCR,GL_INCR);//

 

 

 glColor3f(1.0f,1.0f,1.0f);

 glBegin(GL_LINE_STRIP);

 for (dAngel=0;dAngel<380.0;dAngel+=0.1)

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值