C# Class idTech4.Renderer.idRenderModel

Inheritance: IDisposable
Afficher le fichier Open project: iainmckay/idtech4.net Class Usage Examples

Méthodes publiques

Méthode Description
AddSurface ( RenderModelSurface surface ) : void

Dynamic model instantiations will be created with this.

the geometry data will be owned by the model, and freed when it is freed the geoemtry should be raw triangles, with no extra processing

Dispose ( ) : void
FinishSurfaces ( ) : void

Cleans all the geometry and performs cross-surface processing like shadow hulls.

Creates the duplicated back side geometry for two sided, alpha tested, lit materials This does not need to be called if none of the surfaces added with AddSurface require light interaction, and all the triangles are already well formed.

FreeVertexCache ( ) : void

Dump any ambient caches on the model surfaces.

GetBounds ( RenderEntityComponent renderEntity = null ) : idBounds

Dynamic models should return a fast, conservative approximation. Static models should usually return the exact value.

GetJointIndex ( idMD5Joint joint ) : int

Gets the index of the joint with the given instance.

GetJointIndex ( string name ) : int

Gets the joint with the given name.

GetJointName ( int index ) : string

Gets the name of the joint with the given index.

GetNearestJoint ( int surfaceIndex, int a, int c, int b ) : int
GetSurface ( int index ) : RenderModelSurface
InitEmpty ( string name ) : void

This is used for dynamically created surfaces, which are assumed to not be reloadable. It can be called again to clear out the surfaces of a dynamic model for regeneration.

InitFromFile ( string fileName ) : void

Loads static models only, dynamic models must be loaded by the modelManager.

InstantiateDynamicModel ( idRenderEntity renderEntity, View view, idRenderModel cachedModel ) : idRenderModel

Creates a static model based on the definition and view currently.

This will be regenerated for every view, even though some models, like character meshes, could be used for multiple (mirror) views in a frame, or may stay static for multiple frames (corpses) The renderer will delete the returned dynamic model the next view.

List ( ) : void

Prints a single line report for listModels.

Load ( ) : void

Used for initial loads, reloadModel, and reloading the data of purged models.

Upon exit, the model will absolutely be valid, but possibly as a default model.

MakeDefault ( ) : void
PartialInitFromFile ( string fileName ) : void

renderBump uses this to load the very high poly count models, skipping the shadow and tangent generation, along with some surface cleanup to make it load faster.

Print ( ) : void

Prints a detailed report on the model for printModel.

Purge ( ) : void

Frees all the data, but leaves the class around for dangling references, which can regenerate the data with LoadModel().

Reset ( ) : void

Resets any model information that needs to be reset on a same level load etc.. currently only implemented for liquids.

TouchData ( ) : void

Models that are already loaded at level start time will still touch their data to make sure they are kept loaded.

idRenderModel ( ) : System

Méthodes protégées

Méthode Description
Dispose ( bool disposing ) : void

Method Details

AddSurface() public abstract méthode

Dynamic model instantiations will be created with this.
the geometry data will be owned by the model, and freed when it is freed the geoemtry should be raw triangles, with no extra processing
public abstract AddSurface ( RenderModelSurface surface ) : void
surface RenderModelSurface
Résultat void

Dispose() public méthode

public Dispose ( ) : void
Résultat void

Dispose() protected méthode

protected Dispose ( bool disposing ) : void
disposing bool
Résultat void

FinishSurfaces() public abstract méthode

Cleans all the geometry and performs cross-surface processing like shadow hulls.
Creates the duplicated back side geometry for two sided, alpha tested, lit materials This does not need to be called if none of the surfaces added with AddSurface require light interaction, and all the triangles are already well formed.
public abstract FinishSurfaces ( ) : void
Résultat void

FreeVertexCache() public abstract méthode

Dump any ambient caches on the model surfaces.
public abstract FreeVertexCache ( ) : void
Résultat void

GetBounds() public abstract méthode

Dynamic models should return a fast, conservative approximation. Static models should usually return the exact value.
public abstract GetBounds ( RenderEntityComponent renderEntity = null ) : idBounds
renderEntity RenderEntityComponent
Résultat idBounds

GetJointIndex() public abstract méthode

Gets the index of the joint with the given instance.
public abstract GetJointIndex ( idMD5Joint joint ) : int
joint idMD5Joint
Résultat int

GetJointIndex() public abstract méthode

Gets the joint with the given name.
public abstract GetJointIndex ( string name ) : int
name string
Résultat int

GetJointName() public abstract méthode

Gets the name of the joint with the given index.
public abstract GetJointName ( int index ) : string
index int
Résultat string

GetNearestJoint() public abstract méthode

public abstract GetNearestJoint ( int surfaceIndex, int a, int c, int b ) : int
surfaceIndex int
a int
c int
b int
Résultat int

GetSurface() public abstract méthode

public abstract GetSurface ( int index ) : RenderModelSurface
index int
Résultat RenderModelSurface

InitEmpty() public abstract méthode

This is used for dynamically created surfaces, which are assumed to not be reloadable. It can be called again to clear out the surfaces of a dynamic model for regeneration.
public abstract InitEmpty ( string name ) : void
name string
Résultat void

InitFromFile() public abstract méthode

Loads static models only, dynamic models must be loaded by the modelManager.
public abstract InitFromFile ( string fileName ) : void
fileName string
Résultat void

InstantiateDynamicModel() public abstract méthode

Creates a static model based on the definition and view currently.
This will be regenerated for every view, even though some models, like character meshes, could be used for multiple (mirror) views in a frame, or may stay static for multiple frames (corpses) The renderer will delete the returned dynamic model the next view.
public abstract InstantiateDynamicModel ( idRenderEntity renderEntity, View view, idRenderModel cachedModel ) : idRenderModel
renderEntity idRenderEntity
view View
cachedModel idRenderModel
Résultat idRenderModel

List() public abstract méthode

Prints a single line report for listModels.
public abstract List ( ) : void
Résultat void

Load() public abstract méthode

Used for initial loads, reloadModel, and reloading the data of purged models.
Upon exit, the model will absolutely be valid, but possibly as a default model.
public abstract Load ( ) : void
Résultat void

MakeDefault() public abstract méthode

public abstract MakeDefault ( ) : void
Résultat void

PartialInitFromFile() public abstract méthode

renderBump uses this to load the very high poly count models, skipping the shadow and tangent generation, along with some surface cleanup to make it load faster.
public abstract PartialInitFromFile ( string fileName ) : void
fileName string
Résultat void

Print() public abstract méthode

Prints a detailed report on the model for printModel.
public abstract Print ( ) : void
Résultat void

Purge() public abstract méthode

Frees all the data, but leaves the class around for dangling references, which can regenerate the data with LoadModel().
public abstract Purge ( ) : void
Résultat void

Reset() public abstract méthode

Resets any model information that needs to be reset on a same level load etc.. currently only implemented for liquids.
public abstract Reset ( ) : void
Résultat void

TouchData() public abstract méthode

Models that are already loaded at level start time will still touch their data to make sure they are kept loaded.
public abstract TouchData ( ) : void
Résultat void

idRenderModel() public méthode

public idRenderModel ( ) : System
Résultat System