Page principale | Liste des namespaces | Hiérarchie des classes | Liste par ordre alphabétique | Liste des composants | Liste des fichiers | Membres des namespaces | Composants | Déclarations

Référence de la classe ExManagerVertexProgram

#include <ExManagerVertexProgram.h>

Graphe d'héritage de la classe ExManagerVertexProgram

ExManagerObject< ExCVertexProgram > ExManager

Membres publics

void Init (void)
void Reset (void)
void Draw (void)
unsigned char * readShaderFile (const char *fileName)
void SetManagerId (ExManagerId *Id)
void Init (std::string FileName)
void Reload (void)
void List (void)
bool Add (ExCVertexProgramobject)
bool Add (std::string FileName)
bool Load (std::string FileName)
bool Remove (ExNihilo::ExId id)
bool Remove (std::string Name)
bool RemoveCurrentObject (void)
ExCVertexProgramGetObject (ExNihilo::ExId id)
ExCVertexProgramGetObject (std::string Name)
ExCVertexProgramGetCurrentObject (void)
ExCVertexProgramGetFirstObject (void)
ExCVertexProgramGetLastObject (void)
ExNihilo::ExId GetFirstObjectId (void)
ExNihilo::ExId GetLasstObjectId (void)
bool SetCurrentObject (ExNihilo::ExId id)
bool SetCurrentObject (std::string Name)
ExNihilo::ExId NextObject (void)
ExNihilo::ExId PreviousObject (void)
unsigned int GetNumberObject (void)
void SetFlux (std::ostrstream *consol, ExCFluxAction *action)
bool GetStatus (void)
void SetStatus (bool status)
void SetAskForCommand (bool status)
void SetAskForExclusifCommand (bool status)
bool AskForCommand (void)
bool AskForExclusifCommand (void)
virtual ExCAction InputCommand (ExCCommand Command)
virtual ExCAction InputAction (ExCAction Action)

Membres publics statiques

ExManagerVertexProgramCreateSingleton (void)

Attributs Publics

std::ostrstream * Consol
ExCFluxActionFluxAction

Attributs Protégés

std::map< ExNihilo::ExId,
ExCVertexProgram, std::less<
ExNihilo::ExId > > * 
m_Map
std::map< ExNihilo::ExId,
ExCVertexProgram, std::less<
ExNihilo::ExId > >::iterator 
m_ItMap
ExManagerIdManagerId
ExNihilo::ExId m_CurrentObjectId
bool m_Status
bool m_AskForCommand
bool m_Exclusif

Membres privés

 ExManagerVertexProgram (void)
 ~ExManagerVertexProgram (void)

Attributs Privés

PFNGLGENPROGRAMSNVPROC glGenProgramsNV
PFNGLDELETEPROGRAMSNVPROC glDeleteProgramsNV
PFNGLBINDPROGRAMNVPROC glBindProgramNV
PFNGLLOADPROGRAMNVPROC glLoadProgramNV
PFNGLPROGRAMPARAMETER4FNVPROC glProgramParameter4fNV
PFNGLTRACKMATRIXNVPROC glTrackMatrixNV
GLuint g_vertexProgramID

Attributs Privés Statiques

bool m_flag = false
ExManagerVertexProgramm_instance = NULL

Documentation des contructeurs et destructeurs

ExManagerVertexProgram::ExManagerVertexProgram void   )  [private]
 

Définition à la ligne 43 du fichier ExManagerVertexProgram.cpp.

00044 {
00045 
00046 }

ExManagerVertexProgram::~ExManagerVertexProgram void   )  [private]
 

Définition à la ligne 48 du fichier ExManagerVertexProgram.cpp.

00049 {
00050         
00051 }


Documentation des méthodes

bool ExManagerObject< ExCVertexProgram >::Add std::string  FileName  )  [inherited]
 

bool ExManagerObject< ExCVertexProgram >::Add ExCVertexProgram   object  )  [inherited]
 

bool ExManager::AskForCommand void   )  [inline, inherited]
 

