Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

Ogre::GLGpuNvparseProgram Class Reference

#include <OgreGLGpuNvparseProgram.h>

Inheritance diagram for Ogre::GLGpuNvparseProgram:

Inheritance graph
[legend]
Collaboration diagram for Ogre::GLGpuNvparseProgram:

Collaboration graph
[legend]
List of all members.

Public Methods

 GLGpuNvparseProgram (const String &name, GpuProgramType gptype, const String &syntaxCode)
virtual ~GLGpuNvparseProgram ()
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 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 StringgetSyntaxCode (void) const
 Gets the syntax code for this program e.g.

virtual const StringgetSourceFile (void) const
 Gets the name of the file used as source for this program.

virtual const StringgetSource (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 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 StringgetName (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)
 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.

String mName
ResourceHandle mHandle
bool mIsLoaded
time_t mLastAccess
size_t mSize

Private Attributes

GLuint mProgramID
GLenum mProgramType

Constructor & Destructor Documentation

GLGpuNvparseProgram::GLGpuNvparseProgram const String   name,
GpuProgramType    gptype,
const String   syntaxCode
 

Definition at line 36 of file OgreGLGpuNvparseProgram.cpp.

References Ogre::GpuProgramType, and mProgramID.

virtual Ogre::GLGpuNvparseProgram::~GLGpuNvparseProgram   [virtual]
 

Definition at line 38 of file OgreGLGpuNvparseProgram.h.


Member Function Documentation

virtual GpuProgram* Ogre::GpuProgram::_getBindingDelegate void    [virtual, inherited]
 

Returns the GpuProgram which should be bound to the pipeline.

Remarks:
This method is simply to allow some subclasses of GpuProgram to delegate the program which is bound to the pipeline to a delegate, if required.

Reimplemented in Ogre::HighLevelGpuProgram.

Definition at line 465 of file OgreGpuProgram.h.

Referenced by Ogre::SceneManager::setPass().

void GLGpuNvparseProgram::bindProgram void    [virtual]
 

Execute the binding functions for this program.

Implements Ogre::GLGpuProgram.

Definition at line 42 of file OgreGLGpuNvparseProgram.cpp.

References mProgramID.

void GLGpuNvparseProgram::bindProgramParameters GpuProgramParametersSharedPtr    params [virtual]
 

Execute the param binding functions for this program.

Implements Ogre::GLGpuProgram.

Definition at line 58 of file OgreGLGpuNvparseProgram.cpp.

References glCombinerStageParameterfvNV_ptr, Ogre::GpuProgramParametersSharedPtr, Ogre::GpuProgramParameters::RealConstantEntry::isSet, and Ogre::GpuProgramParameters::RealConstantEntry::val.

GpuProgramParametersSharedPtr Ogre::GpuProgram::createParameters void    [virtual, inherited]
 

Creates a new parameters object compatible with this program definition.

Remarks:
It is recommended that you use this method of creating parameters objects rather than going direct to GpuProgramManager, because this method will populate any implementation-specific extras (like named parameters) where they are appropriate.

Reimplemented in Ogre::HighLevelGpuProgram, and Ogre::D3D9HLSLProgram.

Definition at line 84 of file OgreGpuProgram.cpp.

References Ogre::GpuProgramParametersSharedPtr.

Referenced by Ogre::GpuProgramUsage::setProgram(), and Ogre::GpuProgramUsage::setProgramName().

virtual void Ogre::Resource::destroy void    [virtual, inherited]
 

A method to make the resource delete itself.

Note:
This exists because Resource objects could be created in other processes, and they need to be destroyed in the process that created them.

Definition at line 137 of file OgreResource.h.

ResourceHandle Ogre::Resource::getHandle void    const [inherited]
 

Definition at line 120 of file OgreResource.h.

References Ogre::ResourceHandle.

Referenced by Ogre::Material::clone(), Ogre::BspLevel::loadQuake3Level(), and Ogre::ResourceManager::unload().

time_t Ogre::Resource::getLastAccess void    const [inherited]
 

Gets the last time the resource was 'touched'.

Definition at line 108 of file OgreResource.h.

const String& Ogre::Resource::getName void    const [inherited]
 

Gets resource name.

Reimplemented in Ogre::Material, and Ogre::Overlay.

Definition at line 115 of file OgreResource.h.

Referenced by Ogre::D3D9Texture::_loadCubeTex(), Ogre::Mesh::_notifySkeleton(), Ogre::ResourceManager::add(), Ogre::PopupMenuGuiElement::addListItem(), Ogre::ListGuiElement::addListItem(), Ogre::PopupMenuGuiElement::addMenuItem(), Ogre::MeshManager::createPrefabPlane(), Ogre::TTYGuiElement::getFontName(), Ogre::TextAreaGuiElement::getFontName(), Ogre::PopupMenuGuiElement::getListItemName(), Ogre::ListGuiElement::getListItemName(), Ogre::GpuProgramUsage::getProgramName(), Ogre::MeshSerializer::importMesh(), Ogre::GLTexture::load(), Ogre::TextureManager::loadImage(), Ogre::TextureManager::loadRawData(), Ogre::FontManager::logBadAttrib(), Ogre::MeshSerializerImpl_v1::readMaterial(), Ogre::MeshSerializerImpl::readMeshLodInfo(), Ogre::MeshSerializerImpl_v1::readMeshLodUsageGenerated(), Ogre::MeshSerializerImpl::readMeshLodUsageGenerated(), Ogre::MeshSerializerImpl::readMeshLodUsageManual(), Ogre::PopupMenuGuiElement::removeListItem(), Ogre::ListGuiElement::removeListItem(), Ogre::SceneManager::setSkyBox(), Ogre::SceneManager::setSkyDome(), and Ogre::ResourceManager::unload().

const GLuint Ogre::GLGpuNvparseProgram::getProgramID void    const
 

Get the assigned GL program id.

Reimplemented from Ogre::GLGpuProgram.

Definition at line 51 of file OgreGLGpuNvparseProgram.h.

References mProgramID.

virtual size_t Ogre::Resource::getSize void    const [virtual, inherited]
 

Retrieves info about the size of the resource.

Definition at line 93 of file OgreResource.h.

Referenced by Ogre::ResourceManager::unload().

virtual const String& Ogre::GpuProgram::getSource void    const [virtual, inherited]
 

Gets the assembler source for this program.

Definition at line 455 of file OgreGpuProgram.h.

virtual const String& Ogre::GpuProgram::getSourceFile void    const [virtual, inherited]
 

Gets the name of the file used as source for this program.

Definition at line 453 of file OgreGpuProgram.h.

virtual const String& Ogre::GpuProgram::getSyntaxCode void    const [virtual, inherited]
 

Gets the syntax code for this program e.g.

arbvp1, fp20, vs_1_1 etc

Definition at line 450 of file OgreGpuProgram.h.

virtual GpuProgramType Ogre::GpuProgram::getType void    const [virtual, inherited]
 

Get the program type.

Definition at line 457 of file OgreGpuProgram.h.

Referenced by Ogre::GLRenderSystem::bindGpuProgram(), and Ogre::D3D9RenderSystem::bindGpuProgram().

bool Ogre::Resource::isLoaded void    const [inherited]
 

Returns true if the Resource has been loaded, false otherwise.

Definition at line 127 of file OgreResource.h.

Referenced by Ogre::GpuProgramUsage::_load(), Ogre::Technique::isLoaded(), Ogre::D3D9Texture::load(), Ogre::D3D9Texture::unload(), and Ogre::D3D9Texture::~D3D9Texture().

bool Ogre::GpuProgram::isSupported void    const [virtual, inherited]
 

Returns whether this program can be supported on the current renderer and hardware.

Reimplemented in Ogre::CgProgram, and Ogre::D3D9HLSLProgram.

Definition at line 79 of file OgreGpuProgram.cpp.

References Ogre::GpuProgram::mSyntaxCode.

Referenced by Ogre::Technique::_compile(), Ogre::HighLevelGpuProgram::createParameters(), Ogre::parseFragmentProgramRef(), Ogre::parseParamIndexed(), Ogre::parseParamIndexedAuto(), Ogre::parseParamNamed(), Ogre::parseParamNamedAuto(), and Ogre::parseVertexProgramRef().

void Ogre::GpuProgram::load void    [virtual, inherited]
 

@copydoc Resource::load

Implements Ogre::Resource.

Reimplemented in Ogre::HighLevelGpuProgram, and Ogre::D3D9GpuProgram.

Definition at line 59 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(), and Ogre::HighLevelGpuProgram::load().

void GLGpuNvparseProgram::loadFromSource void    [protected, virtual]
 

Virtual method which must be implemented by subclasses, load from mSource.

Implements Ogre::GpuProgram.

Definition at line 89 of file OgreGLGpuNvparseProgram.cpp.

References mProgramID, and Ogre::GpuProgram::mSource.

void Ogre::GpuProgram::setSource const String   source [virtual, inherited]
 

Sets the source assembly for this program from an in-memory string.

Remarks:
Setting this will have no effect until you (re)load the program.

Definition at line 51 of file OgreGpuProgram.cpp.

References Ogre::GpuProgram::mFilename, Ogre::GpuProgram::mLoadFromFile, and Ogre::GpuProgram::mSource.

Referenced by Ogre::GpuProgramManager::createProgramFromString(), and Ogre::GpuProgramManager::loadFromString().

void Ogre::GpuProgram::setSourceFile const String   filename [virtual, inherited]
 

Sets the filename of the source assembly for this program.

Remarks:
Setting this will have no effect until you (re)load the program.

Definition at line 44 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().

virtual void Ogre::Resource::touch void    [virtual, inherited]
 

'Touches' the resource to indicate it has been used.

Reimplemented in Ogre::Material.

Definition at line 100 of file OgreResource.h.

Referenced by Ogre::ResourceManager::load().

void GLGpuNvparseProgram::unbindProgram void    [virtual]
 

Execute the unbinding functions for this program.

Implements Ogre::GLGpuProgram.

Definition at line 50 of file OgreGLGpuNvparseProgram.cpp.

void GLGpuNvparseProgram::unload void    [virtual]
 

@copydoc Resource::unload

Reimplemented from Ogre::Resource.

Definition at line 84 of file OgreGLGpuNvparseProgram.cpp.

References mProgramID.


Member Data Documentation

String Ogre::GpuProgram::mFilename [protected, inherited]
 

The name of the file to load source from (may be blank).

Definition at line 424 of file OgreGpuProgram.h.

Referenced by Ogre::GpuProgram::load(), Ogre::D3D9GpuProgram::load(), Ogre::HighLevelGpuProgram::loadHighLevelImpl(), Ogre::GpuProgram::setSource(), and Ogre::GpuProgram::setSourceFile().

ResourceHandle Ogre::Resource::mHandle [protected, inherited]
 

Definition at line 57 of file OgreResource.h.

Referenced by Ogre::ResourceManager::add(), Ogre::Material::clone(), Ogre::Material::copyDetailsTo(), and Ogre::Material::operator=().

bool Ogre::Resource::mIsLoaded [protected, inherited]
 

Definition at line 58 of file OgreResource.h.

Referenced by Ogre::D3D9Texture::_initMembers(), Ogre::D3D9Texture::_loadCubeTex(), Ogre::D3D9Texture::_loadNormTex(), Ogre::D3D9Texture::_loadVolumeTex(), Ogre::Material::_notifyNeedsRecompile(), Ogre::Material::clone(), Ogre::D3DTexture::createSurface2D(), Ogre::D3DTexture::createSurface3D(), Ogre::D3D9Texture::D3D9Texture(), Ogre::D3DTexture::D3DTexture(), Ogre::DynLib::DynLib(), Ogre::Zip::load(), Ogre::Skeleton::load(), Ogre::PatchMesh::load(), Ogre::Mesh::load(), Ogre::Material::load(), Ogre::HighLevelGpuProgram::load(), Ogre::GpuProgram::load(), Ogre::GLTexture::load(), Ogre::Font::load(), Ogre::DynLib::load(), Ogre::D3D9Texture::load(), Ogre::D3D9GpuProgram::load(), Ogre::D3DTexture::load(), Ogre::BspLevel::load(), Ogre::D3D9Texture::loadImage(), Ogre::D3DTexture::loadImage(), Ogre::D3DTexture::loadImage3D(), Ogre::GLTexture::loadImages(), Ogre::Material::Material(), Ogre::Material::operator=(), Ogre::Skeleton::unload(), Ogre::Mesh::unload(), Ogre::Material::unload(), Ogre::HighLevelGpuProgram::unload(), Ogre::GLTexture::unload(), Ogre::Font::unload(), Ogre::DynLib::unload(), Ogre::D3D9Texture::unload(), Ogre::D3DTexture::unload(), and Ogre::BspLevel::~BspLevel().

time_t Ogre::Resource::mLastAccess [protected, inherited]
 

Definition at line 59 of file OgreResource.h.

Referenced by Ogre::Material::operator=().

bool Ogre::GpuProgram::mLoadFromFile [protected, inherited]
 

Whether we need to load source from file or not.

Definition at line 428 of file OgreGpuProgram.h.

Referenced by Ogre::GpuProgram::setSource(), and Ogre::GpuProgram::setSourceFile().

String Ogre::Resource::mName [protected, inherited]
 

Definition at line 56 of file OgreResource.h.

Referenced by Ogre::Skeleton::_dumpContents(), Ogre::Mesh::_rationaliseBoneAssignments(), Ogre::BspLevel::BspLevel(), Ogre::Mesh::buildTangentVectors(), Ogre::Material::clone(), Ogre::Material::compile(), Ogre::Material::copyDetailsTo(), Ogre::Quake3Shader::createAsMaterial(), Ogre::D3D9HLSLProgram::createLowLevelImpl(), Ogre::CgProgram::createLowLevelImpl(), Ogre::Font::createTextureFromFont(), Ogre::D3D9Texture::D3D9Texture(), Ogre::D3DTexture::D3DTexture(), Ogre::DynLib::DynLib(), Ogre::Font::Font(), Ogre::Mesh::generateLodLevels(), Ogre::Material::getBestTechnique(), Ogre::Overlay::getName(), Ogre::Material::getName(), Ogre::GLTexture::GLTexture(), Ogre::GpuProgram::GpuProgram(), Ogre::Zip::load(), Ogre::Skeleton::load(), Ogre::Mesh::load(), Ogre::GLTexture::load(), Ogre::Font::load(), Ogre::DynLib::load(), Ogre::D3DTexture::load(), Ogre::BspLevel::load(), Ogre::D3D9GpuFragmentProgram::loadFromMicrocode(), Ogre::D3D9GpuVertexProgram::loadFromMicrocode(), Ogre::GLArbGpuProgram::loadFromSource(), Ogre::D3D9HLSLProgram::loadFromSource(), Ogre::D3D9GpuProgram::loadFromSource(), Ogre::CgProgram::loadFromSource(), Ogre::GLTexture::loadImages(), Ogre::Material::Material(), Ogre::Mesh::Mesh(), Ogre::Material::operator=(), Ogre::Overlay::Overlay(), Ogre::Quake3Shader::Quake3Shader(), Ogre::CgProgram::selectProfile(), Ogre::Mesh::setSkeletonName(), Ogre::Skeleton::Skeleton(), Ogre::StringResource::StringResource(), Ogre::Zip::unload(), Ogre::DynLib::unload(), Ogre::CgProgram::unloadImpl(), and Ogre::Zip::Zip().

GLuint Ogre::GLGpuNvparseProgram::mProgramID [private]
 

Reimplemented from Ogre::GLGpuProgram.

Definition at line 58 of file OgreGLGpuNvparseProgram.h.

Referenced by bindProgram(), getProgramID(), GLGpuNvparseProgram(), loadFromSource(), and unload().

GLenum Ogre::GLGpuNvparseProgram::mProgramType [private]
 

Reimplemented from Ogre::GLGpuProgram.

Definition at line 59 of file OgreGLGpuNvparseProgram.h.

size_t Ogre::Resource::mSize [protected, inherited]
 

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=().

String Ogre::GpuProgram::mSource [protected, inherited]
 

The assembler source of the program (may be blank until file loaded).

Definition at line 426 of file OgreGpuProgram.h.

Referenced by Ogre::GpuProgram::load(), Ogre::D3D9GpuProgram::load(), Ogre::GLArbGpuProgram::loadFromSource(), loadFromSource(), Ogre::D3D9HLSLProgram::loadFromSource(), Ogre::D3D9GpuProgram::loadFromSource(), Ogre::CgProgram::loadFromSource(), Ogre::HighLevelGpuProgram::loadHighLevelImpl(), Ogre::GpuProgram::setSource(), and Ogre::GpuProgram::setSourceFile().

String Ogre::GpuProgram::mSyntaxCode [protected, inherited]
 

Syntax code eg arbvp1, vs_2_0 etc.

Definition at line 430 of file OgreGpuProgram.h.

Referenced by Ogre::GpuProgram::isSupported().

GpuProgramType Ogre::GpuProgram::mType [protected, inherited]
 

The type of the program.

Definition at line 422 of file OgreGpuProgram.h.

Referenced by Ogre::GLArbGpuProgram::bindProgramParameters(), Ogre::D3D9HLSLProgram::createLowLevelImpl(), and Ogre::CgProgram::createLowLevelImpl().


The documentation for this class was generated from the following files:

Copyright © 2002-2003 by The OGRE Team
Last modified Wed Jan 21 00:12:32 2004