osgblendequation例子

先来回忆一下opengl中的Blend。glEnable(GL_BLEND)启用混合。片段的值在写入帧缓存之前,是需要与帧缓存中原有的值进行计算的,默认的计算将量值相加,然后截取[0,1]范围内。但是这个组合算法我们可以控制,应该说在OpenGL固定管线中我们有多种选择,通过glBlendFunc这个函数可以设置组合的方式,glBlendFuncSeparate函数可以对A值单
摘要由CSDN通过智能技术生成

先来回忆一下opengl中的Blend。
glEnable(GL_BLEND)启用混合。
片段的值在写入帧缓存之前,是需要与帧缓存中原有的值进行计算的,默认的计算将量值相加,然后截

取[0,1]范围内。
但是这个组合算法我们可以控制,应该说在OpenGL固定管线中我们有多种选择,通过glBlendFunc这个函

数可以设置组合的方式,glBlendFuncSeparate函数可以对A值单独的指定。
glBlendEquation函数可以选择其他的数学方式进行组合,相加、相减、反向相减、最大值、最小值、逻

辑运算(十六中呢)。glBlendEquationSeparate同样可以对A值进行单独的指定。
glBlendFunc、glBlendEquation这两个函数在混合中一起使用,第一个设置片段和帧缓存的权值,第二

个设置两者的计算方式。
回到例子中,读取了cessnafire.osgt这个模型,然后设置他的状态StateSet,主要是BlendEquation,

OpenGL是一个状态机,在OSG中所有的OpenGL状态都继承StateAttribute,然后设置StateSet开关(OSG

的state类封装了所欲的OpenGL状态,最终改变的是State这个类)。因此,BlendEquation继承自

StateAttribute。我们看看BlendEquation类:
enum Equation {
            RGBA_MIN                        = GL_MIN,
            RGBA_MAX   

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值