#include <OgreGpuProgram.h>
Inheritance diagram for Ogre::GpuProgram:
Public Methods | |
GpuProgram (const String &name, GpuProgramType gptype, const String &syntaxCode) | |
virtual | ~GpuProgram () |
virtual void | setSourceFile (const String &filename) |
Sets the filename of the source assembly for this program. | |
virtual void | setSource (const String &source) |
Sets the source assembly for this program from an in-memory string. | |
virtual const String & | getSyntaxCode (void) const |
Gets the syntax code for this program e.g. | |
virtual const String & | getSourceFile (void) const |
Gets the name of the file used as source for this program. | |
virtual const String & | getSource (void) const |
Gets the assembler source for this program. | |
virtual GpuProgramType | getType (void) const |
Get the program type. | |
void | load (void) |
@copydoc Resource::load | |
virtual GpuProgram * | _getBindingDelegate (void) |
Returns the GpuProgram which should be bound to the pipeline. | |
virtual bool | isSupported (void) const |
Returns whether this program can be supported on the current renderer and hardware. | |
virtual GpuProgramParametersSharedPtr | createParameters (void) |
Creates a new parameters object compatible with this program definition. | |
virtual void | setSkeletalAnimationIncluded (bool included) |
Sets whether a vertex program includes the required instructions to perform skeletal animation. | |
virtual bool | isSkeletalAnimationIncluded (void) const |
Returns whether a vertex program includes the required instructions to perform skeletal animation. | |
virtual GpuProgramParametersSharedPtr | getDefaultParameters (void) |
Get a reference to the default parameters which are to be used for all uses of this program. | |
virtual void | setSurfaceAndPassLightStates (bool state) |
Sets whether a vertex program requires light and material states to be passed to through fixed pipeline low level API rendering calls. | |
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. | |
virtual void | unload () |
Unloads the resource, but retains data to recreate. | |
virtual size_t | getSize (void) const |
Retrieves info about the size of the resource. | |
virtual void | touch (void) |
'Touches' the resource to indicate it has been used. | |
time_t | getLastAccess (void) const |
Gets the last time the resource was 'touched'. | |
const String & | getName (void) const |
Gets resource name. | |
ResourceHandle | getHandle (void) const |
bool | isLoaded (void) const |
Returns true if the Resource has been loaded, false otherwise. | |
virtual void | destroy () |
A method to make the resource delete itself. | |
Protected Methods | |
virtual void | loadFromSource (void)=0 |
Virtual method which must be implemented by subclasses, load from mSource. | |
Protected Attributes | |
GpuProgramType | mType |
The type of the program. | |
String | mFilename |
The name of the file to load source from (may be blank). | |
String | mSource |
The assembler source of the program (may be blank until file loaded). | |
bool | mLoadFromFile |
Whether we need to load source from file or not. | |
String | mSyntaxCode |
Syntax code eg arbvp1, vs_2_0 etc. | |
bool | mSkeletalAnimation |
Does this (vertex) program include skeletal animation? | |
GpuProgramParametersSharedPtr | mDefaultParams |
The default parameters for use with this object. | |
bool | mPassSurfaceAndLightStates |
Does this program want light states passed through fixed pipeline. | |
String | mName |
ResourceHandle | mHandle |
bool | mIsLoaded |
time_t | mLastAccess |
size_t | mSize |
Definition at line 497 of file OgreGpuProgram.h.
|
Definition at line 41 of file OgreGpuProgram.cpp. References Ogre::GpuProgramType, Ogre::Resource::mName, and Ogre::String. |
|
Definition at line 520 of file OgreGpuProgram.h. References Ogre::GpuProgramType, and Ogre::String. |
|
Returns the GpuProgram which should be bound to the pipeline.
Reimplemented in Ogre::HighLevelGpuProgram. Definition at line 550 of file OgreGpuProgram.h. Referenced by Ogre::SceneManager::renderShadowVolumesToStencil(), and Ogre::SceneManager::setPass(). |
|
Creates a new parameters object compatible with this program definition.
Reimplemented in Ogre::HighLevelGpuProgram, and Ogre::D3D9HLSLProgram. Definition at line 95 of file OgreGpuProgram.cpp. References Ogre::GpuProgramParametersSharedPtr, and mDefaultParams. Referenced by getDefaultParameters(), Ogre::GpuProgramUsage::setProgram(), and Ogre::GpuProgramUsage::setProgramName(). |
|
A method to make the resource delete itself.
Definition at line 137 of file OgreResource.h. |
|
Get a reference to the default parameters which are to be used for all uses of this program.
Definition at line 107 of file OgreGpuProgram.cpp. References createParameters(), Ogre::GpuProgramParametersSharedPtr, and mDefaultParams. Referenced by Ogre::MaterialSerializer::finishProgramDefinition(). |
|
Definition at line 120 of file OgreResource.h. References Ogre::ResourceHandle. Referenced by Ogre::Material::clone(), Ogre::BspLevel::loadQuake3Level(), and Ogre::ResourceManager::unload(). |
|
Gets the last time the resource was 'touched'.
Definition at line 108 of file OgreResource.h. |
|
|
Returns whether a vertex program wants light and material states to be passed through fixed pipeline low level API rendering calls.
Definition at line 607 of file OgreGpuProgram.h. Referenced by Ogre::SceneManager::setPass(). |
|
Retrieves info about the size of the resource.
Definition at line 93 of file OgreResource.h. Referenced by Ogre::ResourceManager::unload(). |
|
Gets the assembler source for this program.
Definition at line 540 of file OgreGpuProgram.h. References Ogre::String. |
|
Gets the name of the file used as source for this program.
Definition at line 538 of file OgreGpuProgram.h. |
|
Gets the syntax code for this program e.g. arbvp1, fp20, vs_1_1 etc Definition at line 535 of file OgreGpuProgram.h. References Ogre::String. Referenced by Ogre::GLSLProgram::attachChildShader(). |
|
Get the program type.
Definition at line 542 of file OgreGpuProgram.h. References Ogre::String. Referenced by Ogre::GLRenderSystem::bindGpuProgram(), and Ogre::D3D9RenderSystem::bindGpuProgram(). |
|
Returns true if the Resource has been loaded, false otherwise.
Definition at line 127 of file OgreResource.h. Referenced by Ogre::GpuProgramUsage::_load(), Ogre::SceneManager::deriveShadowCasterPass(), Ogre::SceneManager::deriveShadowReceiverPass(), Ogre::Technique::isLoaded(), Ogre::D3D9Texture::load(), Ogre::D3D9Texture::unload(), and Ogre::D3D9Texture::~D3D9Texture(). |
|
Returns whether a vertex program includes the required instructions to perform skeletal animation.
Definition at line 579 of file OgreGpuProgram.h. Referenced by isSupported(), Ogre::D3D9HLSLProgram::isSupported(), Ogre::CgProgram::isSupported(), and Ogre::Entity::reevaluateVertexProcessing(). |
|
Returns whether this program can be supported on the current renderer and hardware.
Reimplemented in Ogre::CgProgram, and Ogre::D3D9HLSLProgram. Definition at line 83 of file OgreGpuProgram.cpp. References isSkeletalAnimationIncluded(), mSyntaxCode, and Ogre::RSC_VERTEX_FORMAT_UBYTE4. Referenced by Ogre::Technique::_compile(), Ogre::GLSLProgram::attachChildShader(), Ogre::HighLevelGpuProgram::createParameters(), Ogre::MaterialSerializer::finishProgramDefinition(), Ogre::GLSLProgram::GLSLProgram(), Ogre::parseFragmentProgramRef(), Ogre::parseParamIndexed(), Ogre::parseParamIndexedAuto(), Ogre::parseParamNamed(), Ogre::parseParamNamedAuto(), Ogre::parseShadowCasterVertexProgramRef(), Ogre::parseShadowReceiverVertexProgramRef(), Ogre::parseVertexProgramRef(), and Ogre::GLSLProgram::unloadImpl(). |
|
@copydoc Resource::load
Implements Ogre::Resource. Reimplemented in Ogre::HighLevelGpuProgram, Ogre::D3D9GpuProgram, and Ogre::GLSLGpuProgram. Definition at line 63 of file OgreGpuProgram.cpp. References Ogre::DataChunk::getAsString(), loadFromSource(), mFilename, Ogre::Resource::mIsLoaded, mSource, and Ogre::Resource::unload(). Referenced by Ogre::GpuProgramUsage::_load(), Ogre::SceneManager::deriveShadowCasterPass(), Ogre::SceneManager::deriveShadowReceiverPass(), Ogre::ShadowVolumeExtrudeProgram::initialise(), and Ogre::HighLevelGpuProgram::load(). |
|
Virtual method which must be implemented by subclasses, load from mSource.
Implemented in Ogre::CgProgram, Ogre::D3D7GpuProgram, Ogre::D3D9GpuProgram, Ogre::D3D9HLSLProgram, Ogre::GLGpuNvparseProgram, Ogre::GLGpuProgram, Ogre::GLArbGpuProgram, Ogre::GLSLGpuProgram, and Ogre::GLSLProgram. Referenced by load(), and Ogre::HighLevelGpuProgram::loadHighLevelImpl(). |
|
Sets whether a vertex program includes the required instructions to perform skeletal animation.
Definition at line 570 of file OgreGpuProgram.h. Referenced by Ogre::MaterialSerializer::finishProgramDefinition(). |
|
Sets the source assembly for this program from an in-memory string.
Definition at line 55 of file OgreGpuProgram.cpp. References mFilename, mLoadFromFile, mSource, and Ogre::String. Referenced by Ogre::GpuProgramManager::createProgramFromString(), and Ogre::GpuProgramManager::loadFromString(). |
|
Sets the filename of the source assembly for this program.
Definition at line 48 of file OgreGpuProgram.cpp. References mFilename, mLoadFromFile, mSource, and Ogre::String. Referenced by Ogre::GpuProgramManager::createProgram(), Ogre::MaterialSerializer::finishProgramDefinition(), and Ogre::GpuProgramManager::load(). |
|
Sets whether a vertex program requires light and material states to be passed to through fixed pipeline low level API rendering calls.
Definition at line 601 of file OgreGpuProgram.h. |
|
'Touches' the resource to indicate it has been used.
Reimplemented in Ogre::Material. Definition at line 100 of file OgreResource.h. Referenced by Ogre::Mesh::clone(), Ogre::MeshManager::createCurvedIllusionPlane(), Ogre::MeshManager::createCurvedPlane(), Ogre::MeshManager::createPlane(), and Ogre::ResourceManager::load(). |
|
Unloads the resource, but retains data to recreate.
Reimplemented in Ogre::ArchiveEx, Ogre::DynLib, Ogre::Font, Ogre::HighLevelGpuProgram, Ogre::Material, Ogre::Mesh, Ogre::Overlay, Ogre::Skeleton, Ogre::SkeletonInstance, Ogre::Zip, Ogre::BspLevel, Ogre::Quake3Shader, Ogre::D3DTexture, Ogre::D3D9GpuVertexProgram, Ogre::D3D9GpuFragmentProgram, Ogre::D3D9Texture, Ogre::GLGpuNvparseProgram, Ogre::GLArbGpuProgram, Ogre::GLTexture, and Ogre::GLSLGpuProgram. Definition at line 89 of file OgreResource.h. Referenced by load(), Ogre::D3D9GpuProgram::load(), Ogre::ResourceManager::unload(), Ogre::HighLevelGpuProgram::unload(), and Ogre::D3D7RenderTexture::~D3D7RenderTexture(). |
|
The default parameters for use with this object.
Definition at line 513 of file OgreGpuProgram.h. Referenced by Ogre::HighLevelGpuProgram::createParameters(), createParameters(), and getDefaultParameters(). |
|
The name of the file to load source from (may be blank).
Definition at line 503 of file OgreGpuProgram.h. Referenced by load(), Ogre::D3D9GpuProgram::load(), Ogre::HighLevelGpuProgram::loadHighLevelImpl(), setSource(), and setSourceFile(). |
|
Definition at line 57 of file OgreResource.h. Referenced by Ogre::ResourceManager::add(), Ogre::Material::clone(), Ogre::Material::copyDetailsTo(), and Ogre::Material::operator=(). |
|
|
Definition at line 59 of file OgreResource.h. Referenced by Ogre::Material::operator=(). |
|
Whether we need to load source from file or not.
Definition at line 507 of file OgreGpuProgram.h. Referenced by Ogre::GLSLGpuProgram::GLSLGpuProgram(), setSource(), and setSourceFile(). |
|
|
Does this program want light states passed through fixed pipeline.
Definition at line 515 of file OgreGpuProgram.h. Referenced by Ogre::GLSLProgram::GLSLProgram(). |
|
Definition at line 60 of file OgreResource.h. Referenced by Ogre::D3D9Texture::_setFinalAttributes(), Ogre::D3DTexture::loadImage(), Ogre::D3DTexture::loadImage3D(), Ogre::GLTexture::loadImages(), and Ogre::Material::operator=(). |
|
Does this (vertex) program include skeletal animation?
Definition at line 511 of file OgreGpuProgram.h. |
|
The assembler source of the program (may be blank until file loaded).
Definition at line 505 of file OgreGpuProgram.h. Referenced by load(), Ogre::D3D9GpuProgram::load(), Ogre::GLSLProgram::loadFromSource(), Ogre::GLArbGpuProgram::loadFromSource(), Ogre::GLGpuNvparseProgram::loadFromSource(), Ogre::D3D9HLSLProgram::loadFromSource(), Ogre::D3D9GpuProgram::loadFromSource(), Ogre::CgProgram::loadFromSource(), Ogre::HighLevelGpuProgram::loadHighLevelImpl(), setSource(), and setSourceFile(). |
|
Syntax code eg arbvp1, vs_2_0 etc.
Definition at line 509 of file OgreGpuProgram.h. Referenced by isSupported(). |
|
The type of the program.
Definition at line 501 of file OgreGpuProgram.h. Referenced by Ogre::GLSLGpuProgram::bindProgram(), Ogre::GLArbGpuProgram::bindProgramParameters(), Ogre::D3D9HLSLProgram::createLowLevelImpl(), Ogre::CgProgram::createLowLevelImpl(), and Ogre::GLSLGpuProgram::unbindProgram(). |
Copyright © 2002-2003 by The OGRE Team
Last modified Sun Nov 28 19:50:44 2004