Richard Boegli's CnC_Generals_Zero_Hour Fork WIP
This is documentation of Richard Boegil's Zero Hour Fork
 
Loading...
Searching...
No Matches
VisRasterizerClass Class Reference

#include <visrasterizer.h>

Public Member Functions

 VisRasterizerClass (void)
 
 ~VisRasterizerClass (void)
 
void Set_Render_Mode (IDBufferClass::ModeType mode)
 
IDBufferClass::ModeType Get_Render_Mode (void)
 
void Set_Backface_ID (uint32 id)
 
void Set_Frontface_ID (uint32 id)
 
uint32 Get_Backface_ID (void)
 
uint32 Get_Frontface_ID (void)
 
void Enable_Two_Sided_Rendering (bool onoff)
 
bool Is_Two_Sided_Rendering_Enabled (void)
 
void Set_Resolution (int width, int height)
 
void Get_Resolution (int *set_width, int *set_height)
 
void Reset_Pixel_Counter (void)
 
int Get_Pixel_Counter (void)
 
void Set_Model_Transform (const Matrix3D &model)
 
void Set_Camera (CameraClass *camera)
 
const Matrix3DGet_Model_Transform (void)
 
CameraClassGet_Camera (void)
 
CameraClassPeek_Camera (void)
 
void Clear (void)
 
bool Render_Triangles (const Vector3 *verts, int vcount, const TriIndex *tris, int tcount, const AABoxClass &bounds)
 
const uint32Get_Pixel_Row (int y, int min_x, int max_x)
 

Protected Member Functions

void Update_MV_Transform (void)
 
const Matrix3DGet_MV_Transform (void)
 
Vector3Get_Temp_Vertex_Buffer (int count)
 
bool Render_Triangles_Clip (const Vector3 *verts, int vcount, const TriIndex *tris, int tcount)
 
bool Render_Triangles_No_Clip (const Vector3 *verts, int vcount, const TriIndex *tris, int tcount)
 

Protected Attributes

Matrix3D ModelTransform
 
CameraClassCamera
 
Matrix3D MVTransform
 
IDBufferClass IDBuffer
 
SimpleVecClass< Vector3TempVertexBuffer
 

Detailed Description

VisRasterizerClass This class encapsulates the "ID buffer rasterization" code needed by the vis system. Basically it is a floating point z-buffer and an id buffer which is used by the visiblity precalculation system. The VisRasterizer will transform and clip triangles into homogeneous view space; then the clipped triangles will be passed on to the IDBufferClass which will scan convert them.

Definition at line 154 of file visrasterizer.h.

Constructor & Destructor Documentation

◆ VisRasterizerClass()

VisRasterizerClass::VisRasterizerClass ( void )

Definition at line 146 of file visrasterizer.cpp.

◆ ~VisRasterizerClass()

VisRasterizerClass::~VisRasterizerClass ( void )

Definition at line 153 of file visrasterizer.cpp.

Member Function Documentation

◆ Clear()

void VisRasterizerClass::Clear ( void )
inline

Definition at line 191 of file visrasterizer.h.

◆ Enable_Two_Sided_Rendering()

void VisRasterizerClass::Enable_Two_Sided_Rendering ( bool onoff)
inline

Definition at line 172 of file visrasterizer.h.

◆ Get_Backface_ID()

uint32 VisRasterizerClass::Get_Backface_ID ( void )
inline

Definition at line 169 of file visrasterizer.h.

◆ Get_Camera()

CameraClass * VisRasterizerClass::Get_Camera ( void )

Definition at line 180 of file visrasterizer.cpp.

◆ Get_Frontface_ID()

uint32 VisRasterizerClass::Get_Frontface_ID ( void )
inline

Definition at line 170 of file visrasterizer.h.

◆ Get_Model_Transform()

const Matrix3D & VisRasterizerClass::Get_Model_Transform ( void )

◆ Get_MV_Transform()

const Matrix3D & VisRasterizerClass::Get_MV_Transform ( void )
protected

Definition at line 208 of file visrasterizer.cpp.

◆ Get_Pixel_Counter()

int VisRasterizerClass::Get_Pixel_Counter ( void )
inline