Définition à la ligne 89 du fichier ExManager.h.

Références ExManager::m_AskForCommand.

Référencé par ExManagerCommand::InputCommand().

00089 {return m_AskForCommand;}

bool ExManager::AskForExclusifCommand void   )  [inline, inherited]
 

Définition à la ligne 90 du fichier ExManager.h.

Références ExManager::m_Exclusif.

Référencé par ExManagerCommand::InputCommand().

00090 {return m_Exclusif;}

ExManagerVertexProgram * ExManagerVertexProgram::CreateSingleton void   )  [static]
 

Définition à la ligne 29 du fichier ExManagerVertexProgram.cpp.

Références CreateSingleton(), Guard, m_flag, m_instance, et UnGuard.

Référencé par CreateManager(), et CreateSingleton().

00029                                                                    {
00030 Guard(ExManagerVertexProgram* ExManagerVertexProgram::CreateSingleton(void))
00031         if(!m_flag)
00032         {
00033                 m_flag = true; // We are creating the error log now, so set flag to true
00034                 m_instance = new ExManagerVertexProgram; // Create the error log
00035         }else
00036         {
00037                 std::cout<<"Error singleton already created"<<std::endl;
00038         }
00039         return m_instance; 
00040 UnGuard
00041 }

void ExManagerVertexProgram::Draw void   )  [virtual]
 

Redéfinie à partir de ExManagerObject< ExCVertexProgram >.

Définition à la ligne 144 du fichier ExManagerVertexProgram.cpp.

Références Draw(), g_quadVertices, g_vertexProgramID, glBindProgramNV, glProgramParameter4fNV, glTrackMatrixNV, Guard, ExNihilo::ShowGlError(), et UnGuard.

Référencé par Draw().

00145 {
00146 Guard (void ExManagerVertexProgram::Draw (void))
00147         std::cout<<"Draw"<<std::endl;
00148         //glMatrixMode( GL_MODELVIEW );
00149     //glLoadIdentity();
00150         glTranslatef( 0.0f, 0.0f, -5.0f );
00151   //  glRotatef( -45, 1.0f, 0.0f, 0.0f );
00152    // glRotatef( -g_fSpinX, 0.0f, 1.0f, 0.0f );
00153 
00154     // Track the combined model-view-projection matrix in registers c[0]-c[3]
00155     glTrackMatrixNV( GL_VERTEX_PROGRAM_NV, 0, GL_MODELVIEW_PROJECTION_NV, GL_IDENTITY_NV );
00156         std::cout<<"glTrackMatrixNV"<<std::endl;ExNihilo::ShowGlError();
00157     // Load a constant color into register c[4]
00158 
00159     glProgramParameter4fNV( GL_VERTEX_PROGRAM_NV, 4, 0.0f, 1.0f, 0.0f, 0.0f );
00160         std::cout<<"glProgramParameter4fNV"<<std::endl;ExNihilo::ShowGlError();
00161         glBindProgramNV( GL_VERTEX_PROGRAM_NV, g_vertexProgramID );
00162         std::cout<<"glBindProgramNV"<<std::endl;ExNihilo::ShowGlError();
00163         glEnable( GL_VERTEX_PROGRAM_NV );
00164         std::cout<<"glEnable"<<std::endl;ExNihilo::ShowGlError();
00165         glInterleavedArrays( GL_C4UB_V3F, 0, g_quadVertices );
00166         glDrawArrays( GL_QUADS, 0, 4 );
00167 
00168         glDisable( GL_VERTEX_PROGRAM_NV );
00169         std::cout<<"glDisable"<<std::endl;ExNihilo::ShowGlError();
00170         
00171 UnGuard
00172 }

ExCVertexProgram * ExManagerObject< ExCVertexProgram >::GetCurrentObject void   )  [inherited]
 

ExCVertexProgram * ExManagerObject< ExCVertexProgram >::GetFirstObject void   )  [inherited]
 

ExNihilo::ExId ExManagerObject< ExCVertexProgram >::GetFirstObjectId void   )  [inherited]
 

