// 添加shader中的uniform
    ss->addUniform(new osg::Uniform("test1", false));
    //设置shader中的uniform值
    //ss->getUniform("test1")->set(false);
    ss->addUniform(new osg::Uniform("test2", 63.0f));//注意float类型的uniform,这里一定要加上后缀f

    // 数组类型的uniform,数组大小必须与.glsl中的数组大小保持一致
    osg::FloatArray* g_GaussNum = new osg::FloatArray(10);
    osg::Uniform* gauss_num = new osg::Uniform(osg::Uniform::FLOAT, "gauss_num", g_GaussNum->size());
    gauss_num->setArray(g_GaussNum);

uniform bool test1=true;
uniform float test2=15.0;
uniform float gauss_num[10];

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-08-08
  • 2021-11-08
  • 2021-12-12
  • 2021-07-22
  • 2021-11-16
  • 2022-12-23
猜你喜欢
  • 2021-08-11
  • 2021-05-02
  • 2021-08-03
  • 2021-09-17
  • 2021-07-30
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案