首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏落影的专栏

    OpenGL ES实践教程(八)blend混合与shader混合

    混合过程中可以通过glBlendFunc设定对应的混合方式,常见的混合模式如下: /* BlendingFactorDest */ #define GL_ZERO 的原型是 ``` void glBlendFunc(GLenum sfactor, GLenum dfactor); ``` [glBlendFunc](http://www.khronos.org /registry/OpenGL-Refpages/es2.0/xhtml/glBlendFunc.xml)的第两个参数分别是src因子和dst因子; src颜色指的是当前绘制颜色; dst颜色指的是当前已有颜色 ; 使用glBlendFunc,需要通过`glEnable`开启blend功能。 demo中使用的是 ``` glEnable(GL_BLEND); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); ``` 混合方式用数学公式来描述就是

    3.8K51发布于 2018-04-27
  • 来自专栏python3

    每天进步一点3

    蒙板就好像隔着雕花墙往里面看的效果一样 具体步骤:1雕花墙是一个纹理,墙体为彩色,镂空地方为黑色,预先给它生成一个一样的黑白纹理,使镂空的地方为白色,墙体为黑色 2.画墙内的景色 3 glBlendFuncglBlendFunc(GL_ONE, GL_ONE); 画雕花墙的纹理 画雕花墙镂空的地方为黑色,则使用原想色颜色,上步渲染中,镂空地方为原墙内景色。墙体部分 = 现颜色 + 第3步后的颜色。 3 偏移逆转图,计算纹理偏移量时,主要用到切空间的概念    a 由灯的位置减去当前顶点的位置,结果归一化得向量v,    b 把向量v投影到切空间    c 按向量v在切空间的投影偏移纹理坐标 4 glBlendFunc (GL_ONE,GL_ONE)贴逆转图 5 glBlendFunc(GL_DST_COLOR, GL_SRC_COLOR)贴原图

    43720发布于 2020-01-07
  • 来自专栏关键帧Keyframe

    OpenGL 颜色混合丨音视频基础

    glEnable(GL_BLEND); // 开启颜色混合 glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); // 设置颜色混合模式 glDisable (GL_BLEND); // 关闭颜色混合 3.1、颜色混合模式 在开启了颜色混合后,还需要通过 glBlendFunc 函数指定混合模式。 glBlendFunc 函数的参数可以理解为混合因子,第一个参数代表源颜色混合因子,第二个参数代表目标颜色混合因子。 对于预乘后的图片,我们做混合情况下需要使用 glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA),因为源颜色已经乘过了。 对于没有预乘的图片,我们做混合情况下需要使用 glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA),这种方式会进行源颜色乘法。 - 完 -

    1.1K20编辑于 2023-02-14
  • 来自专栏字节流动

    理解 OpenGL ES 混合

    然后通过 glBlendFunc;设置混合的方式,其中 sfactor 表示源因子,dfactor 表示目标因子。 glEnable(GL_BLEND); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); // GL_SRC_ALPHA 表示源因子取值为源颜色的 alpha GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glEnable(GL_DEPTH_TEST); //启动混合,设置混合因子 glEnable(GL_BLEND); glBlendFunc

    1.4K20编辑于 2021-12-20
  • 来自专栏字节流动

    NDK OpenGL ES 3.0 开发(十二):混合

    然后通过 glBlendFunc;设置混合的方式,其中 sfactor 表示源因子,dfactor 表示目标因子。 glEnable(GL_BLEND); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); // GL_SRC_ALPHA 表示源因子取值为源颜色的 alpha GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glEnable(GL_DEPTH_TEST); //启动混合,设置混合因子 glEnable(GL_BLEND); glBlendFunc

    1.1K30发布于 2020-06-01
  • 来自专栏小黑娃Henry

    OpenGL(七)- 渲染技巧:颜色混合OpenGL(七)- 渲染技巧:颜色混合

    R、G、B、A表示: 红、绿、蓝、透明度 S、D表示: 源、目标 C 代表常量(一般为黑色) 几种参数尝试 //使用默认参数的情况 glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA //使用其他参数的情况 glBlendFunc(GL_CONSTANT_ALPHA, GL_CONSTANT_ALPHA); ?

    1.3K30发布于 2021-08-09
  • 来自专栏天天P图攻城狮

    终端图像处理系列 - OpenGL混合模式的使用

    源因子和目标因子可以通过glBlendFunc函数来进行设置。glBlendFunc有两个参数,前者表示源因子,后者表示目标因子。 以最常用的glBlendFunc( GL_SRC_ALPHA , GL_ONE_MINUS_SRC_ALPHA )为例: 若源色为 ( 1.0 , 0.9 , 0.7 , 0.8 ),源色使用 GL_SRC_ALPHA 我们举个简单的例子,假设我们设置了OpenGL混合模式为glBlendFunc( GL_SRC_ALPHA , GL_ONE_MINUS_SRC_ALPHA ),我们希望源色的占比为alpha,即RGB_new OpenGL混合时不再乘以alpha值 在没有做预乘时,我们设置的OpenGL混合模式因子为glBlendFunc( GL_SRC_ALPHA , GL_ONE_MINUS_SRC_ALPHA ),即源色 RGB值会乘以alpha值,但是因为Bitmap在解码时已经做了预乘操作,所以源色混合因子不需要再乘以alpha值,此时我们可以设置OpenGL混合模式为glBlendFunc( ONE , GL_ONE_MINUS_SRC_ALPHA

    5.5K151发布于 2018-05-22
  • 来自专栏章鱼的慢慢技术路

    用OpenGL绘制平滑着色的三角形与相交区域的混合着色

    六、相交区域的混合着色 glBlendFunc( GL_SRC_ALPHA , GL_ONE_MINUS_SRC_ALPHA ); // 是最常使用的。 将多边形从远至近排列,并使用以下函数 glBlendFunc( GL_SRC_ALPHA_SATURATE , GL_ONE ); glEnable( GL_POLYGON_SMOOTH ); 可以优化多边形反走样 GL_TRUE; /* Initialize alpha blending function. */ static void init(void) { glEnable (GL_BLEND); glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); //glBlendFunc(GL_ONE, GL_ONE); glShadeModel (GL_FLAT);

    2.6K110发布于 2018-06-04
  • 来自专栏进击的多媒体开发

    用 OpenGL 对视频帧内容进行替换

    1 glEnable(GL_BLEND); 2 glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA) 3 // 绘制 drawSelf(mOriginTextureId) 5 if (isBlend) { 6 glEnable(GL_BLEND); 7 glBlendFunc

    2.3K20发布于 2019-07-25
  • 来自专栏小黑娃Henry

    OpenGLES(七)-GLSL案例:纹理颜色混合OpenGLES(七)-GLSL案例:纹理颜色混合

    这里的计算公式是根据OpenGL中的颜色混合参数得到的:glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA),如果对这个公式陌生可以看看这篇文章:OpenGL

    89830发布于 2021-08-09
  • 来自专栏小黑娃Henry

    OpenGL(九)-- 综合案例(公、自转)OpenGL(九)-- 综合案例(公、自转)

    drawSomething(yRot); } 地板 void RenderScene(void) { //开启混合功能(绘制地板) glEnable(GL_BLEND); //指定glBlendFunc 颜色混合方程式 glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); //绑定创建好的第一个纹理对象用于绘制 glBindTexture

    1.4K40发布于 2021-08-09
  • 来自专栏章鱼的慢慢技术路

    OpenGL透明与混色效果

    lightSpecular[] = { 1.0, 1.0, 1.0, 1.0 }; GLfloat lightPosition[] = { 0.5, 0.5, 4.0, 0.0 }; glBlendFunc

    2.1K70发布于 2018-06-04
  • 来自专栏进击的多媒体开发

    OpenGL 中的颜色混合和使用

    float blue, 5 float alpha 6 ); 设置混合的方法 有了混合因子,接下来就是设置混合因子了,OpenGL 提供了如下方法来设置: 方法签名 说明 glBlendFunc 开启颜色混合进行绘制 3 GLES20.glEnable(GLES20.GL_BLEND) 4 // 设置混合因子 5 GLES20.glBlendFunc

    3.2K11发布于 2019-07-25
  • [C++][opengl]利用glut和gluax画矩形等

    源因子和目标因子是可以通过glBlendFunc函数来进行设置的。**glBlendFunc有两个参数,前者表示源因子,后者表示目标因子。**这两个参数可以是多种值,下面介绍比较常用的几种。 举例来说: 1️⃣ 如果设置了glBlendFunc(GL_ONE, GL_ZERO);,则表示完全使用源颜色,完全不使用目标颜色,因此画面效果和不使用混合的时候一致(当然效率可能会低一点点)。 2️⃣ 如果设置了glBlendFunc(GL_ZERO, GL_ONE);,则表示完全不使用源颜色,因此无论你想画什么,最后都不会被画上去了。 4️⃣ 如果设置了glBlendFunc(GL_ONE, GL_ONE);,则表示完全使用源颜色和目标颜色,最终的颜色实际上就是两种颜色的简单相加。 先来看看使用glBlendFunc(GL_ONE, GL_ZERO);的,它的结果与不使用混合时相同。

    36310编辑于 2025-07-20
  • 来自专栏曾大稳的博客

    OpenGLES添加水印

    void onSurfaceCreated() { //启用透明 GLES20.glEnable(GLES20.GL_BLEND); GLES20.glBlendFunc //启用透明 GLES20.glEnable(GLES20.GL_BLEND); GLES20.glBlendFunc(GLES20.GL_SRC_ALPHA, GLES20.GL_ONE_MINUS_SRC_ALPHA

    2.4K51发布于 2018-09-11
  • 来自专栏音视频技术学习笔记

    15.opengl高级-混合

    接口使用:渲染半透明纹理API调用上很简单,两行代码 glEnable(GL_BLEND); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); 2.

    96520发布于 2020-06-28
  • 来自专栏落影的专栏

    iOS开发-OpenGL ES画图应用思考题

    set a blending function appropriate for premultiplied alpha pixel data glEnable(GL_BLEND); glBlendFunc

    1.2K70发布于 2018-04-27
  • 来自专栏图形学与OpenGL

    实验7 3D机器人

    gluPerspective(60,w/h,1,200); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); } void myInit() { glBlendFunc

    1.6K40发布于 2020-10-27
  • 来自专栏字节流动

    Android OpenGL ES 实现 3D 阿凡达效果

    //开启混合 glEnable(GL_BLEND); glBlendFunc(GL_SRC_COLOR, GL_ONE_MINUS_SRC_ALPHA); //使用新的着色器程序 glUseProgram 外层的绘制 glEnable(GL_BLEND); glBlendFunc(GL_SRC_COLOR, GL_ONE_MINUS_SRC_ALPHA); //切换另外一个着色器程序

    4.1K1913发布于 2020-06-02
  • 来自专栏章鱼的慢慢技术路

    OpenGL基本框架与三维对象绘制

    glEnable(GL_LINE_SMOOTH); //启用抗锯齿效果 glHint(GL_LINE_SMOOTH,GL_NICEST); //指定混合函数 glBlendFunc

    1K20发布于 2018-06-04
领券