OGRE
13.6
Object-Oriented Graphics Rendering Engine
|
Direct3D implementation of a few things common to low-level vertex & fragment programs. More...
#include <OgreD3D9GpuProgram.h>
Classes | |
class | CmdColumnMajorMatrices |
Command object for setting matrix packing in column-major order. More... | |
class | CmdExternalMicrocode |
Command object for getting/setting external micro code (void*) More... | |
Public Member Functions | |
D3D9GpuProgram (ResourceManager *creator, const String &name, ResourceHandle handle, const String &group, bool isManual, ManualResourceLoader *loader) | |
~D3D9GpuProgram () | |
bool | getColumnMajorMatrices (void) const |
Gets whether matrix packed in column-major order. More... | |
LPD3DXBUFFER | getExternalMicrocode (void) |
Gets the external microcode buffer, if any. More... | |
IDirect3DPixelShader9 * | getPixelShader (void) |
Gets the pixel shader. More... | |
IDirect3DVertexShader9 * | getVertexShader (void) |
Gets the vertex shader. More... | |
virtual void | notifyOnDeviceCreate (IDirect3DDevice9 *d3d9Device) |
virtual void | notifyOnDeviceDestroy (IDirect3DDevice9 *d3d9Device) |
void | setColumnMajorMatrices (bool columnMajor) |
Sets whether matrix packing in column-major order. More... | |
void | setExternalMicrocode (const void *pMicrocode, size_t size) |
Tells the program to load from some externally created microcode instead of a file or source. More... | |
void | setExternalMicrocode (ID3DXBuffer *pMicrocode) |
Tells the program to load from some externally created microcode instead of a file or source. 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 () |
virtual GpuProgram * | _getBindingDelegate (void) |
Returns the GpuProgram which should be bound to the pipeline. More... | |
uint32 | _getHash (uint32 seed=0) const |
internal method to get the microcode cache id More... | |
size_t | calculateSize (void) const override |
Calculate the size of a resource; this will only be called after 'load'. More... | |
virtual const GpuNamedConstants & | getConstantDefinitions () |
Get the full list of named constants. 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... | |
Public Member Functions inherited from Ogre::D3D9Resource | |
D3D9Resource () | |
virtual | ~D3D9Resource () |
virtual void | notifyOnDeviceLost (IDirect3DDevice9 *d3d9Device) |
virtual void | notifyOnDeviceReset (IDirect3DDevice9 *d3d9Device) |
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... | |
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... | |
Static Public Member Functions inherited from Ogre::D3D9Resource | |
static void | lockDeviceAccess () |
static void | unlockDeviceAccess () |
Direct3D implementation of a few things common to low-level vertex & fragment programs.
Ogre::D3D9GpuProgram::D3D9GpuProgram | ( | ResourceManager * | creator, |
const String & | name, | ||
ResourceHandle | handle, | ||
const String & | group, | ||
bool | isManual, | ||
ManualResourceLoader * | loader | ||
) |
Ogre::D3D9GpuProgram::~D3D9GpuProgram | ( | ) |
|
inline |
Sets whether matrix packing in column-major order.
|
inline |
Gets whether matrix packed in column-major order.
void Ogre::D3D9GpuProgram::setExternalMicrocode | ( | const void * | pMicrocode, |
size_t | size | ||
) |
Tells the program to load from some externally created microcode instead of a file or source.
void Ogre::D3D9GpuProgram::setExternalMicrocode | ( | ID3DXBuffer * | pMicrocode | ) |
Tells the program to load from some externally created microcode instead of a file or source.
LPD3DXBUFFER Ogre::D3D9GpuProgram::getExternalMicrocode | ( | void | ) |
Gets the external microcode buffer, if any.
IDirect3DVertexShader9* Ogre::D3D9GpuProgram::getVertexShader | ( | void | ) |
Gets the vertex shader.
IDirect3DPixelShader9* Ogre::D3D9GpuProgram::getPixelShader | ( | void | ) |
Gets the pixel shader.
|
virtual |
Reimplemented from Ogre::D3D9Resource.
|
virtual |
Reimplemented from Ogre::D3D9Resource.