首先感谢@hankern
学习链接https://blog.youkuaiyun.com/hankern/article/details/83933900
继续调试下去
可知,layer hints啥也没merge到,只是新建了一个CachePolicy.
继续向下调试,下一个options的merge
这个options也没merge成
返回到子类VisibleLayer,no error
接下来初始化混合了
在Stateset里传递shader变量,这次学了一招。
说明一言不合就通过stateset传递shader参数和program
其实这个getNameID()函数,就是预先查找或者将<uniform名称,id>插入集合中,再返回id
上面几个数组不能存在,存在就不能分配内存了
uniform拜stateset为义父。可以多个义父。
这里Uniform的更新回调和事件回调均为空
delta_update和delta_event也均为0
传完uniform参数后,该传program给stateset了,所以说,osg是支持shader的,有些人说不支持可编程管线,只有一个原因,那就是不会用。当然,我现在也不怎么会用。ue炫是因为天然支持Pbr.
先到这里吧,