草庐IT

glBlendFunc

全部标签

c++ - glBlendFunc() 的负色?

我希望我的线条用负色绘制(从线条下方的屏幕上获取),我只是不明白混合是如何工作的,看了文档等,测试了50种组合等等。开始认为这根本不可能......谁能给出这两个值? 最佳答案 画一条白线并使用glBlendFunc(GL_ONE_MINUS_DST_COLOR,GL_ZERO);不要忘记启用GL_BLEND 关于c++-glBlendFunc()的负色?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.co

objective-c - OpenGL ES 混合功能,因此颜色始终显示在背景上

我正在使用OpenGLES1.1在我的iPad应用程序中绘制线条。我想确保无论背景颜色如何,绘制的线条在屏幕上始终可见,并且不允许用户选择颜色。是否有混合功能可以产生这种效果?因此,所绘制线条的颜色将根据其下方已绘制的颜色而变化,因此始终可见。 最佳答案 遗憾的是,将片段最终混合到帧缓冲区中仍然是固定功能。此外glLogicOp没有在ES中实现,所以你不能做一些像XOR绘图这样便宜的事情。我认为最终效果是:您希望输出颜色是帧缓冲区中已有颜色的自定义函数;但帧缓冲区无法在着色器中读取(它会破坏管道并导致并发问题)。因此,您将不得不实现

android - 为什么透明度在 Android 2.3.5 上的 LibGdx 中不起作用?

我在使用LibGdx开发3DAndroid应用时遇到了麻烦。我在回答中简要提到了它tomyownquestion,但我一直无法弄清楚为什么我无法从.png图像中获得透明度。纹理是透明的,我已经检查了我在Windows上的OpenGL3+框架,它们在正确的部分显示透明。我的(简单占位符)fragment着色器代码以以下结尾:vec4finalColor=ambient+diffuse;finalColor.a=colorMap.a;gl_FragColor=finalColor;我已经尝试过finalColor.a=0.1;但它不起作用。我已将此添加到我的代码中但无济于事:Gdx.gl2

opengl-es - 为什么 OpenGL 混合在 HTC Desire 上不起作用?

有谁知道如何在HTCDesire上启用OpenGL(android)中的混合。我正在尝试绘制彩色三角形并使用颜色缓冲区的alpha值将它们与背景(或另一个三角形)混合。它既适用于模拟器(2.1)也适用于htchero2.1,但不适用于2.2。导致这种情况的英雄和愿望之间是否存在某种硬件差异?代码中的主要内容是(不按顺序):gl.glClear(GL10.GL_COLOR_BUFFER_BIT|GL10.GL_DEPTH_BUFFER_BIT);gl.glEnable(GL10.GL_BLEND);gl.glBlendFunc(GL10.GL_SRC_ALPHA,GL10.GL_ONE_

ios - 为什么 glBlendFunc() 在我的 OpenGL ES 2.0 应用程序中没有执行任何操作?

我正在绘制非纹理三角形,其alpha在像素着色器中被明确设置为0.5以用于测试目的。我的应用程序基于Xcode提供的OpenglES预制件。我没有触及我的EAGLView类。我打电话glEnable(GL_ALPHA)glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SC_ALPHA)glDrawArrays(...)我的clearColor是0,0,0,1,CAEAGLayer的格式是RGBA8。我看到的结果是没有发生任何类型的混合,绘制的像素只是替换了下面的内容。我也尝试过使用GL_ONE,GL_ONE。我试图将我的CAEAGLayer的不透明属性设置为f

ruby - Opengl, ruby ,glBlendFunc : place transparent images on top of each others as if it was opaque

我不确定glBlendFunc是否是解决我问题的好函数,但我认为我会需要它!这是我的问题:你看到右边那两棵松树的倒影了吗?我想要这样的东西:然后,我需要一种方法来显示与不透明图像相同的显示,但具有透明图像。glBlendFunc中有没有特殊的组合,或者我应该通过其他方式进行? 最佳答案 我认为纯粹的混合方法行不通。如果你有两个重叠的树反射,第一个在渲染后与水混合。当您绘制第二棵树时,您可能只想将第二棵树与水混合。但是帧缓冲区中水的颜色已经与第一棵树混合,因此单独的水色不再存在于帧缓冲区中。我想到了三种方法:将所有树反射绘制到FBO中