osg学习(六十)setTextureMode setTextureAttributeAndModes

本文详细探讨了OpenSceneGraph(osg)库中用于纹理处理的两个关键函数:setTextureMode和setTextureAttributeAndModes。通过实例代码ss.setTextureMode(unit, mode, value)和ss.setTextureAttributeAndModes(unit, tex.get()),解释了它们在设置纹理模式和属性方面的应用,帮助读者深入理解这两个函数的工作原理及其在C++编程中的实际运用。" 58598951,5850242,Selenium与Java/Python获取网页元素路径的全面指南,"['Web自动化测试', 'Selenium框架', 'Java编程', 'Python编程']
摘要由CSDN通过智能技术生成

ss.setTextureMode(unit,mode,value);
ss.setTextureAttributeAndModes( unit, tex.get() );

osg/StateSet.cpp

void StateSet::setTextureMode(unsigned int unit,StateAttribute::GLMode mode, StateAttribute::GLModeValue value)
{
    if (getTextureGLModeSet().isTextureMode(mode))
    {
        setMode(getOrCreateTextureModeList(unit),mode,value);
    }
    else
    {
        setMode(mode,value);
    }
}

void StateSet::setTextureAttributeAndModes(unsigned int unit,StateAttribute *attribute, StateAttribute::GLModeValue value)
{
    if (attribute)
    {

        if (attribute->isTextureAttribute())
        {
            if (value&StateAttribute::INHERIT)
            {
                removeTextureAttribute(unit,attribute->getType());
            }
            else
            {
                setAttribute(getOrCreateTextureAttributeList(unit),attribute,value);
                setAssociatedTextureModes(unit,attribute,value);
            }
        }
        else
        {
            setAttributeAndModes(attribute,value);
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值