问题标签 [glblendfunc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
235 浏览

cocos2d-iphone - cocos2d。正确混合?

我修改了标准示例“Hello World”:

我有:

图片 在此处输入图像描述

如何删除/剪切“Hello World”标签周围的背景?

0 投票
1 回答
455 浏览

opengl - OpenGL 的 glBlendFunc

OpenGL 的 glBlendFunc 中有没有办法放大目标 RGB?(即(10,50,5)到(20,100,10)

看来您唯一能做的就是添加源 rgb(乘以 <1 的一些因素)

0 投票
1 回答
504 浏览

opengl - OpenGL - glBlendFunc

我一直试图找到 glBlendFunc 内部工作背后的一些具体数学。

澄清一下,我知道混合方程是:

srcChannels * srcFactor + dstChannels * dstFactor = channelsRendered。

我的问题是,srcChannels、dstChannels 和 channelsRendered 是 3-vector (r,g,b) 还是 4-vector (r,g,b,a)?

由于 (0.2, 0.2, 0.2, 1.0) 和 (1.0, 1.0, 1.0, 0.2) 看起来应该相同,因此这里可能存在歧义。

0 投票
1 回答
1992 浏览

cocos2d-iphone - Cocos2dx CCRendertexture 和 framebuffer 对象问题。我的新纹理看起来不一样。Alpha 值不正确

我在尝试将 Cocos2Dx 中的 CCRenderTexture 类用于 iPhone 时遇到了一些问题(据我所知,它只是一个 FBO 类)。

我有一个派生自 CCSprite 的类。在其中,我尝试将纹理绘制到 CCrenderTexture,然后将其保存以备后用。但是,我注意到我的新纹理中的 alpha 值似乎已经增强了。我的新纹理看起来比原始纹理更褪色,它似乎只影响 alpha 小于 1.0 的像素。

这是我正在使用的代码:

作为测试,我将上面的代码连续运行了 4 次。每一次,质地似乎都淡化了一点。但我期望它每次看起来都一样。

我采取的下一步是替换ccGLBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA)ccGLBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA) 似乎解决了我的问题,因为无论我运行多少次,生成的纹理看起来都是一样的。但是,我还在此纹理上运行自定义片段着色器(着色器未显示,并且在此测试期间未运行)并且它需要ccGLBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA)正常工作。

经过一番研究,我尝试ccGLBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA)glBlendFuncSeparate(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA,GL_ONE, GL_SRC_ALPHA). 我希望这将保持我的 alpha 水平,同时改变颜色值。不幸的是,这产生了相反的效果,似乎实际上使 alpha 变暗,导致纹理变暗。

这是我的三个测试的图片。这个比基尼底部资产很容易看到效果;)

在此处输入图像描述

有人能告诉我我做错了什么以及是什么导致了这些影响吗?是我的BlendFunc吗?我需要能够CCRenderTexture连续多次绘制到(或 FBO),并且我不希望对图像产生任何不良影响。我还需要使用我的着色器......所以ccGLBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA)不起作用......

任何帮助表示赞赏!提前致谢!

0 投票
1 回答
616 浏览

opengl - 使用多个 blendfunc OpenGL

我想用

同时。这可能吗?

0 投票
1 回答
1203 浏览

opengl - glPoint Alpha 混合问题

我在 alpha 混合 glPoints 时遇到问题。当 glPoint 在背景上时,alpha 混合正常工作,但是当 glPoint 与另一个 glPoint 重叠时,背景颜色可见,而不是底层 glPoint。

在此处输入图像描述

我究竟做错了什么?

0 投票
0 回答
78 浏览

ios - 现实生活中的油漆 GLBlenFunc

什么 GLBlendFunc 可以解决这个问题?

我目前正在使用:
glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA);

我希望绘画应用程序像真正的绘画一样表现,但似乎当使用较低不透明度的颜色时,它不会在纯白色上绘画。

这是我的例子 在此处输入图像描述

我所期待的是,在第 3 步中,即使不透明度为 0.1 而不是 1.0,浅粉色油漆仍会在之前的白色笔触上轻轻绘制

我希望它能够表现其他绘画应用程序。这些示例来自 Photoshop。 在此处输入图像描述

0 投票
1 回答
1570 浏览

opengl-es-2.0 - OpenGL ES 2.0 混合

我将 glBlendFunc 设置为

出于测试目的,我在片段着色器中设置颜色,如下所示

对象不应该是完全透明的吗?如果不是,可能是什么原因?

0 投票
0 回答
823 浏览

opengl - glBlendFunc 和帧缓冲区对象

当我绘制到帧缓冲区对象时,Alpha 混合没有按预期工作。具体来说,调用 glBlendFunc 对帧缓冲区中的像素没有影响。我在使用glReadPixels. 以下调用glBlendFunc*产生相同的结果:

这是我的绘制代码:

输出(对于 GL_ZERO、GL_ONE 的两个订单):

我显然在使用旧的 GL 代码。以前,上下文创建将版本限制为 1.1。现在版本是 4.4,我请求兼容性配置文件。

这里有什么问题?如何使用 Alpha 混合?

0 投票
1 回答
509 浏览

opengl-es - 自定义混合模式

我并没有真正glBlendFunc()了解该功能及其工作原理。

是否有一种混合模式可以让目标黑色变为黑色,同时覆盖任何其他 dst 颜色?

我有一个包含着色边缘和形状的黑白画布。我想在画布上的任何地方画一个画笔,但不要覆盖边缘,这样一旦图像完全着色,它们就会保持黑色。理想情况下,由于目标边缘周围有一些灰色以保持平滑,灰色阴影将被画笔颜色着色。

谢谢!