OGRE
13.6
Object-Oriented Graphics Rendering Engine
|
Abstract base class representing a high-level program (a vertex or fragment program). More...
#include <OgreHighLevelGpuProgram.h>
Public Member Functions | |
HighLevelGpuProgram (ResourceManager *creator, const String &name, ResourceHandle handle, const String &group, bool isManual=false, ManualResourceLoader *loader=0) | |
Constructor, should be used only by factory classes. More... | |
~HighLevelGpuProgram () | |
GpuProgram * | _getBindingDelegate (void) override |
Returns the GpuProgram which should be bound to the pipeline. More... | |
size_t | calculateSize (void) const override |
Calculate the size of a resource; this will only be called after 'load'. More... | |
GpuProgramParametersSharedPtr | createParameters (void) override |
Creates a new parameters object compatible with this program definition. More... | |
const GpuNamedConstants & | getConstantDefinitions () override |
Get the full list of GpuConstantDefinition instances. More... | |
const String & | getEntryPoint (void) const |
Gets the entry point defined for this program. More... | |
const String & | getPreprocessorDefines (void) const |
Gets the preprocessor defines used to compile the program. More... | |
void | setEntryPoint (const String &entryPoint) |
Sets the entry point for this program i.e, the first method called. More... | |
void | setPreprocessorDefines (const String &defines) |
Sets the preprocessor defines used to compile the program. More... | |
Public Member Functions inherited from Ogre::GpuProgram | |
GpuProgram (ResourceManager *creator, const String &name, ResourceHandle handle, const String &group, bool isManual=false, ManualResourceLoader *loader=0) | |
virtual | ~GpuProgram () |
uint32 | _getHash (uint32 seed=0) const |
internal method to get the microcode cache id More... | |
virtual const GpuProgramParametersPtr & | getDefaultParameters (void) |
Get a reference to the default parameters which are to be used for all uses of this program. More... | |
virtual const String & | getLanguage (void) const |
Returns a string that specifies the language of the gpu programs as specified in a material script. More... | |
const String & | getManualNamedConstantsFile () const |
Gets the name of a file from which to load named parameters mapping for a program which would not be able to derive named parameters itself. More... | |
virtual bool | getPassFogStates (void) const |
Returns whether a fragment program wants fog state to be passed through fixed pipeline low level API rendering calls (default true, subclasses can override) More... | |
virtual bool | getPassSurfaceAndLightStates (void) const |
Returns whether a vertex program wants light and material states to be passed through fixed pipeline low level API rendering calls (default false, subclasses can override) More... | |
virtual bool | getPassTransformStates (void) const |
Returns whether a vertex program wants transform state to be passed through fixed pipeline low level API rendering calls. More... | |
virtual const String & | getSource (void) const |
Gets the assembler source for this program. More... | |
const String & | getSourceFile (void) const |
Gets the name of the file used as source for this program. More... | |
const String & | getSyntaxCode (void) const |
Gets the syntax code for this program e.g. More... | |
GpuProgramType | getType (void) const |
Get the program type. More... | |
virtual bool | hasCompileError (void) const |
Did this program encounter a compile error when loading? More... | |
virtual bool | hasDefaultParameters (void) const |
Returns true if default parameters have been set up. More... | |
virtual bool | isAdjacencyInfoRequired (void) const |
virtual bool | isSupported (void) const |
Returns whether this program can be supported on the current renderer and hardware. More... | |
virtual bool | isVertexTextureFetchRequired (void) const |
Returns whether this vertex program requires support for vertex texture fetch from the hardware. More... | |
virtual void | resetCompileError (void) |
Reset a compile error if it occurred, allowing the load to be retried. More... | |
virtual void | setAdjacencyInfoRequired (bool r) |
void | setManualNamedConstants (const GpuNamedConstants &namedConstants) |
Allows you to manually provide a set of named parameter mappings to a program which would not be able to derive named parameters itself. More... | |
void | setManualNamedConstantsFile (const String ¶mDefFile) |
Specifies the name of a file from which to load named parameters mapping for a program which would not be able to derive named parameters itself. More... | |
void | setSource (const String &source) |
Sets the source assembly for this program from an in-memory string. More... | |
void | setSourceFile (const String &filename) |
Sets the filename of the source assembly for this program. More... | |
void | setSyntaxCode (const String &syntax) |
Sets the syntax code for this program e.g. More... | |
void | setType (GpuProgramType t) |
Set the program type (only valid before load) More... | |
virtual void | setVertexTextureFetchRequired (bool r) |
Sets whether this vertex program requires support for vertex texture fetch from the hardware. More... | |
void | setInstancingIncluded (bool included) |
Sets whether a vertex program can do instancing. More... | |
bool | isInstancingIncluded (void) const |
Returns whether a vertex program can do instancing. More... | |
virtual void | setSkeletalAnimationIncluded (bool included) |
Sets whether a vertex program can do skeletal animation. More... | |
virtual bool | isSkeletalAnimationIncluded (void) const |
Returns whether a vertex program can do skeletal animation. More... | |
virtual void | setMorphAnimationIncluded (bool included) |
Sets whether a vertex program can do morph animation. More... | |
virtual void | setPoseAnimationIncluded (ushort poseCount) |
Sets whether a vertex program can do pose animation. More... | |
virtual bool | isMorphAnimationIncluded (void) const |
Returns whether a vertex program can do morph animation. More... | |
virtual bool | isPoseAnimationIncluded (void) const |
Returns whether a vertex program can do pose animation. More... | |
virtual ushort | getNumberOfPosesIncluded (void) const |
Returns the number of simultaneous poses the vertex program can blend, for use in pose animation. More... | |
Public Member Functions inherited from Ogre::Resource | |
Resource (ResourceManager *creator, const String &name, ResourceHandle handle, const String &group, bool isManual=false, ManualResourceLoader *loader=0) | |
Standard constructor. More... | |
virtual | ~Resource () |
Virtual destructor. More... | |
virtual void | _dirtyState () |
Manually mark the state of this resource as having been changed. More... | |
void | _fireLoadingComplete (bool unused=false) |
Firing of loading complete event. More... | |
void | _firePreparingComplete (bool unused=false) |
Firing of preparing complete event. More... | |
void | _fireUnloadingComplete (void) |
Firing of unloading complete event. More... | |
void | _notifyOrigin (const String &origin) |
Notify this resource of it's origin. More... | |
virtual void | addListener (Listener *lis) |
Register a listener on this resource. More... | |
virtual void | changeGroupOwnership (const String &newGroup) |
Change the resource group ownership of a Resource. More... | |
virtual void | escalateLoading () |
Escalates the loading of a background loaded resource. More... | |
ResourceManager * | getCreator (void) |
Gets the manager which created this resource. More... | |
const String & | getGroup (void) const |
Gets the group which this resource is a member of. More... | |
ResourceHandle | getHandle (void) const |
LoadingState | getLoadingState () const |
Returns the current loading state. More... | |
const String & | getName (void) const |
Gets resource name. More... | |
const String & | getOrigin (void) const |
Get the origin of this resource, e.g. More... | |
size_t | getSize (void) const |
Retrieves info about the size of the resource. More... | |
virtual size_t | getStateCount () const |
Returns the number of times this resource has changed state, which generally means the number of times it has been loaded. More... | |
bool | isBackgroundLoaded (void) const |
Returns whether this Resource has been earmarked for background loading. More... | |
bool | isLoaded (void) const |
Returns true if the Resource has been loaded, false otherwise. More... | |
bool | isLoading () const |
Returns whether the resource is currently in the process of background loading. More... | |
bool | isManuallyLoaded (void) const |
Is this resource manually loaded? More... | |
bool | isPrepared (void) const |
Returns true if the Resource has been prepared, false otherwise. More... | |
bool | isReloadable (void) const |
Returns true if the Resource is reloadable, false otherwise. More... | |
virtual void | load (bool backgroundThread=false) |
Loads the resource, if it is not already. More... | |
virtual void | prepare (bool backgroundThread=false) |
Prepares the resource for load, if it is not already. More... | |
virtual void | reload (LoadingFlags flags=LF_DEFAULT) |
Reloads the resource, if it is already loaded. More... | |
virtual void | removeListener (Listener *lis) |
Remove a listener on this resource. More... | |
void | setBackgroundLoaded (bool bl) |
Tells the resource whether it is background loaded or not. More... | |
virtual void | touch (void) |
'Touches' the resource to indicate it has been used. More... | |
virtual void | unload (void) |
Unloads the resource; this is not permanent, the resource can be reloaded later if required. More... | |
Public Member Functions inherited from Ogre::StringInterface | |
StringInterface () | |
virtual | ~StringInterface () |
Virtual destructor, see Effective C++. More... | |
void | copyParametersTo (StringInterface *dest) const |
Method for copying this object's parameters to another object. More... | |
ParamDictionary * | getParamDictionary (void) |
Retrieves the parameter dictionary for this class. More... | |
const ParamDictionary * | getParamDictionary (void) const |
String | getParameter (const String &name) const |
Generic parameter retrieval method. More... | |
const ParameterList & | getParameters (void) const |
Retrieves a list of parameters valid for this object. More... | |
bool | setParameter (const String &name, const String &value) |
Generic parameter setting method. More... | |
void | setParameterList (const NameValuePairList ¶mList) |
Generic multiple parameter setting method. More... | |
Static Public Member Functions | |
static String | _resolveIncludes (const String &source, Resource *resourceBeingLoaded, const String &fileName, bool supportsFilename=false) |
Scan the source for #include and replace with contents from OGRE resources. More... | |
Static Public Member Functions inherited from Ogre::GpuProgram | |
static const String | getProgramTypeName (GpuProgramType programType) |
Static Public Member Functions inherited from Ogre::StringInterface | |
static void | cleanupDictionary () |
Cleans up the static 'msDictionary' required to reset Ogre, otherwise the containers are left with invalid pointers, which will lead to a crash as soon as one of the ResourceManager implementers (e.g. More... | |
Additional Inherited Members | |
Public Types inherited from Ogre::Resource | |
enum | LoadingFlags { LF_DEFAULT = 0 , LF_INCLUDE_NON_RELOADABLE = 1 , LF_ONLY_UNREFERENCED = 2 , LF_ONLY_UNREFERENCED_INCLUDE_NON_RELOADABLE = 3 , LF_PRESERVE_STATE = 4 } |
Enum that allow to choose subset of unloaded/reloaded resources and to adjust reloading behavior. More... | |
enum | LoadingState { LOADSTATE_UNLOADED , LOADSTATE_LOADING , LOADSTATE_LOADED , LOADSTATE_UNLOADING , LOADSTATE_PREPARED , LOADSTATE_PREPARING } |
Enum identifying the loading state of the resource. More... | |
Abstract base class representing a high-level program (a vertex or fragment program).
Ogre::HighLevelGpuProgram::HighLevelGpuProgram | ( | ResourceManager * | creator, |
const String & | name, | ||
ResourceHandle | handle, | ||
const String & | group, | ||
bool | isManual = false , |
||
ManualResourceLoader * | loader = 0 |
||
) |
Constructor, should be used only by factory classes.
Ogre::HighLevelGpuProgram::~HighLevelGpuProgram | ( | ) |
|
overridevirtual |
Creates a new parameters object compatible with this program definition.
Reimplemented from Ogre::GpuProgram.
Reimplemented in Ogre::GLSLESProgram, Ogre::MetalProgram, Ogre::D3D9HLSLProgram, Ogre::D3D11HLSLProgram, and Ogre::CgProgram.
|
inlineoverridevirtual |
Returns the GpuProgram which should be bound to the pipeline.
Reimplemented from Ogre::GpuProgram.
Reimplemented in Ogre::GLSLShaderCommon, Ogre::D3D11HLSLProgram, and Ogre::CgProgram.
|
overridevirtual |
Get the full list of GpuConstantDefinition instances.
Reimplemented from Ogre::GpuProgram.
|
overridevirtual |
Calculate the size of a resource; this will only be called after 'load'.
Reimplemented from Ogre::GpuProgram.
|
inline |
Sets the preprocessor defines used to compile the program.
|
inline |
Gets the preprocessor defines used to compile the program.
|
inline |
Sets the entry point for this program i.e, the first method called.
|
inline |
Gets the entry point defined for this program.
|
static |
Scan the source for #include and replace with contents from OGRE resources.