C# 클래스 idTech4.Renderer.idRenderSystem

Responsible for managing the screen, which can have multiple idRenderWorld and 2D drawing done on it.
파일 보기 프로젝트 열기: iainmckay/idtech4.net

공개 프로퍼티들

프로퍼티 타입 설명
VideoModes idTech4.Renderer.VideoMode[]

공개 메소드들

메소드 설명
AddDrawSurface ( Surface surface, ViewEntity space, RenderEntityComponent renderEntity, idMaterial material, idScreenRect scissor ) : void
AddDrawViewCommand ( View view ) : void

This is the main 3D rendering command. A single scene may have multiple views if a mirror, portal, or dynamic texture is present.

BeginFrame ( int windowWidth, int windowHeight ) : void
BeginLevelLoad ( ) : void
BindTexture ( idImage texture ) : void
ClearTextureUnits ( ) : void
CreateRenderWorld ( ) : idRenderWorld

Creates a new renderWorld to be used for drawing.

DebugClearLines ( int time ) : void
DebugClearPolygons ( int time ) : void
DebugClearText ( int time ) : void
DrawBigCharacter ( int x, int y, int ch, idMaterial material ) : void
DrawBigString ( int x, int y, string str, Vector4 color, bool forceColor, idMaterial material ) : void

Draws a multi-colored string with a drop shadow, optionally forcing to a fixed color. Coordinates are at 640 by 480 virtual resolution.

DrawSmallCharacter ( int x, int y, int c, idMaterial material ) : void

Small characters are drawn at native screen resolution.

DrawSmallString ( int x, int y, string str, Vector4 setColor, bool forceColor, idMaterial material ) : void

Draws a multi-colored string with a drop shadow, optionally forcing to a fixed color.

Coordinates are at 640x480 virtual resolution.

DrawStretchPicture ( Vertex vertices, int indexes, idMaterial material, bool clip = true, float minX = 0.0f, float minY = 0.0f, float maxX = 640.0f, float maxY = 0.0f ) : void
DrawStretchPicture ( float x, float y, float width, float height, float s, float t, float s2, float t2, idMaterial material ) : void
EndFrame ( ) : void
EndFrame ( int &frontendTime, int &backendTime ) : void
EndLevelLoad ( ) : void
GlobalMaterialOverride ( idMaterial material ) : idMaterial
Init ( ) : void
InitRenderer ( ) : void
Present ( ) : void
RegisterFont ( string fontName, string fileName ) : idFontFamily
RemapMaterialBySkin ( idMaterial material, idDeclSkin skin, idMaterial customMaterial ) : idMaterial
RenderView ( View parms ) : void

A view may be either the actual camera view, a mirror / remote location, or a 3D view on a gui surface.

RenderViewToViewPort ( idRenderView renderView ) : idScreenRect

Converts from SCREEN_WIDTH / SCREEN_HEIGHT coordinates to current cropped pixel coordinates

idRenderSystem ( ) : System

비공개 메소드들

메소드 설명
AddAmbientDrawSurfaces ( ViewEntity viewEntity ) : void

Adds surfaces for the given viewEntity Walks through the viewEntitys list and creates drawSurf_t for each surface of each viewEntity that has a non-empty scissorRect.

AddModelSurfaces ( ) : void Here is where dynamic models actually get instantiated, and necessary interactions get created. This is all done on a sort-by-model basis to keep source data in cache (most likely L2) as any interactions and shadows are generated, since dynamic models will typically be lit by two or more lights.
AllocateVertexCacheFrameTemporary ( Vertex vertices ) : VertexCache
Clear ( ) : void
ClearCommandChain ( ) : void

Called after every buffer submission and by ToggleSmpFrame.

Cmd_ReloadArbPrograms ( object sender, CommandEventArgs e ) : void
ConstrainViewFrustum ( ) : void
CreateAmbientCache ( Surface geometry, bool needsLighting ) : bool
EntityDefinitionDynamicModel ( idRenderEntity def ) : idRenderModel

Issues a deferred entity callback if necessary. If the model isn't dynamic, it returns the original. Returns the cached dynamic model if present, otherwise creates it and any necessary overlays

InitCommands ( ) : void
InitCvars ( ) : void
InitMaterials ( ) : void
IssueRenderCommands ( ) : void
LoadArbProgram ( int index ) : void
SetColorMappings ( ) : void
SetGamma ( ushort red, ushort green, ushort blue ) : void

The renderer calls this when the user adjusts r_gamma or r_brightness.

SetViewMatrix ( View view ) : void
SetupProjection ( ) : void
SetupViewFrustum ( ) : void
ToggleSmpFrame ( ) : void

메소드 상세

AddDrawSurface() 공개 메소드

public AddDrawSurface ( Surface surface, ViewEntity space, RenderEntityComponent renderEntity, idMaterial material, idScreenRect scissor ) : void
surface Surface
space ViewEntity
renderEntity RenderEntityComponent
material idMaterial
scissor idScreenRect
리턴 void

