Opengl ES之水印贴图
创始人
2025-06-01 04:33:11

前言

水印贴图又称画中画,这种功能在Opengl中是如何实现的呢?我们可以简单地理解成两张纹理的叠加,一个纹理作为背景,另外一个纹理通过调整顶点坐标作为一个小的前景。

说到水印贴图的实现,很多朋友可能会想到通过mix混合函数实现,但是并不推荐这样做,抛开性能先不说,这种实现方式就不太方便后期拓展。今天我们就通过mix内建函数和
多纹理绘制两种方式实现一个水印贴图的功能。

mix混合贴图

先来看看我们用到的贴图资源,首先我们需要渲染的背景纹理是:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Kt5G6ovP-1679379755166)(https://flyer-blog.oss-cn-shenzhen.aliyuncs.com/%E8%83%8C%E6%99%AF%E7%BA%B9%E7%90%86%E5%9B%BE.jpg)]

需要贴图的水印是:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zRmISlYt-1679379755167)(https://flyer-blog.oss-cn-shenzhen.aliyuncs.com/%E5%BF%83%E5%BD%A2%E6%B0%B4%E5%8D%B0.png)]

片元着色器:

#version 300 es
precision mediump float;
out vec4 FragColor;
in vec2 TexCoord;
uniform sampler2D ourTexture;
uniform sampler2D waterTexture;
void main()
{vec4 textColor = texture(ourTexture, TexCoord);

相关内容

热门资讯

免疫系统的“遗忘”与“铭记”:... 餐桌上,一杯牛奶与几颗花生并列,在过敏者体内可能引发免疫系统截然不同的长期记忆。 对于食物过敏者而言...
豆豉蒸排骨!这个味太绝了!蒸一... 周末刷朋友圈,看到闺蜜晒了张午餐照——一盘油亮亮的红烧排骨,配文:“炖了1小时,手都酸了!”我盯着屏...
豆皮肉末:一卷入口的鲜美家常菜... 如果你家的食材柜里恰好有一捆金黄油豆皮,而冰箱里又躺着一小碗肥瘦相间的肉末,那你距离一顿美味大餐就只...
液氮速冻奶酪:为什么顶级餐厅都... 近年来,液氮速冻技术在某些顶级餐厅中也崭露头角,尤其是在奶酪的处理上。这种创新的方法不仅能够保持食材...
德芙携手品客:玛氏360亿美元... 来源:新浪证券 当地时间2025年12月11日,玛氏公司正式宣布完成对品客薯片母公司Kellanov...