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

#include <visrasterizer.h>

Public Types

enum  ModeType { OCCLUDER_MODE = 0 , NON_OCCLUDER_MODE }
 

Public Member Functions

 IDBufferClass (void)
 
 ~IDBufferClass (void)
 
void Set_Resolution (int w, int h)
 
void Get_Resolution (int *get_w, int *get_h)
 
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_Render_Mode (ModeType mode)
 
ModeType Get_Render_Mode (void)
 
void Reset_Pixel_Counter (void)
 
int Get_Pixel_Counter (void)
 
void Clear (void)
 
bool Render_Triangle (const Vector3 &p0, const Vector3 &p1, const Vector3 &p2)
 
const uint32Get_Pixel_Row (int y, int min_x, int max_x)
 

Protected Member Functions

void Reset (void)
 
void Allocate_Buffers (void)
 
bool Is_Backfacing (const Vector3 &p0, const Vector3 &p1, const Vector3 &p2)
 
int Render_Occluder_Scanline (GradientsStruct &grads, EdgeStruct *left, EdgeStruct *right)
 
int Render_Non_Occluder_Scanline (GradientsStruct &grads, EdgeStruct *left, EdgeStruct *right)
 
int Pixel_Coords_To_Address (int x, int y)
 

Protected Attributes

uint32 BackfaceID
 
uint32 FrontfaceID
 
uint32 CurID
 
int PixelCounter
 
ModeType RenderMode
 
bool TwoSidedRenderingEnabled
 
int ResWidth
 
int ResHeight
 
uint32IDBuffer
 
float * ZBuffer
 

Detailed Description

IDBufferClass This class manages the ID buffer and the Z buffer. It provides the low level rasterization code and stats about how many pixels and triangles are drawn.

Definition at line 67 of file visrasterizer.h.

Member Enumeration Documentation

◆ ModeType

Enumerator
OCCLUDER_MODE 
NON_OCCLUDER_MODE 

Definition at line 87 of file visrasterizer.h.

Constructor & Destructor Documentation

◆ IDBufferClass()

IDBufferClass::IDBufferClass ( void )

Definition at line 369 of file visrasterizer.cpp.

◆ ~IDBufferClass()

IDBufferClass::~IDBufferClass ( void )

Definition at line 384 of file visrasterizer.cpp.

Member Function Documentation

◆ Allocate_Buffers()

void IDBufferClass::Allocate_Buffers ( void )
protected

Definition at line 419 of file visrasterizer.cpp.

◆ Clear()

void IDBufferClass::Clear ( void )

Definition at line 431 of file visrasterizer.cpp.

◆ Enable_Two_Sided_Rendering()

void IDBufferClass::Enable_Two_Sided_Rendering ( bool onoff)
inline

Definition at line 84 of file visrasterizer.h.

◆ Get_Backface_ID()

uint32 IDBufferClass::Get_Backface_ID ( void )
inline

Definition at line 81 of file visrasterizer.h.

◆ Get_Frontface_ID()

uint32 IDBufferClass::Get_Frontface_ID ( void )
inline

Definition at line 82 of file visrasterizer.h.

◆ Get_Pixel_Counter()

int IDBufferClass::Get_Pixel_Counter ( void )
inline

Definition at line 92 of file visrasterizer.h.

◆ Get_Pixel_Row()

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

Definition at line 122 of file visrasterizer.h.

◆ Get_Render_Mode()

ModeType IDBufferClass::Get_Render_Mode ( void )
inline

Definition at line 89 of file visrasterizer.h.

◆ Get_Resolution()

void IDBufferClass::Get_Resolution ( int * get_w,
int * get_h )

Definition at line 400 of file visrasterizer.cpp.

◆ Is_Backfacing()

bool IDBufferClass::Is_Backfacing ( const Vector3 & p0,
const Vector3 & p1,
const Vector3 & p2 )
inlineprotected

Definition at line 133 of file visrasterizer.h.

◆ Is_Two_Sided_Rendering_Enabled()

bool IDBufferClass::Is_Two_Sided_Rendering_Enabled ( void )
inline

Definition at line 85 of file visrasterizer.h.

◆ Pixel_Coords_To_Address()

int IDBufferClass::Pixel_Coords_To_Address ( int x,
int y )
inlineprotected

Definition at line 107 of file visrasterizer.h.

◆ Render_Non_Occluder_Scanline()

int IDBufferClass::Render_Non_Occluder_Scanline ( GradientsStruct & grads,
EdgeStruct * left,
EdgeStruct * right )
protected

Definition at line 703 of file visrasterizer.cpp.

◆ Render_Occluder_Scanline()

int IDBufferClass::Render_Occluder_Scanline ( GradientsStruct & grads,
EdgeStruct * left,
EdgeStruct * right )
protected

Definition at line 653 of file visrasterizer.cpp.

◆ Render_Triangle()

bool IDBufferClass::Render_Triangle ( const Vector3 & p0,
const Vector3 & p1,
const Vector3 & p2 )

Definition at line 514 of file visrasterizer.cpp.

◆ Reset()

void IDBufferClass::Reset ( void )
protected

Definition at line 406 of file visrasterizer.cpp.

◆ Reset_Pixel_Counter()

void IDBufferClass::Reset_Pixel_Counter ( void )
inline

Definition at line 91 of file visrasterizer.h.

◆ Set_Backface_ID()

void IDBufferClass::Set_Backface_ID ( uint32 id)
inline

Definition at line 79 of file visrasterizer.h.

◆ Set_Frontface_ID()

void IDBufferClass::Set_Frontface_ID ( uint32 id)
inline

Definition at line 80 of file visrasterizer.h.

◆ Set_Render_Mode()

void IDBufferClass::Set_Render_Mode ( ModeType mode)
inline

Definition at line 88 of file visrasterizer.h.

◆ Set_Resolution()

void IDBufferClass::Set_Resolution ( int w,
int h )

Definition at line 389 of file visrasterizer.cpp.

Member Data Documentation

◆ BackfaceID

uint32 IDBufferClass::BackfaceID
protected

Definition at line 109 of file visrasterizer.h.

◆ CurID

uint32 IDBufferClass::CurID
protected

Definition at line 111 of file visrasterizer.h.

◆ FrontfaceID

uint32 IDBufferClass::FrontfaceID
protected

Definition at line 110 of file visrasterizer.h.

◆ IDBuffer

uint32* IDBufferClass::IDBuffer
protected

Definition at line 118 of file visrasterizer.h.

◆ PixelCounter

int IDBufferClass::PixelCounter
protected

Definition at line 112 of file visrasterizer.h.

◆ RenderMode

ModeType IDBufferClass::RenderMode
protected

Definition at line 113 of file visrasterizer.h.

◆ ResHeight

int IDBufferClass::ResHeight
protected

Definition at line 117 of file visrasterizer.h.

◆ ResWidth

int IDBufferClass::ResWidth
protected

Definition at line 116 of file visrasterizer.h.

◆ TwoSidedRenderingEnabled

bool IDBufferClass::TwoSidedRenderingEnabled
protected

Definition at line 114 of file visrasterizer.h.

◆ ZBuffer

float* IDBufferClass::ZBuffer
protected

Definition at line 119 of file visrasterizer.h.


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