OpenGL ES:如何用颜色对纹理着色

2023-12-14

我有阿尔法纹理。我想用某种颜色给它着色,所以它会根据颜色 alpha 值进行着色,但整体不透明度将仅由纹理 alpha 定义。

这与多重纹理类似,但使用颜色而不是第二个纹理。 怎么做?

(更新) 我尝试过设置纹理组合器。颜色着色得很好,但 alpha 存在问题 - 它不会从纹理(如蒙版)中获取值。 我此时的代码:

glActiveTexture (GL_TEXTURE0); // do we need stage #1?
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_COMBINE);
glTexEnvi(GL_TEXTURE_ENV, GL_COMBINE_RGB, GL_INTERPOLATE);
glTexEnvfv(GL_TEXTURE_ENV, GL_TEXTURE_ENV_COLOR, (GLfloat*) &tintColor_);
glTexEnvi(GL_TEXTURE_ENV, GL_SRC0_RGB, GL_TEXTURE);
glTexEnvi(GL_TEXTURE_ENV, GL_SRC1_RGB, GL_CONSTANT);
glTexEnvi(GL_TEXTURE_ENV, GL_SRC2_RGB, GL_CONSTANT);
glTexEnvi(GL_TEXTURE_ENV, GL_OPERAND0_RGB, GL_SRC_COLOR);
glTexEnvi(GL_TEXTURE_ENV, GL_OPERAND1_RGB, GL_SRC_COLOR);
glTexEnvi(GL_TEXTURE_ENV, GL_OPERAND2_RGB, GL_ONE_MINUS_SRC_ALPHA);
// this doesn't work for alpha:
glTexEnvi(GL_TEXTURE_ENV, GL_COMBINE_ALPHA, GL_REPLACE);
glTexEnvi(GL_TEXTURE_ENV, GL_SRC0_ALPHA, GL_TEXTURE);
glTexEnvi(GL_TEXTURE_ENV, GL_OPERAND0_ALPHA, GL_SRC_ALPHA);

截图:

无调色:

enter image description here

RGBA 色调 = (0, 0.5, 1, 0.5):

enter image description here


您是否使用 glEnable(GL_BLEND) 尝试过上面的代码?

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

