C# Класс idTech4.Renderer.idRenderModel

Наследование: IDisposable
Показать файл Открыть проект Примеры использования класса

Открытые методы

Метод Описание
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