OpenGL 延迟渲染 正面、背面剔除

在学习延迟渲染光照处理的过程中,突然发觉对OpenGL的正面、背面剔除的理解是错误的。一张纸(一个平面)有两个面(正面,背面),当开启剔除的时候,把这个面绕某一轴旋转,这个面会呈现一隐一现的间隔,好像是把一个面(一个平面的正面或背面)剔除了没有进行渲染,这种理解是错误的,其实是把这整个平面进行了剔除。

以画线的形式渲染一个立方体进行验证:

1 禁用剔除:

	glDisable(GL_CULL_FACE);
	glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);

在这里插入图片描述
2 剔除正面

	glEnable(GL_CULL_FACE);
	glCullFace(GL_FRONT);
	glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);


因为视角的关系,只剔除了两个面。

3 背面剔除

	glEnable(GL_CULL_FACE);
	glCullFace(GL_BACK);
	glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);

在这里插入图片描述
只把正面剔除时,剔除掉的两个面渲染了出来。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值