Page 1 of 1

[Implemented] setting shader variables inside PB-program

Posted: Wed Apr 06, 2011 4:06 pm
by DarkDragon
Hello,

I'd like to specify shader variables (attribute is already there through AddMeshVertex/SetMeshData but the rest - uniform, varying - is missing) inside the purebasic code. Its essential for making games. And beside this I want a

Code: Select all

SetMaterialShader(#Material, Shader.s, Type.i)
Which does something similar to this inside a material script (binding a shader source to a material): http://www.ogre3d.org/docs/manual/manual_18.html#SEC104

Regards,
Daniel

Re: OGRE: setting shader variables inside PB-program

Posted: Tue Nov 15, 2011 8:17 pm
by idle
I think it could be done by

Ogre::GpuProgramPtr mActiveFragmentProgram;
Ogre::GpuProgramPtr mActiveVertexProgram;
Ogre::GpuProgramParametersSharedPtr mActiveFragmentParameters;
Ogre::GpuProgramParametersSharedPtr mActiveVertexParameters;

and providing the routines to get and set the parameters maybe using the materialId
to map through to the GPUProgramPtr

GetGPUProgramParameter(materialID,parameter,#PBGPUVertex)
SetGPUProgramParameter(materialID,parameter,value.f,#PBGPUFragment)