#include <OgreGLGpuProgram.h>
Inheritance diagram for Ogre::GLArbGpuProgram:
Public Methods | |
GLArbGpuProgram (const String &name, GpuProgramType gptype, const String &syntaxCode) | |
virtual | ~GLArbGpuProgram () |
void | unload (void) |
@copydoc Resource::unload | |
void | bindProgram (void) |
Execute the binding functions for this program. | |
void | unbindProgram (void) |
Execute the unbinding functions for this program. | |
void | bindProgramParameters (GpuProgramParametersSharedPtr params) |
Execute the param binding functions for this program. | |
const GLuint | getProgramType (void) const |
Get the GL type for the program. | |
const GLuint | getProgramID (void) const |
Get the assigned GL program id. | |
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 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 | |
void | loadFromSource (void) |
Overridden from GpuProgram, do nothing. | |
Protected Attributes | |
GLuint | mProgramID |
GLenum | mProgramType |
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? | |
String | mName |
ResourceHandle | mHandle |
bool | mIsLoaded |
time_t | mLastAccess |
size_t | mSize |
Definition at line 62 of file OgreGLGpuProgram.h.
|
Definition at line 36 of file OgreGLGpuProgram.cpp. References glGenProgramsARB_ptr, Ogre::GPT_VERTEX_PROGRAM, Ogre::GpuProgramType, Ogre::GLGpuProgram::mProgramID, and Ogre::GLGpuProgram::mProgramType. |
|
Definition at line 66 of file OgreGLGpuProgram.h. |
|
Returns the GpuProgram which should be bound to the pipeline.
Reimplemented in Ogre::HighLevelGpuProgram. Definition at line 504 of file OgreGpuProgram.h. Referenced by Ogre::SceneManager::renderShadowVolumesToStencil(), and Ogre::SceneManager::setPass(). |
|
Execute the binding functions for this program.
Reimplemented from Ogre::GLGpuProgram. Definition at line 43 of file OgreGLGpuProgram.cpp. References glBindProgramARB_ptr, Ogre::GLGpuProgram::mProgramID, and Ogre::GLGpuProgram::mProgramType. |
|
Execute the param binding functions for this program.
Reimplemented from Ogre::GLGpuProgram. Definition at line 55 of file OgreGLGpuProgram.cpp. References GLenum, glProgramLocalParameter4fvARB_ptr, Ogre::GPT_VERTEX_PROGRAM, Ogre::GpuProgramParametersSharedPtr, Ogre::GpuProgramParameters::RealConstantEntry::isSet, Ogre::GpuProgram::mType, params, and Ogre::GpuProgramParameters::RealConstantEntry::val. |
|
Creates a new parameters object compatible with this program definition.
Reimplemented in Ogre::HighLevelGpuProgram, and Ogre::D3D9HLSLProgram. Definition at line 94 of file OgreGpuProgram.cpp. References Ogre::GpuProgramParametersSharedPtr. Referenced by Ogre::GpuProgramUsage::setProgram(), and Ogre::GpuProgramUsage::setProgramName(). |
|
A method to make the resource delete itself.
Definition at line 137 of file OgreResource.h. |
|
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. |
|
|
Get the assigned GL program id.
Reimplemented in Ogre::GLGpuNvparseProgram. Definition at line 52 of file OgreGLGpuProgram.h. References Ogre::GLGpuProgram::mProgramID. |
|
Get the GL type for the program.
Definition at line 79 of file OgreGLGpuProgram.h. References Ogre::GLGpuProgram::mProgramType. |
|
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 494 of file OgreGpuProgram.h. |
|
Gets the name of the file used as source for this program.
Definition at line 492 of file OgreGpuProgram.h. |
|
Gets the syntax code for this program e.g. arbvp1, fp20, vs_1_1 etc Definition at line 489 of file OgreGpuProgram.h. |
|
Get the program type.
Definition at line 496 of file OgreGpuProgram.h. 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 533 of file OgreGpuProgram.h. Referenced by Ogre::GpuProgram::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 82 of file OgreGpuProgram.cpp. References Ogre::GpuProgram::isSkeletalAnimationIncluded(), Ogre::GpuProgram::mSyntaxCode, and Ogre::RSC_VERTEX_FORMAT_UBYTE4. Referenced by Ogre::Technique::_compile(), Ogre::HighLevelGpuProgram::createParameters(), Ogre::parseFragmentProgramRef(), Ogre::parseParamIndexed(), Ogre::parseParamIndexedAuto(), Ogre::parseParamNamed(), Ogre::parseParamNamedAuto(), Ogre::parseShadowCasterVertexProgramRef(), Ogre::parseShadowReceiverVertexProgramRef(), and Ogre::parseVertexProgramRef(). |
|
@copydoc Resource::load
Implements Ogre::Resource. Reimplemented in Ogre::HighLevelGpuProgram, and Ogre::D3D9GpuProgram. Definition at line 62 of file OgreGpuProgram.cpp. References Ogre::DataChunk::getAsString(), Ogre::GpuProgram::loadFromSource(), Ogre::GpuProgram::mFilename, Ogre::Resource::mIsLoaded, Ogre::GpuProgram::mSource, and Ogre::Resource::unload(). Referenced by Ogre::GpuProgramUsage::_load(), Ogre::SceneManager::deriveShadowCasterPass(), Ogre::SceneManager::deriveShadowReceiverPass(), Ogre::ShadowVolumeExtrudeProgram::initialise(), and Ogre::HighLevelGpuProgram::load(). |
|
Overridden from GpuProgram, do nothing.
Reimplemented from Ogre::GLGpuProgram. Definition at line 85 of file OgreGLGpuProgram.cpp. References Except, glBindProgramARB_ptr, glProgramStringARB_ptr, Ogre::Resource::mName, Ogre::GLGpuProgram::mProgramID, Ogre::GLGpuProgram::mProgramType, and Ogre::GpuProgram::mSource. |
|
Sets whether a vertex program includes the required instructions to perform skeletal animation.
Definition at line 524 of file OgreGpuProgram.h. Referenced by Ogre::MaterialSerializer::finishProgramDefinition(). |
|
Sets the source assembly for this program from an in-memory string.
Definition at line 54 of file OgreGpuProgram.cpp. References Ogre::GpuProgram::mFilename, Ogre::GpuProgram::mLoadFromFile, and Ogre::GpuProgram::mSource. Referenced by Ogre::GpuProgramManager::createProgramFromString(), and Ogre::GpuProgramManager::loadFromString(). |
|
Sets the filename of the source assembly for this program.
Definition at line 47 of file OgreGpuProgram.cpp. References Ogre::GpuProgram::mFilename, Ogre::GpuProgram::mLoadFromFile, and Ogre::GpuProgram::mSource. Referenced by Ogre::GpuProgramManager::createProgram(), Ogre::MaterialSerializer::finishProgramDefinition(), and Ogre::GpuProgramManager::load(). |
|
'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(). |
|
Execute the unbinding functions for this program.
Reimplemented from Ogre::GLGpuProgram. Definition at line 49 of file OgreGLGpuProgram.cpp. References glBindProgramARB_ptr, and Ogre::GLGpuProgram::mProgramType. |
|
@copydoc Resource::unload
Reimplemented from Ogre::Resource. Definition at line 80 of file OgreGLGpuProgram.cpp. References glDeleteProgramsARB_ptr, and Ogre::GLGpuProgram::mProgramID. |
|
The name of the file to load source from (may be blank).
Definition at line 461 of file OgreGpuProgram.h. Referenced by Ogre::GpuProgram::load(), Ogre::D3D9GpuProgram::load(), Ogre::HighLevelGpuProgram::loadHighLevelImpl(), Ogre::GpuProgram::setSource(), and Ogre::GpuProgram::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 465 of file OgreGpuProgram.h. Referenced by Ogre::GpuProgram::setSource(), and Ogre::GpuProgram::setSourceFile(). |
|
|
Reimplemented in Ogre::GLGpuNvparseProgram. Definition at line 57 of file OgreGLGpuProgram.h. Referenced by bindProgram(), Ogre::GLGpuProgram::getProgramID(), GLArbGpuProgram(), loadFromSource(), and unload(). |
|
Reimplemented in Ogre::GLGpuNvparseProgram. Definition at line 58 of file OgreGLGpuProgram.h. Referenced by bindProgram(), getProgramType(), GLArbGpuProgram(), loadFromSource(), and unbindProgram(). |
|
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 469 of file OgreGpuProgram.h. |
|
The assembler source of the program (may be blank until file loaded).
Definition at line 463 of file OgreGpuProgram.h. Referenced by Ogre::GpuProgram::load(), Ogre::D3D9GpuProgram::load(), loadFromSource(), Ogre::GLGpuNvparseProgram::loadFromSource(), Ogre::D3D9HLSLProgram::loadFromSource(), Ogre::D3D9GpuProgram::loadFromSource(), Ogre::CgProgram::loadFromSource(), Ogre::HighLevelGpuProgram::loadHighLevelImpl(), Ogre::GpuProgram::setSource(), and Ogre::GpuProgram::setSourceFile(). |
|
Syntax code eg arbvp1, vs_2_0 etc.
Definition at line 467 of file OgreGpuProgram.h. Referenced by Ogre::GpuProgram::isSupported(). |
|
The type of the program.
Definition at line 459 of file OgreGpuProgram.h. Referenced by bindProgramParameters(), Ogre::D3D9HLSLProgram::createLowLevelImpl(), and Ogre::CgProgram::createLowLevelImpl(). |
Copyright © 2002-2003 by The OGRE Team
Last modified Fri May 14 23:24:00 2004