osg在开发shader中,需要从osg向shader传递统一变量和顶点属性,在shader做统一变量传递时,发现有不少坑,主要问题时如果类型指定不当,就不能正确传递并导致渲染失败。
以下结合实践,整理出必要的注意事项,供开发参考避免弯路:
1、向量传递
在向量传递时,一定要注意vec3、vec4的精度问题,传入错误的vec3d则会导致类型不一致,导致uniform不会生效并会导致绘制中报错invalid operation。
osg::Vec3 lightPositions[] = {
osg::Vec3(-