Android OpenGL ES 2-混合似乎总是可加的

用户名

我的混合似乎无法在Android的OpenGL ES 2中正常工作。我所拥有的是带有Alpha通道的纹理,希望与相应的Alpha一起出现。即使顶部绘制的对象的alpha为1.0,混合也会显示为加性。在片段着色器中,我为alpha值硬编码为1.0,并意识到它似乎在使用color而不是alpha值。

例如,它看起来像这样: 在此处输入图片说明

代替这个: 在此处输入图片说明

我以正确的顺序绘制,在此示例中,蓝色应在灰色正方形的顶部完全不透明。我尝试了多种混合模式(一个,一个),(alpha,alpha)等,多个绘制顺序,并使用和不使用深度测试。我尝试使用随机混合模式会产生不正确的结果,因此设置混合时,混合模式会发生变化。

我相信问题在于opengl正在混合添加剂颜色。(Alpha,Alpha)对我来说很有意义,当我在着色器中将alpha显式设置为1.0时,我想我会得到一个上面带有蓝色圆圈的正方形(纹理投射到的实际形状)。这没有发生,使我感到困惑,我想我对sfactor和dfactor混合功能还不够了解。

克莱蒙哥马利

您是否正在使用Android Bitmap类加载纹理?

在Android上使用GLUtils.texImage2D()从位图加载alpha纹理已损坏。这是Google确实应该更好地记录的问题。问题是Bitmap类将所有图像转换为预乘格式,但是除非图像完全不透明,否则它不适用于OpenGL ES。

本文提供有关此点击此处的更多详细信息

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Android OpenGL ES 2-混合似乎总是可加的

来自分类Dev

Android OpenGL ES 2.0纹理设置似乎不起作用

来自分类Dev

Android openGL ES2rotateMM翻转角度

来自分类Dev

Android上的OpenGL ES 2:如何使用VBO

来自分类Dev

Android Opengl ES2,颜色代替纹理中的位图

来自分类Dev

旋转了Android OpenGL ES 2纹理象限

来自分类Dev

多个OpenGL ES 2 Android渲染器

来自分类Dev

OpenGL es 2中的顶点。适用于Android的Java

来自分类Dev

Android上的OpenGL ES 2:如何使用VBO

来自分类Dev

Android OpenGL ES2。0VBO无法渲染

来自分类Dev

Android openGL ES2rotateMM翻转角度

来自分类Dev

Android OpenGL ES 2:如何在主活动中将OpenGL活动用作片段

来自分类Dev

Android OpenGL ES 2:如何在主活动中将OpenGL活动用作片段

来自分类Dev

Android Surfaceflinger和openGL ES

来自分类Dev

Android OpenGL ES无法绘图

来自分类Dev

opengl es 2.0 alpha混合

来自分类Dev

关于OpenGL ES 2的问题

来自分类Dev

Android NDK SDL2 OpenGL ES 2阴影映射(定向)-可能吗?

来自分类Dev

Android NDK C ++ openGL ES 2上下文显示不正确

来自分类Dev

使用OpenGL ES 2时Android上纹理中的黑色Alpha

来自分类Dev

金字塔在android opengl ES2下渲染期间变形

来自分类Dev

OpenGL ES 2:使用其他纹理单元将此图像与当前图像单元混合

来自分类Dev

Android-OpenGL:称为未实现的OpenGL ES API

来自分类Dev

iOS和Android的OpenGL ES差异

来自分类Dev

Android OpenGL ES以宽高比全屏显示图像

来自分类Dev

android opengl-es-2.0-rotationM说明

来自分类Dev

Android何时支持OpenGL ES 3.1?

来自分类Dev

Android OpenGL ES 2.0实时变色

来自分类Dev

Android OpenGL ES 2.0:未显示文本