C# 클래스 idTech4.Renderer.idRenderModel

상속: IDisposable
파일 보기 프로젝트 열기: iainmckay/idtech4.net 1 사용 예제들

공개 메소드들

메소드 설명
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

보호된 메소드들

메소드 설명
Dispose ( bool disposing ) : void

메소드 상세

AddSurface() 공개 추상적인 메소드

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
리턴 void

Dispose() 공개 메소드

public Dispose ( ) : void
리턴 void

Dispose() 보호된 메소드

protected Dispose ( bool disposing ) : void
disposing bool
리턴 void

FinishSurfaces() 공개 추상적인 메소드

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
리턴 void

FreeVertexCache() 공개 추상적인 메소드

Dump any ambient caches on the model surfaces.
public abstract FreeVertexCache ( ) : void
리턴 void

GetBounds() 공개 추상적인 메소드

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
리턴 idBounds

GetJointIndex() 공개 추상적인 메소드

Gets the index of the joint with the given instance.
public abstract GetJointIndex ( idMD5Joint joint ) : int
joint idMD5Joint
리턴 int

GetJointIndex() 공개 추상적인 메소드

Gets the joint with the given name.
public abstract GetJointIndex ( string name ) : int
name string
리턴 int

GetJointName() 공개 추상적인 메소드

Gets the name of the joint with the given index.
public abstract GetJointName ( int index ) : string
index int
리턴 string

GetNearestJoint() 공개 추상적인 메소드

public abstract GetNearestJoint ( int surfaceIndex, int a, int c, int b ) : int
surfaceIndex int
a int
c int
b int
리턴 int

GetSurface() 공개 추상적인 메소드

public abstract GetSurface ( int index ) : RenderModelSurface
index int
리턴 RenderModelSurface

InitEmpty() 공개 추상적인 메소드

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
리턴 void

InitFromFile() 공개 추상적인 메소드

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

InstantiateDynamicModel() 공개 추상적인 메소드

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
리턴 idRenderModel

List() 공개 추상적인 메소드

Prints a single line report for listModels.
public abstract List ( ) : void
리턴 void

Load() 공개 추상적인 메소드

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
리턴 void

MakeDefault() 공개 추상적인 메소드

public abstract MakeDefault ( ) : void
리턴 void

PartialInitFromFile() 공개 추상적인 메소드

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
리턴 void

Print() 공개 추상적인 메소드

Prints a detailed report on the model for printModel.
public abstract Print ( ) : void
리턴 void

Purge() 공개 추상적인 메소드

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

Reset() 공개 추상적인 메소드

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

TouchData() 공개 추상적인 메소드

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
리턴 void

idRenderModel() 공개 메소드

public idRenderModel ( ) : System
리턴 System