gpt4 book ai didi

opengl-es - iPhone OpenGL ES : Applying a Depth Test on Textures that have transparent pixels for 2D game

转载 作者:行者123 更新时间:2023-12-01 19:36:13 25 4
gpt4 key购买 nike

目前,我为一款 2D 游戏开启了混合和深度测试。当我绘制我的纹理时,如果它们相交,“上部”纹理会删除部分下部纹理。显然,深度测试考虑了纹理的透明像素,如果它们相交,它会清除绘制的较低纹理的所有颜色。此外,alpha 混合渲染不正确。是否有任何类型的函数可以告诉 OpenGL 不要将透明像素包含在深度测试中?

最佳答案

glEnable( GL_ALPHA_TEST );
glAlphaFunc( GL_EQUAL, 1.0f );

这将丢弃所有具有除完全不透明之外的任何 alpha 值的像素。然后,这些像素将不会渲染到 Z 缓冲区。但是,这确实会影响各种 Z-Buffer 管道优化,因此可能会导致一些严重的速度下降。只有在您真的也有时才使用它。

关于opengl-es - iPhone OpenGL ES : Applying a Depth Test on Textures that have transparent pixels for 2D game,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1320399/

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