【OpenGL】混合

图片紫色框为下图

出问题了
深度缓冲:不关心片段是否透明,只关心深度,在后面的自然被前面的遮挡;
由于这三个窗户的绘制顺序为:

std::vector<glm::vec3> vegetation;
	vegetation.push_back(glm::vec3(-1.5f, 0.0f, -0.48f));
	vegetation.push_back(glm::vec3(1.5f, 0.0f, 0.51f));
	vegetation.push_back(glm::vec3(0.0f, 0.0f, 0.7f));//最前面的
	vegetation.push_back(glm::vec3(-0.3f, 0.0f, -2.3f));//最后一层玻璃
	vegetation.push_back(glm::vec3(0.5f, 0.0f, -0.6f));//中间层玻璃

将绘制顺序改变一下:

std::vector<glm::vec3> vegetation;
	vegetation.push_back(glm::vec3(-1.5f, 0.0f, -0.48f));
	vegetation.push_back(glm::vec3(1.5f, 0.0f, 0.51f));
	vegetation.push_back(glm::vec3(-0.3f, 0.0f, -2.3f));//最后一层玻璃
	vegetation.push_back(glm::vec3(0.5f, 0.0f, -0.6f));//中间层玻璃
	vegetation.push_back(glm::vec3(0.0f, 0.0f, 0.7f));//最前面的

不管其他两块玻璃,就看这3块玻璃 观察z值,优先绘制后面的片段,就会避免这类问题。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值