![]() |
OGRE 1.12.10
Object-Oriented Graphics Rendering Engine
|
Specialization of HighLevelGpuProgram to provide support for D3D11 High-Level Shader Language (HLSL). More...
#include <OgreD3D11HLSLProgram.h>
Inheritance diagram for Ogre::D3D11HLSLProgram:Classes | |
| class | CmdColumnMajorMatrices |
| Command object for setting matrix packing in column-major order. More... | |
| class | CmdEnableBackwardsCompatibility |
| Command object for setting backwards compatibility. More... | |
| class | CmdEntryPoint |
| Command object for setting entry point. More... | |
| class | CmdTarget |
| Command object for setting target assembler. More... | |
Public Member Functions | |
| D3D11HLSLProgram (ResourceManager *creator, const String &name, ResourceHandle handle, const String &group, bool isManual, ManualResourceLoader *loader, D3D11Device &device) | |
| ~D3D11HLSLProgram () | |
| GpuProgram * | _getBindingDelegate (void) |
| shortcut as we there is no low-level separation here | |
| virtual void | buildConstantDefinitions () const |
| Build the constant definition map, must be overridden. | |
| void | CreateComputeShader () |
| void | CreateDomainShader () |
| void | CreateGeometryShader () |
| void | CreateHullShader () |
| GpuProgramParametersSharedPtr | createParameters (void) |
| Overridden from GpuProgram. | |
| void | CreatePixelShader () |
| void | CreateVertexShader () |
| bool | getColumnMajorMatrices (void) const |
| Gets whether matrix packed in column-major order. | |
| const char * | getCompatibleTarget (void) const |
| Gets the shader target promoted to the first compatible, e.g. | |
| ID3D11ComputeShader * | getComputeShader (void) const |
| ID3D11Buffer * | getConstantBuffer (GpuProgramParametersSharedPtr params, uint16 variabilityMask) |
| void | getConstantBuffers (ID3D11Buffer **buffers, unsigned int &numBuffers, ID3D11ClassInstance **classes, unsigned int &numInstances, GpuProgramParametersSharedPtr params, uint16 variabilityMask) |
| ID3D11DomainShader * | getDomainShader (void) const |
| bool | getEnableBackwardsCompatibility (void) const |
| Gets whether backwards compatibility is enabled. | |
| const String & | getEntryPoint (void) const |
| Gets the entry point defined for this program. | |
| ID3D11GeometryShader * | getGeometryShader (void) const |
| ID3D11HullShader * | getHullShader (void) const |
| const D3D11_SIGNATURE_PARAMETER_DESC & | getInputParamDesc (unsigned int index) const |
| const String & | getLanguage (void) const |
| Overridden from GpuProgram. | |
| const MicroCode & | getMicroCode (void) const |
| uint32 | getNameForMicrocodeCache () |
| unsigned int | getNumInputs (void) const |
| unsigned int | getNumOutputs (void) const |
| const D3D11_SIGNATURE_PARAMETER_DESC & | getOutputParamDesc (unsigned int index) const |
| ID3D11PixelShader * | getPixelShader (void) const |
| unsigned int | getSubroutineSlot (const String &subroutineSlotName) const |
| const String & | getTarget (void) const |
| Gets the shader target to compile down to, e.g. | |
| ID3D11VertexShader * | getVertexShader (void) const |
| bool | isSupported (void) const |
| Overridden from GpuProgram. | |
| void | loadFromSource (void) |
| Internal load implementation, must be implemented by subclasses. | |
| void | prepareImpl () |
| Internal implementation of the meat of the 'prepare' action. | |
| void | reinterpretGSForStreamOut (void) |
| void | setColumnMajorMatrices (bool columnMajor) |
| Sets whether matrix packing in column-major order. | |
| void | setEnableBackwardsCompatibility (bool enableBackwardsCompatibility) |
| Sets whether backwards compatibility is enabled. | |
| void | setEntryPoint (const String &entryPoint) |
| Sets the entry point for this program ie the first method called. | |
| void | setTarget (const String &target) |
| Sets the shader target to compile down to, e.g. | |
Public Member Functions inherited from 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. | |
| ~HighLevelGpuProgram () | |
| GpuProgram * | _getBindingDelegate (void) |
| Returns the GpuProgram which should be bound to the pipeline. | |
| virtual size_t | calculateSize (void) const |
| Calculate the size of a resource; this will only be called after 'load'. | |
| GpuProgramParametersSharedPtr | createParameters (void) |
| Creates a new parameters object compatible with this program definition. | |
| const GpuNamedConstants & | getConstantDefinitions () const |
| Get the full list of GpuConstantDefinition instances. | |
| const String & | getPreprocessorDefines (void) const |
| Gets the preprocessor defines used to compile the program. | |
| void | setPreprocessorDefines (const String &defines) |
| Sets the preprocessor defines used to compile the program. | |
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 | |
| Vector3 | getComputeGroupDimensions (void) const |
| virtual const GpuProgramParametersPtr & | getDefaultParameters (void) |
| Get a reference to the default parameters which are to be used for all uses of this program. | |
| 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. | |
| virtual ushort | getNumberOfPosesIncluded (void) const |
| Returns the number of simultaneous poses the vertex program can blend, for use in pose animation. | |
| 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) | |
| 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) | |
| virtual bool | getPassTransformStates (void) const |
| Returns whether a vertex program wants transform state to be passed through fixed pipeline low level API rendering calls. | |
| const String & | getSource (void) const |
| Gets the assembler source for this program. | |
| const String & | getSourceFile (void) const |
| Gets the name of the file used as source for this program. | |
| const String & | getSyntaxCode (void) const |
| Gets the syntax code for this program e.g. | |
| GpuProgramType | getType (void) const |
| Get the program type. | |
| virtual bool | hasCompileError (void) const |
| Did this program encounter a compile error when loading? | |
| virtual bool | hasDefaultParameters (void) const |
| Returns true if default parameters have been set up. | |
| virtual bool | isAdjacencyInfoRequired (void) const |
| virtual bool | isMorphAnimationIncluded (void) const |
| Returns whether a vertex program includes the required instructions to perform morph animation. | |
| virtual bool | isPoseAnimationIncluded (void) const |
| Returns whether a vertex program includes the required instructions to perform pose animation. | |
| virtual bool | isSkeletalAnimationIncluded (void) const |
| Returns whether a vertex program includes the required instructions to perform skeletal animation. | |
| virtual bool | isVertexTextureFetchRequired (void) const |
| Returns whether this vertex program requires support for vertex texture fetch from the hardware. | |
| virtual void | resetCompileError (void) |
| Reset a compile error if it occurred, allowing the load to be retried. | |
| virtual void | setAdjacencyInfoRequired (bool r) |
| void | setComputeGroupDimensions (Vector3 dimensions) |
| 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. | |
| 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. | |
| virtual void | setMorphAnimationIncluded (bool included) |
| Sets whether a vertex program includes the required instructions to perform morph animation. | |
| virtual void | setPoseAnimationIncluded (ushort poseCount) |
| Sets whether a vertex program includes the required instructions to perform pose animation. | |
| virtual void | setSkeletalAnimationIncluded (bool included) |
| Sets whether a vertex program includes the required instructions to perform skeletal animation. | |
| void | setSource (const String &source) |
| Sets the source assembly for this program from an in-memory string. | |
| void | setSourceFile (const String &filename) |
| Sets the filename of the source assembly for this program. | |
| void | setSyntaxCode (const String &syntax) |
| Sets the syntax code for this program e.g. | |
| void | setType (GpuProgramType t) |
| Set the program type (only valid before load) | |
| virtual void | setVertexTextureFetchRequired (bool r) |
| Sets whether this vertex program requires support for vertex texture fetch from the hardware. | |
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. | |
| virtual | ~Resource () |
| Virtual destructor. | |
| virtual void | _dirtyState () |
| Manually mark the state of this resource as having been changed. | |
| void | _fireLoadingComplete (bool wasBackgroundLoaded) |
| Firing of loading complete event. | |
| void | _firePreparingComplete (bool wasBackgroundLoaded) |
| Firing of preparing complete event. | |
| void | _fireUnloadingComplete (void) |
| Firing of unloading complete event. | |
| void | _notifyOrigin (const String &origin) |
| Notify this resource of it's origin. | |
| virtual void | addListener (Listener *lis) |
| Register a listener on this resource. | |
| virtual void | changeGroupOwnership (const String &newGroup) |
| Change the resource group ownership of a Resource. | |
| virtual void | escalateLoading () |
| Escalates the loading of a background loaded resource. | |
| ResourceManager * | getCreator (void) |
| Gets the manager which created this resource. | |
| const String & | getGroup (void) const |
| Gets the group which this resource is a member of. | |
| ResourceHandle | getHandle (void) const |
| LoadingState | getLoadingState () const |
| Returns the current loading state. | |
| const String & | getName (void) const |
| Gets resource name. | |
| const String & | getOrigin (void) const |
| Get the origin of this resource, e.g. | |
| size_t | getSize (void) const |
| Retrieves info about the size of the resource. | |
| 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. | |
| bool | isBackgroundLoaded (void) const |
| Returns whether this Resource has been earmarked for background loading. | |
| bool | isLoaded (void) const |
| Returns true if the Resource has been loaded, false otherwise. | |
| bool | isLoading () const |
| Returns whether the resource is currently in the process of background loading. | |
| bool | isManuallyLoaded (void) const |
| Is this resource manually loaded? | |
| bool | isPrepared (void) const |
| Returns true if the Resource has been prepared, false otherwise. | |
| bool | isReloadable (void) const |
| Returns true if the Resource is reloadable, false otherwise. | |
| virtual void | load (bool backgroundThread=false) |
| Loads the resource, if it is not already. | |
| virtual void | prepare (bool backgroundThread=false) |
| Prepares the resource for load, if it is not already. | |
| virtual void | reload (LoadingFlags flags=LF_DEFAULT) |
| Reloads the resource, if it is already loaded. | |
| virtual void | removeListener (Listener *lis) |
| Remove a listener on this resource. | |
| void | setBackgroundLoaded (bool bl) |
| Tells the resource whether it is background loaded or not. | |
| virtual void | touch (void) |
| 'Touches' the resource to indicate it has been used. | |
| virtual void | unload (void) |
| Unloads the resource; this is not permanent, the resource can be reloaded later if required. | |
Public Member Functions inherited from Ogre::StringInterface | |
| StringInterface () | |
| virtual | ~StringInterface () |
| Virtual destructor, see Effective C++. | |
| void | copyParametersTo (StringInterface *dest) const |
| Method for copying this object's parameters to another object. | |
| ParamDictionary * | getParamDictionary (void) |
| Retrieves the parameter dictionary for this class. | |
| const ParamDictionary * | getParamDictionary (void) const |
| String | getParameter (const String &name) const |
| Generic parameter retrieval method. | |
| const ParameterList & | getParameters (void) const |
| Retrieves a list of parameters valid for this object. | |
| bool | setParameter (const String &name, const String &value) |
| Generic parameter setting method. | |
| void | setParameterList (const NameValuePairList ¶mList) |
| Generic multiple parameter setting method. | |
Public Attributes | |
| bool | mReinterpretingGS |
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::HighLevelGpuProgram | |
| 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. | |
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. | |
Specialization of HighLevelGpuProgram to provide support for D3D11 High-Level Shader Language (HLSL).
| Ogre::D3D11HLSLProgram::D3D11HLSLProgram | ( | ResourceManager * | creator, |
| const String & | name, | ||
| ResourceHandle | handle, | ||
| const String & | group, | ||
| bool | isManual, | ||
| ManualResourceLoader * | loader, | ||
| D3D11Device & | device | ||
| ) |
| Ogre::D3D11HLSLProgram::~D3D11HLSLProgram | ( | ) |
Sets the entry point for this program ie the first method called.
Gets the entry point defined for this program.
Sets the shader target to compile down to, e.g.
'vs_1_1'.
Gets the shader target to compile down to, e.g.
'vs_1_1'.
Gets the shader target promoted to the first compatible, e.g.
'vs_4_0' or 'ps_4_0' if backward compatibility is enabled.
Sets whether matrix packing in column-major order.
Gets whether matrix packed in column-major order.
|
inline |
Sets whether backwards compatibility is enabled.
Gets whether backwards compatibility is enabled.
Overridden from GpuProgram.
Reimplemented from Ogre::GpuProgram.
|
virtual |
Overridden from GpuProgram.
Reimplemented from Ogre::GpuProgram.
Overridden from GpuProgram.
Reimplemented from Ogre::GpuProgram.
Build the constant definition map, must be overridden.
Implements Ogre::HighLevelGpuProgram.
| ID3D11VertexShader * Ogre::D3D11HLSLProgram::getVertexShader | ( | void | ) | const |
| ID3D11PixelShader * Ogre::D3D11HLSLProgram::getPixelShader | ( | void | ) | const |
| ID3D11GeometryShader * Ogre::D3D11HLSLProgram::getGeometryShader | ( | void | ) | const |
| ID3D11DomainShader * Ogre::D3D11HLSLProgram::getDomainShader | ( | void | ) | const |
| ID3D11HullShader * Ogre::D3D11HLSLProgram::getHullShader | ( | void | ) | const |
| ID3D11ComputeShader * Ogre::D3D11HLSLProgram::getComputeShader | ( | void | ) | const |
| ID3D11Buffer * Ogre::D3D11HLSLProgram::getConstantBuffer | ( | GpuProgramParametersSharedPtr | params, |
| uint16 | variabilityMask | ||
| ) |
| void Ogre::D3D11HLSLProgram::getConstantBuffers | ( | ID3D11Buffer ** | buffers, |
| unsigned int & | numBuffers, | ||
| ID3D11ClassInstance ** | classes, | ||
| unsigned int & | numInstances, | ||
| GpuProgramParametersSharedPtr | params, | ||
| uint16 | variabilityMask | ||
| ) |
| void Ogre::D3D11HLSLProgram::CreateVertexShader | ( | ) |
| void Ogre::D3D11HLSLProgram::CreatePixelShader | ( | ) |
| void Ogre::D3D11HLSLProgram::CreateGeometryShader | ( | ) |
| void Ogre::D3D11HLSLProgram::CreateDomainShader | ( | ) |
| void Ogre::D3D11HLSLProgram::CreateHullShader | ( | ) |
| void Ogre::D3D11HLSLProgram::CreateComputeShader | ( | ) |
|
inlinevirtual |
shortcut as we there is no low-level separation here
Reimplemented from Ogre::GpuProgram.
Internal load implementation, must be implemented by subclasses.
Implements Ogre::GpuProgram.
Internal implementation of the meat of the 'prepare' action.
Reimplemented from Ogre::Resource.
| uint32 Ogre::D3D11HLSLProgram::getNameForMicrocodeCache | ( | ) |
| const D3D11_SIGNATURE_PARAMETER_DESC & Ogre::D3D11HLSLProgram::getInputParamDesc | ( | unsigned int | index | ) | const |
| const D3D11_SIGNATURE_PARAMETER_DESC & Ogre::D3D11HLSLProgram::getOutputParamDesc | ( | unsigned int | index | ) | const |
| bool Ogre::D3D11HLSLProgram::mReinterpretingGS |