OpenGL ES:如何用颜色对纹理着色 的相关文章

  • 让用户在深色和浅色模式之间进行选择(保存每个页面的设置,cookies?)

    我最近刚刚开始使用 javascript 和 jQuery 所以我不是专家 目前我正在努力解决我认为可以称为 基本任务 的问题 我想在主页上添加两个按钮 用户可以使用它们将网站模式设置为深色或浅色 当用户进入网站并单击不同的链接时 应该记住
  • 在 Libgdx 中实现简单运动模糊的意外结果

    在所附的两张图片中 libgdx 的桌面屏幕截图按预期运行 不幸的是 我的 Galaxy Nexus 的屏幕截图与预期不符 我正在尝试创建一个简单的运动模糊或轨迹效果 Rendering as I expected on my deskto
  • MATLAB:生成给定三种颜色的颜色图

    我正在尝试在 MATLAB 中生成给定三种颜色 最高值 零值和最低值 的颜色图 我的思维过程是从最高端到中间循环 并将每个步骤存储到一个 3xN 第一列是 R 第二列是 G 第三列是 B 矩阵 所以我正在使用 fade from high
  • 如何使用 OpenGL ES 2.0 旋转对象?

    在 OpenGL ES 1 1 中 您可以使用glRotatef 旋转模型 但 OpenGL ES 2 0 中不存在该函数 那么 在OpenGL ES 2 0中如何进行旋转呢 为了遵循克里斯蒂安所说的 您需要自己跟踪模型视图矩阵并操纵它来执
  • 如何在R中制作渐变颜色填充时间序列图

    How to 填充区域 sp 线下方和上方渐变色 这个例子是在 Inkscape 中绘制的 但我需要垂直渐变 不是水平的 间隔从zero to positive 来自white to red 间隔从zero to negative 来自wh
  • 用于通过 Apple 登录的自定义圆形按钮

    我遵循 Apple 的指南来实施 使用 Apple 登录 按钮 苹果在文档中表示 也可以仅使用徽标来创建 使用Apple登录 的自定义按钮 您也可以更改图像的形状以具有圆形按钮 为了能够编辑图像 它还提供插入蒙版 但我不明白我们必须为按钮或
  • SpriteKit:如何使用混合模式在图层中打孔

    我有一个简单的场景 添加了一些元素 现在我想专注于一个带有遮罩的特定元素 在与我想要关注的元素相同的位置切割整个元素 与我们在某些游戏第一次启动时看到的显示某种教程非常相似 基本上我添加了一个全屏层alpha 0 7 因此用户仍然可以看到所
  • Cocos2d:CCSpriteBatch 节点是否仅绘制可见属性设置为 true 的精灵?

    CCSpriteBatch 节点是否仅绘制可见属性设置为 true 的精灵 或者它也考虑屏幕尺寸 换句话说 如果节点内的精灵位于屏幕之外 opengl 绘制调用的性能是否会反映这一点 不 不 CCSpriteBatchNode 始终绘制所有
  • 如何为十六进制颜色字符串创建独立类型?

    我正在尝试在 TypeScript 中创建一个独立类型 可用于将单个有效的十六进制颜色代码表示为完全类型安全的字符串 我的尝试如下 但由于实际上不是独立类型而未能实现 而这正是我希望实现的目标 type HexDigit
  • 如何设置评分栏的星星颜色?

    如何设置评分栏的星星颜色 我想要黄色星星 最简单的方法 android progressTint color color 光滑有光泽
  • WebGL:enablevertexattribarray索引超出范围

    这是我的顶点和片段着色器
  • 如何在Java中从一组选定的颜色中输出随机颜色? (安卓)

    因此 我希望每当用户输入答案时都为字符串赋予随机颜色 我的问题是 我不确定如何使字符串的随机颜色成为特定范围的颜色 例如 如果我希望字符串随机变成蓝色 红色 绿色 粉色 白色或棕色 只有这些颜色 没有其他颜色 到目前为止 我已经使用以下代码
  • R 编程:创建堆叠条形图,每个堆叠条形具有可变颜色

    我正在尝试创建一个堆叠条形图 每个堆叠条形图中的颜色可变 也就是说 一个条形图在红色上方显示蓝色 下一个条形图在紫色上方显示红色 等等 我还想保留堆叠图表的功能 十分感谢大家 Adam 下图 使用上面的代码创建 显示了主要汽车制造商生产的汽
  • LibGDX - 着色器适用于桌面但不适用于 Android

    我编写了一个简单的程序 可以在 3D 环境中渲染球体 并根据球体周围的四个光源为其着色 当我在桌面上运行该程序时 它工作得很好 但在 Android 设备上 球体只是纯色的 下面是一些图片来说明我正在谈论的内容 gt Desktop gt
  • 纹理不适用于网格 - OpenGL

    我正在使用 OpenGL Es 我已成功加载 obj 文件 网格 并且显示良好 但当我应用纹理时 它不显示 我添加了下面的代码 public void draw GL10 gl bind the previously generated t
  • 具有漫反射和法线贴图纹理的 3D 模型

    我想使用 libgdx 的资源加载器加载具有漫反射纹理和法线贴图的 3D 模型 据我所知 fbx 以及转换后的 g3dj g3db 格式可以包含漫反射纹理 正如我在 fbx conv 示例中看到的那样 骑士 g3db 如何为其添加法线贴图纹
  • Eclipse,在哪里更改当前调试行背景?

    任何人都可以向我指出具有以下设置的首选项页面DEBUG当前行背景颜色 我已经将几乎所有颜色更改为深色 但在调试时仍然对这个几乎白色的当前行指示器感到恼火 请注意 编辑模式下的当前行指示是可以的 好吧 现在我自己找到了它 通过主要的逆向工程
  • iPhone OpenGL ES 单视图还是多视图?

    我很困惑为 iPhone 编写游戏时最好的方法是什么 游戏将使用 OpenGL 渲染 但我很好奇创建开始屏幕 菜单 高分页面等 您是否使用 OpenGL 完成所有这些操作 或者创建额外的 UIView 并使用 UIKit 我认为没有最好的方
  • 尝试渲染 SDL_Texture 时 C++ SDL2 错误:无效纹理

    我正在尝试制作一个简单的游戏 当我尝试渲染我的SDL Texture 我收到一个莫名其妙的错误 我已经将一切设置正确 我能够成功地清除屏幕SDL RenderClear 并且我的纹理不为空 因此它应该已正确创建 但是当我尝试打电话给rend
  • OpenGL ES 片段着色器显然不可能返回白色

    这是一个奇怪的现象 我有一个片段着色器 据我所知只能返回黑色或红色 但它将像素渲染为白色 如果我删除一根特定的线 它会返回我期望的颜色 它适用于 WebGL 但不适用于 Raspberry Pi 上的 OpenGL ES 这是着色器代码 如

随机推荐

  • 如何处理多个xml标准? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 我正在尝试将一组本地包装类写入我们的机构 API 我在一所高等教育机构工作 这些
  • Android 无法加载本地 libcrypto 未满足的链接错误

    我需要在我的应用程序中运行比操作系统中版本更新的 openssl 版本 我能够修补和 Android 源代码以编译较新的版本 然后提取共享库以在我的应用程序中使用 然后 我能够编译并链接我的本机代码 该代码仅需要较新版本的 openssl
  • 部署具有所有包依赖项的 Python Cloud Function

    我想部署一个不依赖于使用 requests txt 来安装软件包的云功能 我希望这些包可以在存储中使用 或者作为功能的一部分进行压缩和上传 这可能吗 编辑 2019 年 6 月 14 日 基本上我想用我的代码发送 numpy 和 panda
  • 使用 Node.js 在 html 表中显示 mysql

    我正在学习如何将node js 与mysql 一起使用 我试图找到一些好的文档 但徒劳无功 我现在可以在浏览器中显示 mysql 数据 但我想在某个时候通过我的 index html 和 css 文件来处理它 这是我的 app js mod
  • 如何在 iframe 的本地范围内执行注入的 javascript 代码?

    我在 iframe 中加载了一个 html 文档 我已经用 javascript 为该文档开发了一些弹出菜单代码 并将代码从主文档注入到 iframe 中 但我的代码在 iframe 中不起作用 因为它使用了 document 对象 令人惊
  • 如何覆盖 UISearchDisplayController searchResult TableView 中的“无结果”文本?

    我不想在我的服务器处理搜索查询时显示 无结果 文本 我找出了包含标签的表格单元格的确切坐标 并尝试覆盖它 self noResultsCoverView UIView alloc initWithFrame CGRectMake 0 0 4
  • DocumentFilter 的正则表达式可以匹配所有十进制数字,也可以匹配末尾只有一个小数的数字

    先问问题 我需要正则表达式来匹配111 or 111 or 111 111 只是任意数字 DocumentFilter 我需要用户能够输入111 with a decimal之后什么也没有 似乎无法正确处理 我发现所有正则表达式都匹配all
  • 正则表达式中间的前瞻不匹配

    我有一根绳子 s1 a b 我想匹配这个字符串但只捕获字母 我尝试使用前瞻 if s1 a z a z print Captured 1 2 n 但这似乎与我的字符串不匹配 我已经通过使用解决了原来的问题 相反 但我很好奇为什么我最初的尝试
  • 如何将在Python中创建/更新的Google工作表保存到特定文件夹?

    我有这个代码 from google colab import auth auth authenticate user import gspread from oauth2client client import GoogleCredent
  • 如果struct A嵌入到B中,A上的方法可以访问B的方法和字段吗?

    struct A func a A BName id int string return a Name struct B A Name string func main b B Name abc fmt Println b Name 代码失
  • 如何快速使用prepareForSegue?

    我有一个带有名为 BasicPhrasesVC 的表视图的 ViewController 我想传递所选单元格中的数据以将其显示在下一个 ViewController 称为 BasicPhrasesVC 上 class BasicPhrase
  • 如何将 n*1 矩阵转换为 n*n 对角矩阵

    我有一个 nx1 矩阵我想将其转换为 R 中的 nxn 对角矩阵 正如 Ben Bolker 所建议的 您可以简单地使用定义您的单位矩阵diag my matrix lt diag 0 25 4 my matrix 1 2 3 4 1 0
  • 如何使用多个隔离来服务请求

    如何设置 Dart 服务器以使用所有可用核心来处理即将到来的请求 例如 通过使用多个隔离来服务请求 Use the shared true的论证HttpServer bind 例子 import dart io import dart is
  • 切换大小写表达式

    考虑一个表达式 1 AB CD 1 这个表达式的解法是什么 上面的表达式是C语言中的一个switch表达式 2 AB CD gt 2 ABCD gt 之后我应该做什么 下面是代码片段 include
  • 在注释中使用属性值? [复制]

    这个问题在这里已经有答案了 我的一个项目中有这个带注释的课程 注释类是我定义的 问题 我可以代替字符串吗 TP REPORT 使用一些财产它的值在编译时不知道而只能在运行时知道 PhoenixTable tableName TP REPOR
  • 交换的替代版本!还返回换出的值

    我在 IRC 上谈过这个问题 clojure今天的频道 但想在这里进行更详细的介绍 基本上 为了更好地理解原子 swap deref和 Clojure 并发作为一个整体 我想尝试编写一个函数 它不仅返回使用交换的值swap 还有被换出的值
  • 从 iPhone 应用程序启动 Google 地图应用程序。

    我正在尝试从我的 iPhone 应用程序启动谷歌地图 启动部分工作正常 但自从 iPhone 3 1 更新后 我认为是在这个时候 我得到了美国和加拿大的缩小地图 而不是放大我当前的位置 最初一切都工作正常 但有时更新后一切都停止正常工作 这
  • Facebook 是 openid 提供商吗?

    我对 facebook 以及 facebook 是否是像谷歌这样的 openid 提供商感到困惑 根据这个链接 http developers facebook com blog post 246 facebook 是一个 openid 依
  • 具有固定层数的渐变

    我画了一组四边形 对于每个四边形 我在其顶点都有一个定义的颜色 例如 现在我的四边形集看起来像 我以相当原始的方式实现了这样的结果 只需将其作为四边形每个顶点的属性颜色传递到顶点着色器即可 我的着色器非常简单 顶点着色器 version 1
  • OpenGL ES:如何用颜色对纹理着色

    我有阿尔法纹理 我想用某种颜色给它着色 所以它会根据颜色 alpha 值进行着色 但整体不透明度将仅由纹理 alpha 定义 这与多重纹理类似 但使用颜色而不是第二个纹理 怎么做 更新 我尝试过设置纹理组合器 颜色着色得很好 但 alpha