MCPcopy Create free account
hub / github.com/OGRECave/ogre-next / setProgramName

Method setProgramName

OgreMain/src/OgreGpuProgramUsage.cpp:63–110  ·  view source on GitHub ↗

-----------------------------------------------------------------------------

Source from the content-addressed store, hash-verified

61 }
62 //-----------------------------------------------------------------------------
63 void GpuProgramUsage::setProgramName( const String &name, bool resetParams )
64 {
65 if( mProgram )
66 {
67 mProgram->removeListener( this );
68 mRecreateParams = true;
69 }
70
71 mProgram = GpuProgramManager::getSingleton().getByName( name );
72
73 if( !mProgram )
74 {
75 String progType = "fragment";
76 if( mType == GPT_VERTEX_PROGRAM )
77 {
78 progType = "vertex";
79 }
80 else if( mType == GPT_GEOMETRY_PROGRAM )
81 {
82 progType = "geometry";
83 }
84 else if( mType == GPT_DOMAIN_PROGRAM )
85 {
86 progType = "domain";
87 }
88 else if( mType == GPT_HULL_PROGRAM )
89 {
90 progType = "hull";
91 }
92 else if( mType == GPT_COMPUTE_PROGRAM )
93 {
94 progType = "compute";
95 }
96
97 OGRE_EXCEPT( Exception::ERR_ITEM_NOT_FOUND,
98 "Unable to locate " + progType + " program called " + name + ".",
99 "GpuProgramUsage::setProgramName" );
100 }
101
102 // Reset parameters
103 if( resetParams || !mParameters || mRecreateParams )
104 {
105 recreateParameters();
106 }
107
108 // Listen in on reload events so we can regenerate params
109 mProgram->addListener( this );
110 }
111 //-----------------------------------------------------------------------------
112 void GpuProgramUsage::setParameters( GpuProgramParametersSharedPtr params ) { mParameters = params; }
113 //-----------------------------------------------------------------------------

Callers 6

setVertexProgramMethod · 0.80
setFragmentProgramMethod · 0.80
setGeometryProgramMethod · 0.80
setComputeProgramMethod · 0.80

Calls 3

removeListenerMethod · 0.45
getByNameMethod · 0.45
addListenerMethod · 0.45

Tested by

no test coverage detected