Métodos públicos | Métodos protegidos | Atributos protegidos

Referencia de la Clase OpenGLModel

Cargador de modelos para OpenGL. Más...

#include <OpenGLModel.h>

Diagrama de herencias de OpenGLModel
Model3D

Lista de todos los miembros.

Métodos públicos

 OpenGLModel (const char *strPath, bool bTexturesEnabledByDefault=true, bool bColorMaterialEnabledByDefault=true, bool bIgnoreTexturePath=false, char *strTextureBasePath=0)
GLint generateDisplayList ()

Métodos protegidos

virtual void preProcess ()
virtual void applyTransformation (float *fMatrix4Data)
virtual void unApplyLastTransformation ()
virtual void processMesh (const struct aiMaterial *pMtl, const struct aiFace *pFaces, unsigned int nNumFaces, aiVector3D *aVertices, aiColor4D *aColorsByVertexIndex, aiVector3D *aNormalsByVertexIndex, aiVector3D *aTextureCoordsByVertexIndex)
virtual void postProcess ()
virtual void applyMaterial (const struct aiMaterial *mtl)

Atributos protegidos

bool bTexturesEnabledByDefault
bool bTexturesEnabled
bool bColorMaterialEnabledByDefault
bool bColorMaterialEnabled
bool bIgnoreTexturePath
GLuint nActualTexture
float cDif [4]
float cAmb [4]
float cSpe [4]
float cEmi [4]
float oldShi
float oldColor [4]
string strTextureBasePath
float fScaleFactor
Vector3 oCenterVector

Descripción detallada

Cargador de modelos para OpenGL.


Documentación del constructor y destructor

OpenGLModel::OpenGLModel ( const char *  strPath,
bool  bTexturesEnabledByDefault = true,
bool  bColorMaterialEnabledByDefault = true,
bool  bIgnoreTexturePath = false,
char *  strTextureBasePath = 0 
)

Carga un modelo de ruta "strPath" que luego sera dibujado en OpenGL al llamar a la funcion "process()" bTexturesEnabledByDefault indica si GL_TEXTURE_2D al llamar a "process()" se encuantra habilitado o no, se puede asumir que al terminar "process()" GL_TEXTURE_2D se encuentra en el estado indicado por bTexturesEnabledByDefault. Si bTexturesEnabledByDefault == false entonces no se usaran texturas al dibujar el modelo. bColorMaterialEnabledByDefault idem a bTexturesEnabledByDefault, si esta en false entonces no se habilitara GL_COLOR_MATERIAL al dibujar el modelo bIgnoreTexturePath se utiliza para el cargado de las texturas, en particular como segundo parametro de "GetTextureID(...)" de OpenGLTextureMap. Esto es util cuando un modelo hace referencia a una textura mediante una ruta absoluta. Ej: Si bIgnoreTexturePath == true y el modelo hace referencia a una textura en "C:/misTexturas/text1.jpg", solo se buscara "text1.jpg" El valor de strTextureBasePath sera concatenado al valor de la ruta obtenida con bIgnoreTexturePath. En el ejemplo anterior si strTextureBasePath == "texturas/" entonces se buscara el archivo "texturas/text1.jpg". En caso de valer NULL se ignora.


Documentación de las funciones miembro

void OpenGLModel::applyTransformation ( float *  fMatrix4Data  )  [protected, virtual]

Aplica la transformacion correspondiente al nodo actual procesado. La transformacion es relativa a la transformacion del nodo padre.

Parámetros:
fMatrix4Data arreglo de 16 floating-points que corresponden a una matriz de 4x4. link con explicacion del formato de la matriz http://www.sjbaker.org/steve/omniv/matrices_can_be_your_friends.html

Implementa Model3D.

GLint OpenGLModel::generateDisplayList (  ) 

Devuelve el identificador de un display list de OpenGL que dibuja el modelo en el estado en que se encuentra.

void OpenGLModel::postProcess (  )  [protected, virtual]

Funcion encargada de realizar cualquier accion necesaria luego de terminado el procesamiento del modelo.

Reimplementado de Model3D.

void OpenGLModel::preProcess (  )  [protected, virtual]

Funcion encargada de realizar cualquier accion necesaria antes del comienzo del procesamiento del modelo.

Reimplementado de Model3D.

void OpenGLModel::processMesh ( const struct aiMaterial *  pMtl,
const struct aiFace *  pFaces,
unsigned int  nNumFaces,
aiVector3D *  aVertices,
aiColor4D *  aColorsByVertexIndex,
aiVector3D *  aNormalsByVertexIndex,
aiVector3D *  aTextureCoordsByVertexIndex 
) [protected, virtual]

Funcion encargada de procesar las mallas de vertices de cada nodo. Es llamada una vez por cada malla de vertices de cada nodo.

Parámetros:
pMtl arreglo de materiales correspondientes a la malla de vertices de la funcion.
pFaces arreglo de triangulos y quads que forman la malla de vertices.
nNumFaces indica cuantos elementos hay en pFaces.
aVertices arreglo de vertices a los que hacen referencia los elementos en pFaces. Los arreglos aColorsByVertexIndex, aNormalsByVertexIndex y aTextureCoordsByVertexIndex contienen informacion de color, normales y coordenadas de textura para cada elemento del arreglo de vertices. Nota: los struct comenzados con aiXXXX son definidos por la libreria Assimp. Para su manipulacion se recomienda ver una implementacion de Model3D de ejemplo o ver documentacion de Assimp.

Implementa Model3D.

void OpenGLModel::unApplyLastTransformation (  )  [protected, virtual]

Desaplica la transformacion correspondiente al nodo actual.

Implementa Model3D.


La documentación para esta clase fue generada a partir de los siguientes ficheros: