查看: 1579|回复: 7

属性类RenderingHint枚举参数的意思?

[复制链接]

该用户从未签到

发表于 2014-10-17 11:45:07 | 显示全部楼层 |阅读模式
enum RenderingHint
        {
            DEFAULT_BIN = 0,
            OPAQUE_BIN = 1,
            TRANSPARENT_BIN = 2
        };

该用户从未签到

发表于 2014-10-21 09:27:50 | 显示全部楼层
这三个是设置节点的设置顺序的,也就是设置分属不同的渲染元实现前序或后续渲染,DEFAULT_BIN 是默认的渲染元(渲染台),TRANSPARENT_BIN 是后续渲染一般用于设置透明渲染元,OPAQUE_BIN 是binNUm = 0的渲染元

该用户从未签到

 楼主| 发表于 2014-10-21 10:42:51 | 显示全部楼层
渲染元实现前序或后续渲染。不太理解这句话前序和后序是指的节点的什么?节点渲染顺序?
setRenderBinDetails不是节点渲染顺序吗?

该用户从未签到

发表于 2014-10-21 14:18:50 | 显示全部楼层
其实就是这个函数
void StateSet::setRenderingHint(int hint)
{
    _renderingHint = hint;
    // temporary hack to get new render bins working.
    switch(_renderingHint)
    {
        case(TRANSPARENT_BIN):
        {
            _binMode = USE_RENDERBIN_DETAILS;
            _binNum = 10;
            _binName = "DepthSortedBin";
            break;
        }
        case(OPAQUE_BIN):
        {
            _binMode = USE_RENDERBIN_DETAILS;
            _binNum = 0;
            _binName = "RenderBin";
            break;
        }
        default: // DEFAULT_BIN
        {
            setRenderBinToInherit();
            break;
        }
    }
}


{
    _binMode = mode;
    _binNum = binNum;
    _binName = binName;
}
你看两者是不是一样,前序后序是相对当前渲染元的渲染顺序,每一个渲染元都有子渲染元bins,bins.binNUm<0前序,>0后序

该用户从未签到

 楼主| 发表于 2014-10-24 17:30:45 | 显示全部楼层
buaahc 发表于 2014-10-21 14:18
其实就是这个函数
void StateSet::setRenderingHint(int hint)
{

老师啊 如果group下面三个geode 那group是主渲染元?三个geode是子渲染元?

该用户从未签到

发表于 2014-10-24 22:33:46 | 显示全部楼层
oirrm 发表于 2014-10-24 17:30
老师啊 如果group下面三个geode 那group是主渲染元?三个geode是子渲染元?

只有节点的stateset设置了setrenderbindetail(),才会创建新的渲染元。。。你说的那是子父节点不是渲染元,,,这个我真不知怎么概括解释,要说一大堆。。。如果有能力了,看一下源代码,看一遍估计还不行。。。

该用户从未签到

 楼主| 发表于 2014-10-26 00:25:50 | 显示全部楼层
buaahc 发表于 2014-10-24 22:33
只有节点的stateset设置了setrenderbindetail(),才会创建新的渲染元。。。你说的那是子父节点不是渲染元 ...


直接百度搜渲染元的资料没有。。。。渲染元是干嘛的呢?有什么作用呢

该用户从未签到

发表于 2014-10-27 17:12:29 | 显示全部楼层
osg的后台英雄:渲染元(renderbin ),状态节点(stateGraph),场景遍历器(cullvisitor),场景视图(sceneView)和渲染器(renderer),由渲染元构造渲染树,状态节点构造状态树,osg的绘制就是遍历渲染树和状态树进行渲染,而渲染树和状态树的的构造是同步进行的,就是cullvisitor场景遍历的过程,遍历完成,两棵树构造完成,进行绘制绘制,有时间看源码。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

OSG中国官方论坛-有您OSG在中国才更好

网站简介:osgChina是国内首个三维相关技术开源社区,旨在为国内更多的技术开发人员提供最前沿的技术资讯,为更多的三维从业者提供一个学习、交流的技术平台。

联系我们

  • 工作时间:09:00--18:00
  • 反馈邮箱:1315785073@qq.com
快速回复 返回顶部 返回列表