"L. Spiro Engine"
Classes | Typedefs | Enumerations | Functions | Variables

lsd Namespace Reference

Classes

class  CModelLib
 The model library privides the engine with a model format that is very complete. More...
class  CModelManager
 Prevents redundant loading of model data. More...
class  CDrawableSharedModel
 A shared model that can be rendered. More...
class  CIntermediateDrawableMeshInstance
 Provides rendering functionality to models. More...
class  CIntermediateMeshInstance
 An instance of the shared intemediate mesh data loaded from a file/stream. More...
class  CIntermediateSharedMesh
 Assists with the model-loading process. More...
class  CLambertMaterial
 Lambert material. More...
class  CMaterial
 Base class for materials found in models. More...
class  CSharedModel
 Provides the shared model data that model instances use. More...
class  CModelTexture
 Holds texture information read from 3D model files. More...
class  CModelShaderManager
 Manages shaders in the model library. Allows shaders to be shared among models efficiently. More...

Typedefs

typedef CSharedPtr
< CDrawableSharedModel
CDrawableSharedModelPtr
typedef CLambertMaterial Parent

Enumerations

enum  LSD_METRICS { LSD_M_MAX_LAYERS = 12 }
enum  LSD_TEXTURE_TYPES {
  LSD_TT_DIFFUSE_TEXTURE, LSD_TT_TRANS_TEXTURE, LSD_TT_NORMAL_TEXTURE, LSD_TT_SPECULAR_TEXTURE,
  LSD_TT_TOTAL
}

Functions

virtual LSSTD_ERRORS LSE_CALL LoadFromStream (const lsstd::IStream &_sStream, CAllocator *_paAllocator, LSUINT32 _ui32Version)
virtual CMaterial &LSE_CALL Copy (const CMaterial &_mOther)
virtual LSD_MATERIAL_TYPE LSE_CALL GetType () const
virtual LSVOID LSE_CALL Trash ()
LSE_INLINE CVector4 LSE_CALL GetSpecularColor () const
LSE_INLINE const CString &LSE_CALL GetSpecularTexture () const
LSE_INLINE LSREAL LSE_CALL GetPower () const
LSE_INLINE CVector4 LSE_CALL GetReflectiveColor () const
LSE_INLINE LSREAL LSE_CALL GetReflectivity () const

Variables

__pad0__
CString m_sShininess
LSD_COLOR m_cSpecularColor
LSD_COLOR m_cReflectiveColor
LSREAL m_fPower

Detailed Description

Copyright L. Spiro 2011 All rights reserved.

Written by: Shawn (L. Spiro) Wilcoxen

This code may not be sold or traded for any personal gain without express written consent. You may use this code in your own projects and modify it to suit your needs as long as this disclaimer remains intact. You may not take credit for having written this code.

Description: Prevents loading model data twice. Allows sharing of drawable models through shared pointers.

Copyright L. Spiro 2011 All rights reserved.

Written by: Shawn (L. Spiro) Wilcoxen

This code may not be sold or traded for any personal gain without express written consent. You may use this code in your own projects and modify it to suit your needs as long as this disclaimer remains intact. You may not take credit for having written this code.

Description: A shared model that can be rendered.

Copyright L. Spiro 2011 All rights reserved.

Written by: Shawn (L. Spiro) Wilcoxen

This code may not be sold or traded for any personal gain without express written consent. You may use this code in your own projects and modify it to suit your needs as long as this disclaimer remains intact. You may not take credit for having written this code.

Description: Provides rendering functionality to models. This class represents one part of a model, such as an arm, leg, etc. This is still shared data.

Copyright L. Spiro 2011 All rights reserved.

Written by: Shawn (L. Spiro) Wilcoxen

This code may not be sold or traded for any personal gain without express written consent. You may use this code in your own projects and modify it to suit your needs as long as this disclaimer remains intact. You may not take credit for having written this code.

Description: An instance of the shared intemediate mesh data loaded from a file/stream. An instance simply contains a pointer to the mesh data it shares, a name, and a transform.

Copyright L. Spiro 2011 All rights reserved.

Written by: Shawn (L. Spiro) Wilcoxen

This code may not be sold or traded for any personal gain without express written consent. You may use this code in your own projects and modify it to suit your needs as long as this disclaimer remains intact. You may not take credit for having written this code.

Description: Assists with the model-loading process. Meshes in model files may be shared between several mesh instances, but are written to the file only once to save space. This class loads them from the given stream, producing intermediate mesh data.

Copyright L. Spiro 2011 All rights reserved.

Written by: Shawn (L. Spiro) Wilcoxen

