Ogre gpu程序
来源:互联网 发布:视频合并软件 安卓版 编辑:程序博客网 时间:2024/05/18 00:30
首先通过通路获得gpu程序和gpu程序参数:
Ogre::GpuProgramPtr mActiveVertexProgram = mActivePass->getVertexProgram();
Ogre::GpuProgramParameterPtr mActiveVertexParameters = mActivePass->getVertexProgramParameters();
通过通路可以直接得到或设置某些内置unform的值:
pass->getAmbient(),pass->setAmbient().
pass->getDiffuse(); pass->setDiffuse().
pass->getSpecular(); pass->setSpecular();
通过程序代码设置shader中uniform参数值
下面是得到uniform参数:
Ogre::GpuConstantDefinition& def = mActiveVertexParameters->getConstantDefinition(ParamName);
float* pFloat = activeParameters->getFloatPointer(def.physicalIndex);
通过pFloat[elementIndex],就能得到uniform的值了。
设置uniform参数的值:
物理索引可以通过def.physicalIndex得到,这个ElementIndex是事先知道的,如果是vec2,就有两个值,elementindex分别是0,1。
activeParameters->_writeRawConstant(PhysicalIndex + ElementIndex, val);
也可以这样设置:
pass->getFragmentProgramParameters()->setNamedConstant("pssmSplitPoints", splitPoints);
setNamedConstant函数有很多重载的版本
在.material文件中设置shader中uniform参数的值
先定义:
vertex_program GLSL/Ocean2VS glsl
{
source Ocean2GLSL.vert
}
然后在.material中的pass中:
vertex_program_ref GLSL/Ocean2VS
{
param_named_auto eyePosition camera_position_object_space
param_named_auto time time_0_x 100.0
param_named BumpScale float 0.2
param_named textureScale float2 25 26
param_named bumpSpeed float2 0.015 0.005
param_named waveFreq float 0.028
param_named waveAmp float 1.8
}
- Ogre gpu程序
- Ogre gpu程序
- 记录ogre中gpu程序在compositor中使用问题
- OGRE: Ogre第一个程序
- OGRE最小程序
- 如何退出ogre程序
- Ogre学习教程:Ogre第一个程序
- 【Ogre编程入门与进阶】第十六章 GPU编程
- 【Ogre编程入门与进阶】第十六章 GPU编程
- 【Ogre编程入门与进阶】第十六章 GPU编程
- OGRE 1.9 的第一个程序(OGRE HelloWorld程序)
- OGRE 1.7 例子程序分析
- OGRE 1.7 例子程序分析
- OGRE 1.7 例子程序分析
- Ogre程序添加控制台显示
- OGRE之第一个程序
- GPU Shader 程序调试方法
- 如何指定GPU运行程序
- SGU194-带上下限的最大流基础
- ios 团队开发 Versions 多人提交bug 的小补丁
- linux如何在字符界面与图形界面相互切换
- 数据结构--二叉树--中序非递归遍历二叉树(链式结构)2
- OK6410(256MRAM2Gnandflash) uboot2010.03移植笔记
- Ogre gpu程序
- 《java performance》读书笔记之 jvm 垃圾回收
- 惨痛的教训啊,必须要检查函数的返回类型
- POJ 1466 最大独立集
- 关于N皇后问题
- 拆解InstallShield安装包
- js
- java项目使用spring jdbc连接数据库
- iPhone文件系统NSFileManager 数据文件持久性