使用OpenGL开发时Blend混合的参数选择技巧
2007-10-14 17:21
866 查看
在使用glBlendFunc(GLenum sfactor, GLenum dfactor )函数时,经常为选择合适的参数而大伤脑筋,不同的参数会产生不同的半透明等效果。实际上,Src有9个参数可选,而Dst有8个参数可选,从而一共有72种组合。 使用以下代码,可以查看所有可能的渲染效果,然后根据特效的索引值选择合适的参数即可。其中,RenderObjectWithAlphaAndTexture()函数是伪代码。
static GLenum SRC_FACTOR[9] =
{GL_ZERO, GL_ONE, GL_DST_COLOR, GL_ONE_MINUS_DST_COLOR, GL_SRC_ALPHA_SATURATE,
GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_DST_ALPHA, GL_ONE_MINUS_DST_ALPHA};
static GLenum DST_FACTOR[8] =
{GL_ZERO, GL_ONE, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_SRC_ALPHA,
GL_ONE_MINUS_SRC_ALPHA, GL_DST_ALPHA, GL_ONE_MINUS_DST_ALPHA};
for (int i=0; i<9; i++)
for (int j=0; j<8; j++)
{
glBlendFunc(SRC_FACTOR[i], DST_FACTOR[j]);
rectd.x = i*(w+10);
rectd.y = j*(h+10);
RenderObjectWithAlphaAndTexture();
}
相关文章推荐
- iOS开发技巧 - 使用UIPickerView来选择值
- selector和shape混合使用 开发技巧(一)
- 总结:ADO.NET在开发中的部分使用方法和技巧 选择自 yangyifan0 的 Blog
- iOS开发技巧 - 使用UIDatePicker来选择日期和时间
- cocos2d 颜色混合 ccBlendFunc 使用方法
- [转]好的习惯-- 提高你开发效率的十五个Visual Studio 2010使用技巧
- 使用Eclipse RCP进行桌面程序开发(六):向OpenGL进军
- C#开发使用的几个技巧
- Android开发:使用序列化接口Parcelable、Serializable实现Activity间传递复杂数据类型参数
- VIM技巧及使用vim开发android应用
- Android开发技巧——使用PopupWindow实现弹出菜单
- Android开发:使用序列化接口Parcelable、Serializable实现Activity间传递复杂数据类型参数
- Linux 程序开发打印 Debug 信息的使用技巧--C语言中几种输出调试信息的方法
- iPhone开发之NSLog使用技巧
- 开发技巧:高效的使用 Response.Redirect
- Windows下 使用CodeBlocks配置OpenGL开发环境
- C#开发和使用中的23个技巧
- Unity 游戏开发技巧集锦之使用cookie类型的纹理模拟云层的移动
- iOS开发技巧:应用宏定义使用字体
- 详解Python开发中如何使用Hook技巧