AddDrawViewCommand() 공개 메소드

This is the main 3D rendering command. A single scene may have multiple views if a mirror, portal, or dynamic texture is present.
public AddDrawViewCommand ( View view ) : void
view View
리턴 void

BeginFrame() 공개 메소드

public BeginFrame ( int windowWidth, int windowHeight ) : void
windowWidth int
windowHeight int
리턴 void

BeginLevelLoad() 공개 메소드

public BeginLevelLoad ( ) : void
리턴 void

BindTexture() 공개 메소드

public BindTexture ( idImage texture ) : void
texture idImage
리턴 void

ClearTextureUnits() 공개 메소드

public ClearTextureUnits ( ) : void
리턴 void

CreateRenderWorld() 공개 메소드

Creates a new renderWorld to be used for drawing.
public CreateRenderWorld ( ) : idRenderWorld
리턴 idRenderWorld

DebugClearLines() 공개 메소드

public DebugClearLines ( int time ) : void
time int
리턴 void

DebugClearPolygons() 공개 메소드

public DebugClearPolygons ( int time ) : void
time int
리턴 void

DebugClearText() 공개 메소드

public DebugClearText ( int time ) : void
time int
리턴 void

DrawBigCharacter() 공개 메소드

public DrawBigCharacter ( int x, int y, int ch, idMaterial material ) : void
x int
y int
ch int
material idMaterial
리턴 void

DrawBigString() 공개 메소드

Draws a multi-colored string with a drop shadow, optionally forcing to a fixed color. Coordinates are at 640 by 480 virtual resolution.
public DrawBigString ( int x, int y, string str, Vector4 color, bool forceColor, idMaterial material ) : void
x int
y int
str string
color Vector4
forceColor bool
material idMaterial
리턴 void

DrawSmallCharacter() 공개 메소드

Small characters are drawn at native screen resolution.
public DrawSmallCharacter ( int x, int y, int c, idMaterial material ) : void
x int
y int
c int
material idMaterial
리턴 void

DrawSmallString() 공개 메소드

Draws a multi-colored string with a drop shadow, optionally forcing to a fixed color.
Coordinates are at 640x480 virtual resolution.
public DrawSmallString ( int x, int y, string str, Vector4 setColor, bool forceColor, idMaterial material ) : void
x int
y int
str string
setColor Vector4
forceColor bool
material idMaterial
리턴 void

DrawStretchPicture() 공개 메소드

public DrawStretchPicture ( Vertex vertices, int indexes, idMaterial material, bool clip = true, float minX = 0.0f, float minY = 0.0f, float maxX = 640.0f, float maxY = 0.0f ) : void
vertices Vertex
indexes int
material idMaterial
clip bool
minX float
minY float
maxX float
maxY float
리턴 void

DrawStretchPicture() 공개 메소드

public DrawStretchPicture ( float x, float y, float width, float height, float s, float t, float s2, float t2, idMaterial material ) : void
x float
y float
width float
height float
s float
t float
s2 float
t2 float
material idMaterial
리턴 void

EndFrame() 공개 메소드

public EndFrame ( ) : void
리턴 void

EndFrame() 공개 메소드

public EndFrame ( int &frontendTime, int &backendTime ) : void
frontendTime int
backendTime int
리턴 void

EndLevelLoad() 공개 메소드

public EndLevelLoad ( ) : void
리턴 void

GlobalMaterialOverride() 공개 메소드

public GlobalMaterialOverride ( idMaterial material ) : idMaterial
material idMaterial
리턴 idMaterial

Init() 공개 메소드

public Init ( ) : void
리턴 void

InitRenderer() 공개 메소드

public InitRenderer ( ) : void
리턴 void

Present() 공개 메소드

public Present ( ) : void
리턴 void

RegisterFont() 공개 메소드

public RegisterFont ( string fontName, string fileName ) : idFontFamily
fontName string
fileName string
리턴 idFontFamily

RemapMaterialBySkin() 공개 메소드

public RemapMaterialBySkin ( idMaterial material, idDeclSkin skin, idMaterial customMaterial ) : idMaterial
material idMaterial
skin idTech4.Text.Decl.idDeclSkin
customMaterial idMaterial
리턴 idMaterial

RenderView() 공개 메소드

A view may be either the actual camera view, a mirror / remote location, or a 3D view on a gui surface.
public RenderView ( View parms ) : void
parms View
리턴 void

RenderViewToViewPort() 공개 메소드

Converts from SCREEN_WIDTH / SCREEN_HEIGHT coordinates to current cropped pixel coordinates
public RenderViewToViewPort ( idRenderView renderView ) : idScreenRect
renderView idRenderView
리턴 idScreenRect

idRenderSystem() 공개 메소드

public idRenderSystem ( ) : System
리턴 System

프로퍼티 상세

VideoModes 공개적으로 정적으로 프로퍼티

public static VideoMode[],idTech4.Renderer VideoModes
리턴 idTech4.Renderer.VideoMode[]