This code may not be sold or traded for any personal gain without express written consent. You may use this code in your own projects and modify it to suit your needs as long as this disclaimer remains intact. You may not take credit for having written this code.

Description: Lambert material. It is really the default for all materials.

Copyright L. Spiro 2011 All rights reserved.

Written by: Shawn (L. Spiro) Wilcoxen

This code may not be sold or traded for any personal gain without express written consent. You may use this code in your own projects and modify it to suit your needs as long as this disclaimer remains intact. You may not take credit for having written this code.

Description: Base class for materials found in models. Phong and Lambert derive from this.

Copyright L. Spiro 2011 All rights reserved.

Written by: Shawn (L. Spiro) Wilcoxen

This code may not be sold or traded for any personal gain without express written consent. You may use this code in your own projects and modify it to suit your needs as long as this disclaimer remains intact. You may not take credit for having written this code.

Description: Phong material.

Copyright L. Spiro 2011 All rights reserved.

Written by: Shawn (L. Spiro) Wilcoxen

This code may not be sold or traded for any personal gain without express written consent. You may use this code in your own projects and modify it to suit your needs as long as this disclaimer remains intact. You may not take credit for having written this code.

Description: Provides the shared model data that model instances use. A model is composed of several sub- models. For example, bringing together a sub-model for the head, torsoa, legs, and arms will result in the final model object, represented by this class. This class only manages its sub-models, and has no vertex data in it. Additionally, this class has no rendering or animation capabilities. These are added by other classes through inheritance.

Copyright L. Spiro 2011 All rights reserved.

Written by: Shawn (L. Spiro) Wilcoxen

This code may not be sold or traded for any personal gain without express written consent. You may use this code in your own projects and modify it to suit your needs as long as this disclaimer remains intact. You may not take credit for having written this code.

Description: Holds texture information read from 3D model files.

Copyright L. Spiro 2011 All rights reserved.

Written by: Shawn (L. Spiro) Wilcoxen

This code may not be sold or traded for any personal gain without express written consent. You may use this code in your own projects and modify it to suit your needs as long as this disclaimer remains intact. You may not take credit for having written this code.

Description: Manages shaders in the model library. Allows shaders to be shared among models efficiently.


Typedef Documentation

A shared pointer to a drawable model.


Enumeration Type Documentation

Metrics.

Texture types.

Enumerator:
LSD_TT_DIFFUSE_TEXTURE 

Diffuse texture.

LSD_TT_TRANS_TEXTURE 

Transparency texture.

LSD_TT_NORMAL_TEXTURE 

Normal texture.

LSD_TT_SPECULAR_TEXTURE 

Specular color texture.

LSD_TT_TOTAL 

Total types.


Function Documentation

virtual CMaterial& LSE_CALL lsd::Copy ( const CMaterial &  _mOther) [virtual]

Copy this object from another.

Parameters:
_mOtherThe object to copy.
Returns:
Returns the copied object.
LSE_INLINE LSREAL LSE_CALL lsd::CPhongMaterial::GetPower ( ) const

Get the specular power.

Returns:
Returns the specular power.
LSE_INLINE CVector4 LSE_CALL lsd::CPhongMaterial::GetReflectiveColor ( ) const

Get the reflective color for this material.

Returns:
Returns the reflective color for this material as a CVector4 type.
LSE_INLINE LSREAL LSE_CALL lsd::CPhongMaterial::GetReflectivity ( ) const

Gets the amount of reflectivity for this material.

Returns:
Returns the amount of reflectivity for this material.
LSE_INLINE CVector4 LSE_CALL lsd::CPhongMaterial::GetSpecularColor ( ) const

Get the specular color for this material.

Returns:
Returns the specular color for this material as a CVector4 type.
LSE_INLINE const CString &LSE_CALL lsd::CPhongMaterial::GetSpecularTexture ( ) const

Get the specular texture for this material.

Returns:
Returns the specular texture for this material.
virtual LSD_MATERIAL_TYPE LSE_CALL lsd::GetType ( ) const [virtual]

Get the material type.

Returns:
Returns the type of this material.
virtual LSSTD_ERRORS LSE_CALL lsd::LoadFromStream ( const lsstd::IStream _sStream,
CAllocator *  _paAllocator,
LSUINT32  _ui32Version 
) [virtual]

Load material data from a stream.

Parameters:
_sStreamThe stream from which to load material data.
_paAllocatorThe allocator to use for all data allocated by this object.
_ui32VersionFile version.
Returns:
Returns an error code indicating the type of error or success.
virtual LSVOID LSE_CALL lsd::Trash ( ) [virtual]

Trash all contents of this material.


Variable Documentation

Reflection color.

Specular color.

LSREAL lsd::m_fPower

Specular power.

Shininess texture.

 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator