如何混合纹理颜色与简单的乘法到它下面的颜色
How to blend texture colors with simple multiplication to the colors under it?
所以我想让我的纹理颜色与它下面的颜色叠底,这怎么能用glBlendFunc()来完成呢?
例如:如果我有一个纹理颜色(0.31,0.51,0.124),并且在它下面有一个颜色(0.83,0.64,0.12),那么得到的颜色将是0.31*0.83,0.51*0.64,0.124*0.12。如何做到这一点?
所以我想让我的纹理颜色与它下面的颜色叠底,这是如何做到与glBlendFunc() ?
通过"纹理颜色",我假设你的意思是"由glTexEnv进程输出的颜色"。或者,使用更严格的OpenGL规范语言,片段颜色。
在任何情况下,这都是一个简单的混合问题。如果您使用的是OpenGL 2.1或以上版本:
glBlendEquationSeparate(GL_FUNC_ADD, GL_FUNC_ADD); //No, that's not a typo. Read the wiki article.
glBlendFuncSeparate(GL_DST_COLOR, GL_ZERO, GL_DST_ALPHA, GL_ZERO);
这会导致目标颜色(framebuffer中的颜色)与源颜色(来自glTexEnv的颜色)相乘,并添加到零(技术上,零乘以目标颜色)。
相关文章:
- 在c++中用vector填充一个简单的动态数组
- (C++)分析树以计算返回错误值的简单算术表达式
- 将"打开的CV图像"中的"颜色"转换为整数格式
- 我的简单if-else语句是如何无法访问的代码
- 使用简单类型列表实现的指数编译时间.为什么
- 如何在BST的这个简单递归实现中消除警告
- 如何在内核C++中使用1920x1080x16M图形或类似的16M颜色?(VGA)
- 如何在24位SDL_Surface上设置像素的颜色
- 一种在C++中读取TXT配置文件的简单方法
- 关于简单C++函数(is_palindrome)的逻辑的问题
- 显示错误输出的简单数组排序程序
- 将预定义的颜色添加到简单的C++颜色类
- 开放式颜色多边形表面的最简单方法
- 为depth_first_search定义颜色图的最简单方法
- 简单的颜色填充QCon中的QT
- 如何通过代码创建一个简单的MFC统一颜色HICON图标
- OpenCV中颜色差异的简单度量
- C++:有没有一种简单的方法可以将十六进制颜色"0xff2a2620""映射到更具可读性的字符串"lovelyBrown"?
- 用简单的opengl图像库(SOIL)加载一张图像(颜色空间:GRAY)
- 如何混合纹理颜色与简单的乘法到它下面的颜色