gpt4 book ai didi

iphone - ISGL3D 透明度问题

转载 作者:行者123 更新时间:2023-12-03 20:52:26 26 4
gpt4 key购买 nike

我正在使用 isgl3d 框架运行一个 iOS 项目来显示 pod 文件。

我有一辆带有 0.5 alpha 窗口的时尚汽车,我希望在相机背景上渲染它,寻求一些增强现实的优点。

窗口上的 Alpha 看起来不错,但当我添加对象时,我注意到它透明地渲染了窗口所在的整个对象。包括汽车内部。

像这样(例如,可以通过仪表板、座椅等看到键盘。应该是实心的)

bad car is bad

汽车内饰是一个 alpha 1.0 的独立对象。

我不想在我的项目中展示“幽灵车”,但我还没有找到解决这个问题的方法。

有人遇到过同样的问题并最终找到解决方案吗?

已解决:感谢黛米的回答。这是最终的代码:

// Render opaque objects
[_scene render:renderer opaque:true];

// First planar shadow pass (if needed)
[self renderPlanarShadows:renderer];

// Render transparent objects
glColorMask(1, 1, 1, 0);
if (_zSortingEnabled) {
[_scene renderZSortedAlphaObjects:renderer viewMatrix:&viewMatrix];

} else {
[_scene render:renderer opaque:true];
}
glColorMask(1, 1, 1, 1);

最佳答案

问题:您的玻璃重写了 Alpha channel 。绘制汽车玻璃时不要修改。使用 glColorMask(1, 1, 1, 0) 绘制透明项目时,禁止写入颜色缓冲区的 Alpha channel 。透明绘制后不要忘记恢复:glColorMask(1, 1, 1, 1)!!!

关于iphone - ISGL3D 透明度问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10450680/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com