Definition at line 179 of file visrasterizer.h.

◆ Get_Pixel_Row()

const uint32 * VisRasterizerClass::Get_Pixel_Row ( int y,
int min_x,
int max_x )
inline

Definition at line 193 of file visrasterizer.h.

◆ Get_Render_Mode()

IDBufferClass::ModeType VisRasterizerClass::Get_Render_Mode ( void )
inline

Definition at line 165 of file visrasterizer.h.

◆ Get_Resolution()

void VisRasterizerClass::Get_Resolution ( int * set_width,
int * set_height )

Definition at line 163 of file visrasterizer.cpp.

◆ Get_Temp_Vertex_Buffer()

Vector3 * VisRasterizerClass::Get_Temp_Vertex_Buffer ( int count)
protected

Definition at line 215 of file visrasterizer.cpp.

◆ Is_Two_Sided_Rendering_Enabled()

bool VisRasterizerClass::Is_Two_Sided_Rendering_Enabled ( void )
inline

Definition at line 173 of file visrasterizer.h.

◆ Peek_Camera()

CameraClass * VisRasterizerClass::Peek_Camera ( void )

Definition at line 188 of file visrasterizer.cpp.

◆ Render_Triangles()

bool VisRasterizerClass::Render_Triangles ( const Vector3 * verts,
int vcount,
const TriIndex * tris,
int tcount,
const AABoxClass & bounds )

Definition at line 222 of file visrasterizer.cpp.

◆ Render_Triangles_Clip()

bool VisRasterizerClass::Render_Triangles_Clip ( const Vector3 * verts,
int vcount,
const TriIndex * tris,
int tcount )
protected

Definition at line 284 of file visrasterizer.cpp.

◆ Render_Triangles_No_Clip()

bool VisRasterizerClass::Render_Triangles_No_Clip ( const Vector3 * verts,
int vcount,
const TriIndex * tris,
int tcount )
protected

Definition at line 247 of file visrasterizer.cpp.

◆ Reset_Pixel_Counter()

void VisRasterizerClass::Reset_Pixel_Counter ( void )
inline

Definition at line 178 of file visrasterizer.h.

◆ Set_Backface_ID()

void VisRasterizerClass::Set_Backface_ID ( uint32 id)
inline

Definition at line 167 of file visrasterizer.h.

◆ Set_Camera()

void VisRasterizerClass::Set_Camera ( CameraClass * camera)

Definition at line 174 of file visrasterizer.cpp.

◆ Set_Frontface_ID()

void VisRasterizerClass::Set_Frontface_ID ( uint32 id)
inline

Definition at line 168 of file visrasterizer.h.

◆ Set_Model_Transform()

void VisRasterizerClass::Set_Model_Transform ( const Matrix3D & model)

Definition at line 168 of file visrasterizer.cpp.

◆ Set_Render_Mode()

void VisRasterizerClass::Set_Render_Mode ( IDBufferClass::ModeType mode)
inline

Definition at line 164 of file visrasterizer.h.

◆ Set_Resolution()

void VisRasterizerClass::Set_Resolution ( int width,
int height )

Definition at line 158 of file visrasterizer.cpp.

◆ Update_MV_Transform()

void VisRasterizerClass::Update_MV_Transform ( void )
protected

Definition at line 193 of file visrasterizer.cpp.

Member Data Documentation

◆ Camera

CameraClass* VisRasterizerClass::Camera
protected

Definition at line 204 of file visrasterizer.h.

◆ IDBuffer

IDBufferClass VisRasterizerClass::IDBuffer
protected

Definition at line 207 of file visrasterizer.h.

◆ ModelTransform

Matrix3D VisRasterizerClass::ModelTransform
protected

Definition at line 203 of file visrasterizer.h.

◆ MVTransform

Matrix3D VisRasterizerClass::MVTransform
protected

Definition at line 205 of file visrasterizer.h.

◆ TempVertexBuffer

SimpleVecClass<Vector3> VisRasterizerClass::TempVertexBuffer
protected

Definition at line 209 of file visrasterizer.h.


The documentation for this class was generated from the following files: