osg3.6.5怎么读取shader文件

本文介绍了在从OSG3.6.4升级后,如何使用Qt的QFile读取并加载Vertex和FragmentShader源代码,替换原有的loadShaderSourceFromFile方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在osg3.6.4以前是

osg::Shader* vertexShader = new osg::Shader( osg::Shader::VERTEX );
    osg::Shader* fragmentShader = new osg::Shader( osg::Shader::FRAGMENT );
    osg::Program* program = new osg::Program;
    vertexShader->loadShaderSourceFromFile( "E:/自己的 .vert" );
    fragmentShader->loadShaderSourceFromFile( "E:/自己的.frag" );
    
    program->addShader( vertexShader );
    program->addShader( fragmentShader );

在3.6.5就把loadShaderSourceFromFile给
删掉的 就用QT中的QFile 来读

    QString vert;
    QFile file("E:/自己的.vert");
    file.open(QIODevice::ReadOnly);//设置只读打开方式
    if(file.isOpen())//如果打开成功
    {
        vert = file.readAll();//读取全部
    }
    file.close();//关闭文件

    QString frag;
    QFile file2("E:/自己的.frag");
    file2.open(QIODevice::ReadOnly);//设置只读打开方式
    if(file2.isOpen())//如果打开成功
    {
        frag = file2.readAll();//读取全部
    }
    file2.close();//关闭文件
```osg::Program* program = new osg::Program;
    program->addShader(new osg::Shader(osg::Shader::VERTEX, vert.toStdString()));
    program->addShader(new osg::Shader(osg::Shader::FRAGMENT, frag.toStdString()));

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值