ExNihilo::ExId ExManagerObject< ExCVertexProgram >::GetLasstObjectId void   )  [inherited]
 

ExCVertexProgram * ExManagerObject< ExCVertexProgram >::GetLastObject void   )  [inherited]
 

unsigned int ExManagerObject< ExCVertexProgram >::GetNumberObject void   )  [inline, inherited]
 

Définition à la ligne 124 du fichier ExManagerObject.h.

00124 {return m_Map->size();}

ExCVertexProgram * ExManagerObject< ExCVertexProgram >::GetObject std::string  Name  )  [inherited]
 

ExCVertexProgram * ExManagerObject< ExCVertexProgram >::GetObject ExNihilo::ExId  id  )  [inherited]
 

bool ExManager::GetStatus void   )  [inline, inherited]
 

Définition à la ligne 85 du fichier ExManager.h.

Références ExManager::m_Status.

Référencé par ExManagerInterface::Draw(), ExManagerConsole::Draw(), et ExManagerOutput::DrawScene().

00085 {return m_Status;}

void ExManagerObject< ExCVertexProgram >::Init std::string  FileName  )  [inherited]
 

void ExManagerVertexProgram::Init void   )  [virtual]
 

Redéfinie à partir de ExManagerObject< ExCVertexProgram >.

Définition à la ligne 53 du fichier ExManagerVertexProgram.cpp.

Références Guard, et UnGuard.

Référencé par PreInitManager().

00054 {
00055 Guard (void ExManagerVertexProgram::init (void))
00056         /*char *ext = (char*)glGetString( GL_EXTENSIONS );
00057 
00058         if( strstr( ext, "GL_NV_vertex_program" ) == NULL )
00059         {
00060                 std::cout<<"GL_NV_vertex_program extension was not found"<<std::endl;
00061                 return;
00062         }
00063         else
00064         {
00065                 glGenProgramsNV        = (PFNGLGENPROGRAMSNVPROC)wglGetProcAddress("glGenProgramsNV");
00066                 glDeleteProgramsNV     = (PFNGLDELETEPROGRAMSNVPROC)wglGetProcAddress("glDeleteProgramsNV");
00067                 glBindProgramNV        = (PFNGLBINDPROGRAMNVPROC)wglGetProcAddress("glBindProgramNV");
00068                 glLoadProgramNV        = (PFNGLLOADPROGRAMNVPROC)wglGetProcAddress("glLoadProgramNV");
00069                 glProgramParameter4fNV = (PFNGLPROGRAMPARAMETER4FNVPROC)wglGetProcAddress("glProgramParameter4fNV");
00070                 glTrackMatrixNV        = (PFNGLTRACKMATRIXNVPROC)wglGetProcAddress("glTrackMatrixNV");
00071 
00072                 if( !glGenProgramsNV || !glDeleteProgramsNV || !glBindProgramNV || 
00073                 !glLoadProgramNV || !glProgramParameter4fNV || !glTrackMatrixNV )
00074                 {
00075                         std::cout<<"One or more GL_NV_vertex_program functions were not found"<<std::endl;
00076                         return;
00077                 }
00078         }
00079         // Create the vertex program
00080     glGenProgramsNV( 1, &g_vertexProgramID );
00081 
00082     unsigned char *shader_assembly = readShaderFile( "../Data/VertexProgram/fog.nvv" );
00083 
00084     glLoadProgramNV( GL_VERTEX_PROGRAM_NV, g_vertexProgramID, 
00085                      strlen((char*) shader_assembly), shader_assembly );
00086     
00087     delete shader_assembly;*/
00088 UnGuard
00089 }       

ExCAction ExManager::InputAction ExCAction  Action  )  [virtual, inherited]
 

Redéfinie dans ExManagerCommand, ExManagerConsole, ExManagerFog, ExManagerId, ExManagerMap, ExManagerNetwork, ExManagerPVS, ExManagerSpecialEffect, ExManagerWindow, ExManagerLoad, ExManagerAnimation, ExManagerCamera, ExManagerEntity, ExManagerInterface, ExManagerLoad, ExManagerMesh, ExManagerModel, ExManagerObjectWindow, ExManagerParticuleSystem, ExManagerSound, et ExManagerTexture.

Définition à la ligne 42 du fichier ExManager.cpp.

Références NOTHING.

00043 {return NOTHING;}

ExCAction ExManager::InputCommand ExCCommand  Command  )  [virtual, inherited]
 

Redéfinie dans ExManagerCommand, ExManagerConsole, ExManagerFog, ExManagerMap, ExManagerNetwork, ExManagerPVS, ExManagerSpecialEffect, ExManagerWindow, ExManagerLoad, ExManagerAnimation, ExManagerCamera, ExManagerEntity, ExManagerInterface, ExManagerLoad, ExManagerMesh, ExManagerModel, ExManagerObjectWindow, ExManagerParticuleSystem, et ExManagerSound.

Définition à la ligne 40 du fichier ExManager.cpp.

Références NOTHING.

00041 {return NOTHING;}

void ExManagerObject< ExCVertexProgram >::List void   )  [inherited]
 

bool ExManagerObject< ExCVertexProgram >::Load std::string  FileName  )  [inherited]
 

ExNihilo::ExId ExManagerObject< ExCVertexProgram >::NextObject void   )  [inherited]
 

ExNihilo::ExId ExManagerObject< ExCVertexProgram >::PreviousObject void   )  [inherited]
 

unsigned char * ExManagerVertexProgram::readShaderFile const char *  fileName  ) 
 

Définition à la ligne 98 du fichier ExManagerVertexProgram.cpp.

Références Guard, readShaderFile(), et UnGuard.

Référencé par readShaderFile().

00099 {
00100 Guard(unsigned char *ExManagerVertexProgram::readShaderFile( const char *fileName ))
00101     FILE *file = fopen( fileName, "r" );
00102 
00103     if( file == NULL )
00104     {
00105                 std::cout<<"Cannot open shader file!"<<std::endl;
00106                 return 0;
00107     }
00108 
00109     struct _stat fileStats;
00110 
00111     if( _stat( fileName, &fileStats ) != 0 )
00112     {
00113         std::cout<<"Cannot get file stats for shader file!"<<std::endl;
00114         return 0;
00115     }
00116 
00117     unsigned char *buffer = new unsigned char[fileStats.st_size];
00118 
00119         int bytes = fread( buffer, 1, fileStats.st_size, file );
00120 
00121     buffer[bytes] = 0;
00122 
00123         fclose( file );
00124 
00125         return buffer;
00126 UnGuard
00127 }

void ExManagerObject< ExCVertexProgram >::Reload void   )  [virtual, inherited]
 

Redéfinie à partir de ExManager.

bool ExManagerObject< ExCVertexProgram >::Remove std::string  Name  )  [inherited]
 

bool ExManagerObject< ExCVertexProgram >::Remove ExNihilo::ExId  id  )  [inherited]
 

bool ExManagerObject< ExCVertexProgram >::RemoveCurrentObject void   )  [inherited]
 

void ExManagerVertexProgram::Reset void   )  [virtual]
 

Redéfinie à partir de ExManagerObject< ExCVertexProgram >.

Définition à la ligne 91 du fichier ExManagerVertexProgram.cpp.

Références Guard, ExManagerObject< TypeA >::Reset(), Reset(), et UnGuard.

Référencé par Reset().

00092 {
00093 Guard (void ExManagerVertexProgram::Reset (void))
00094         ExManagerObject<ExCVertexProgram>::Reset();
00095 UnGuard
00096 }

void ExManager::SetAskForCommand bool  status  )  [inline, inherited]
 

Définition à la ligne 87 du fichier ExManager.h.

Références ExManager::m_AskForCommand.

Référencé par ExManagerConsole::ExManagerConsole(), ExManagerModel::ExManagerModel(), ExManagerObjectWindow::Init(), ExManagerNetwork::Init(), ExManagerConsole::InputAction(), ExManagerNetwork::InputCommand(), ExManagerLoad::LoadSetOfFile(), et ExManagerNetwork::Say().

00087 {m_AskForCommand=status;} 

void ExManager::SetAskForExclusifCommand bool  status  )  [inline, inherited]
 

Définition à la ligne 88 du fichier ExManager.h.

Références ExManager::m_Exclusif.

Référencé par ExManagerConsole::ExManagerConsole(), ExManagerModel::ExManagerModel(), ExManagerObjectWindow::Init(), ExManagerNetwork::Init(), ExManagerConsole::InputAction(), ExManagerNetwork::InputCommand(), et ExManagerNetwork::Say().

00088 {m_Exclusif=status;}

bool ExManagerObject< ExCVertexProgram >::SetCurrentObject std::string  Name  )  [inherited]
 

bool ExManagerObject< ExCVertexProgram >::SetCurrentObject ExNihilo::ExId  id  )  [inherited]
 

void ExManager::SetFlux std::ostrstream *  consol,
ExCFluxAction action
[inherited]
 

Définition à la ligne 35 du fichier ExManager.cpp.

Références ExManager::Consol, et ExManager::FluxAction.

Référencé par SetManagerLink().

00036 {
00037         Consol=consol;
00038         FluxAction=action;
00039 }

void ExManagerObject< ExCVertexProgram >::SetManagerId ExManagerId Id  )  [inline, inherited]
 

Définition à la ligne 94 du fichier ExManagerObject.h.

00094 {ManagerId      = Id;}

void ExManager::SetStatus bool  status  )  [inline, inherited]
 

Définition à la ligne 86 du fichier ExManager.h.

Références ExManager::m_Status.

Référencé par ExManagerConsole::Draw(), ExManagerConsole::ExManagerConsole(), ExManagerObjectWindow::Init(), ExManagerInterface::Init(), ExManagerConsole::InputAction(), ExManagerLoad::LoadSetOfFile(), et ExManagerConsole::SetConsoleState().

00086 {m_Status=status;}


Documentation des données imbriquées

std::ostrstream* ExManager::Consol [inherited]
 

Définition à la ligne 73 du fichier ExManager.h.

Référencé par ExManagerObject< TypeA >::Add(), ExManagerConsole::AddStringAction(), ExManagerConsole::ApplyBuffCommand(), ExManagerInputGLUT::CheckInput(), ExManagerSound::DisplayAviableInput(), ExManagerInputGLUT::DisplayAviableInput(), ExManagerLoad::DisplayFileType(), ExManagerLoad::GetFileType(), ExManagerVertexArrays::Init(), ExManagerTexture::Init(), ExManagerSound::Init(), ExManagerFog::Init(), ExManagerSound::InputAction(), ExManagerPVS::InputAction(), ExManagerParticuleSystem::InputAction(), ExManagerModel::InputAction(), ExManagerMesh::InputAction(), ExManagerMap::InputAction(), ExManagerLoad::InputAction(), ExManagerInterface::InputAction(), ExManagerFog::InputAction(), ExManagerEntity::InputAction(), ExManagerConsole::InputAction(), ExManagerCommand::InputAction(), ExManagerCamera::InputAction(), ExManagerAnimation::InputAction(), ExManagerObject< TypeA >::List(), ExManagerModel::List(), ExManagerId::List(), ExManagerConsole::ListConsoleCommand(), ExManagerTexture::Load(), ExManagerParticuleSystem::Load(), ExManagerModel::Load(), ExManagerInterface::Load(), ExManagerTexture::LoadCubeMap(), ExManagerLoad::LoadSetOfFile(), ExManagerSound::LoadSound(), ExManagerSound::PauseSound(), ExManagerSound::PlaySound(), ExManagerCommand::ProcesExCAction(), ExManagerId::RecordObject(), ExManager::SetFlux(), ExManagerSound::SetRepeatSound(), ExManagerSound::StopSound(), ExManagerConsole::UpdateConsolBuffer(), et ExManagerConsole::Write().

ExCFluxAction* ExManager::FluxAction [inherited]
 

Définition à la ligne 74 du fichier ExManager.h.

Référencé par ExManagerWindow::Apply(), ExManagerCommand::ApplyAction(), ExManagerCommand::LoadExecFile(), ExManagerId::RecordObject(), ExManager::SetFlux(), et ExManagerSpecialEffect::Specialeffect().

GLuint ExManagerVertexProgram::g_vertexProgramID [private]
 

Définition à la ligne 77 du fichier ExManagerVertexProgram.h.

Référencé par Draw().

PFNGLBINDPROGRAMNVPROC ExManagerVertexProgram::glBindProgramNV [private]
 

Définition à la ligne 73 du fichier ExManagerVertexProgram.h.

Référencé par Draw().

PFNGLDELETEPROGRAMSNVPROC ExManagerVertexProgram::glDeleteProgramsNV [private]
 

Définition à la ligne 72 du fichier ExManagerVertexProgram.h.

PFNGLGENPROGRAMSNVPROC ExManagerVertexProgram::glGenProgramsNV [private]
 

Définition à la ligne 71 du fichier ExManagerVertexProgram.h.

PFNGLLOADPROGRAMNVPROC ExManagerVertexProgram::glLoadProgramNV [private]
 

Définition à la ligne 74 du fichier ExManagerVertexProgram.h.

PFNGLPROGRAMPARAMETER4FNVPROC ExManagerVertexProgram::glProgramParameter4fNV [private]
 

Définition à la ligne 75 du fichier ExManagerVertexProgram.h.

Référencé par Draw().

PFNGLTRACKMATRIXNVPROC ExManagerVertexProgram::glTrackMatrixNV [private]
 

Définition à la ligne 76 du fichier ExManagerVertexProgram.h.

Référencé par Draw().

bool ExManager::m_AskForCommand [protected, inherited]
 

Définition à la ligne 70 du fichier ExManager.h.

Référencé par ExManager::AskForCommand(), ExManagerConsole::ExManagerConsole(), et ExManager::SetAskForCommand().

ExNihilo::ExId ExManagerObject< ExCVertexProgram >::m_CurrentObjectId [protected, inherited]
 

Définition à la ligne 79 du fichier ExManagerObject.h.

bool ExManager::m_Exclusif [protected, inherited]
 

Définition à la ligne 71 du fichier ExManager.h.

Référencé par ExManager::AskForExclusifCommand(), et ExManager::SetAskForExclusifCommand().

bool ExManagerVertexProgram::m_flag = false [static, private]
 

Définition à la ligne 26 du fichier ExManagerVertexProgram.cpp.

Référencé par CreateSingleton().

ExManagerVertexProgram * ExManagerVertexProgram::m_instance = NULL [static, private]
 

Définition à la ligne 27 du fichier ExManagerVertexProgram.cpp.

Référencé par CreateSingleton().

std::map< ExNihilo::ExId , ExCVertexProgram , std::less <ExNihilo::ExId > >::iterator ExManagerObject< ExCVertexProgram >::m_ItMap [protected, inherited]
 

Définition à la ligne 76 du fichier ExManagerObject.h.

std::map< ExNihilo::ExId , ExCVertexProgram , std::less <ExNihilo::ExId > >* ExManagerObject< ExCVertexProgram >::m_Map [protected, inherited]
 

Définition à la ligne 75 du fichier ExManagerObject.h.

bool ExManager::m_Status [protected, inherited]
 

Définition à la ligne 69 du fichier ExManager.h.

Référencé par ExManager::GetStatus(), et ExManager::SetStatus().

ExManagerId* ExManagerObject< ExCVertexProgram >::ManagerId [protected, inherited]
 

Définition à la ligne 78 du fichier ExManagerObject.h.


La documentation associée à cette classe a été générée à partir des fichiers suivants :
Généré le Tue Oct 28 12:44:05 2003 pour ExNihilo par doxygen 1.3.4