zenilib  0.5.3.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Zeni::Vertex_Buffer Class Reference

A Vertex_Buffer that accepts Triangle and Quadrilaterals. More...

#include <Vertex_Buffer.h>

Classes

struct  Vertex_Buffer_Range
 

Public Member Functions

 Vertex_Buffer ()
 
 ~Vertex_Buffer ()
 
void debug_render ()
 Render all Triangles in the Vertex_Buffer individually; Will fail if prerender has been called. More...
 
void do_normal_alignment (const bool align_normals_=true)
 
void fax_Quadrilateral (const Quadrilateral< Vertex2f_Color > *const &quadrilateral)
 Give the Vertex_Buffer a copy of a Quadrilateral. More...
 
void fax_Quadrilateral (const Quadrilateral< Vertex2f_Texture > *const &quadrilateral)
 Give the Vertex_Buffer a copy of a Quadrilateral. More...
 
void fax_Quadrilateral (const Quadrilateral< Vertex3f_Color > *const &quadrilateral)
 Give the Vertex_Buffer a copy of a Quadrilateral. More...
 
void fax_Quadrilateral (const Quadrilateral< Vertex3f_Texture > *const &quadrilateral)
 Give the Vertex_Buffer a copy of a Quadrilateral. More...
 
void fax_Triangle (const Triangle< Vertex2f_Color > *const &triangle)
 Give the Vertex_Buffer a copy of a Triangle. More...
 
void fax_Triangle (const Triangle< Vertex2f_Texture > *const &triangle)
 Give the Vertex_Buffer a copy of a Triangle. More...
 
void fax_Triangle (const Triangle< Vertex3f_Color > *const &triangle)
 Give the Vertex_Buffer a copy of a Triangle. More...
 
void fax_Triangle (const Triangle< Vertex3f_Texture > *const &triangle)
 Give the Vertex_Buffer a copy of a Triangle. More...
 
void give_Macrorenderer (Vertex_Buffer_Macrorenderer *const &macrorenderer)
 Wraps the final render call. More...
 
void give_Quadrilateral (Quadrilateral< Vertex2f_Color > *const &quadrilateral)
 Give the Vertex_Buffer a Quadrilateral (which it will delete later) More...
 
void give_Quadrilateral (Quadrilateral< Vertex2f_Texture > *const &quadrilateral)
 Give the Vertex_Buffer a Quadrilateral (which it will delete later) More...
 
void give_Quadrilateral (Quadrilateral< Vertex3f_Color > *const &quadrilateral)
 Give the Vertex_Buffer a Quadrilateral (which it will delete later) More...
 
void give_Quadrilateral (Quadrilateral< Vertex3f_Texture > *const &quadrilateral)
 Give the Vertex_Buffer a Quadrilateral (which it will delete later) More...
 
void give_Triangle (Triangle< Vertex2f_Color > *const &triangle)
 Give the Vertex_Buffer a Triangle (which it will delete later) More...
 
void give_Triangle (Triangle< Vertex2f_Texture > *const &triangle)
 Give the Vertex_Buffer a Triangle (which it will delete later) More...
 
void give_Triangle (Triangle< Vertex3f_Color > *const &triangle)
 Give the Vertex_Buffer a Triangle (which it will delete later) More...
 
void give_Triangle (Triangle< Vertex3f_Texture > *const &triangle)
 Give the Vertex_Buffer a Triangle (which it will delete later) More...
 
void lose ()
 Lose the Vertex_Buffer. More...
 
void render ()
 Render the Vertex_Buffer. More...
 
bool will_do_normal_alignment () const
 

Static Public Member Functions

static void lose_all ()
 

Friends

class Vertex_Buffer_Renderer_DX9
 
class Vertex_Buffer_Renderer_GL_Fixed
 
class Vertex_Buffer_Renderer_GL_Shader
 

Detailed Description

A Vertex_Buffer that accepts Triangle and Quadrilaterals.

Author
bazald

Contact: bazal.nosp@m.d@ze.nosp@m.nipex.nosp@m..com

Definition at line 85 of file Vertex_Buffer.h.

Constructor & Destructor Documentation

Zeni::Vertex_Buffer::Vertex_Buffer ( )

Definition at line 53 of file Vertex_Buffer.cpp.

Zeni::Vertex_Buffer::~Vertex_Buffer ( )

Definition at line 73 of file Vertex_Buffer.cpp.

References Zeni::clear_triangles().

Member Function Documentation

void Zeni::Vertex_Buffer::debug_render ( )

Render all Triangles in the Vertex_Buffer individually; Will fail if prerender has been called.

Definition at line 223 of file Vertex_Buffer.cpp.

References Zeni::get_Video(), i, and Zeni::Video::render().

void Zeni::Vertex_Buffer::do_normal_alignment ( const bool  align_normals_ = true)
inline

Definition at line 25 of file Vertex_Buffer.hxx.

void Zeni::Vertex_Buffer::fax_Quadrilateral ( const Quadrilateral< Vertex2f_Color > *const quadrilateral)
void Zeni::Vertex_Buffer::fax_Quadrilateral ( const Quadrilateral< Vertex2f_Texture > *const quadrilateral)
void Zeni::Vertex_Buffer::fax_Quadrilateral ( const Quadrilateral< Vertex3f_Color > *const quadrilateral)
void Zeni::Vertex_Buffer::fax_Quadrilateral ( const Quadrilateral< Vertex3f_Texture > *const quadrilateral)
void Zeni::Vertex_Buffer::fax_Triangle ( const Triangle< Vertex3f_Color > *const triangle)

Give the Vertex_Buffer a copy of a Triangle.

Definition at line 167 of file Vertex_Buffer.cpp.

References Zeni::Triangle< VERTEX >::get_duplicate(), and give_Triangle().

void Zeni::Vertex_Buffer::fax_Triangle ( const Triangle< Vertex3f_Texture > *const triangle)

Give the Vertex_Buffer a copy of a Triangle.

Definition at line 190 of file Vertex_Buffer.cpp.

References Zeni::Triangle< VERTEX >::get_duplicate(), and give_Triangle().

void Zeni::Vertex_Buffer::give_Macrorenderer ( Vertex_Buffer_Macrorenderer *const macrorenderer)

Wraps the final render call.

Definition at line 230 of file Vertex_Buffer.cpp.

void Zeni::Vertex_Buffer::give_Quadrilateral ( Quadrilateral< Vertex2f_Color > *const quadrilateral)

Give the Vertex_Buffer a Quadrilateral (which it will delete later)

Definition at line 125 of file Vertex_Buffer.cpp.

References fax_Quadrilateral().

void Zeni::Vertex_Buffer::give_Quadrilateral ( Quadrilateral< Vertex2f_Texture > *const quadrilateral)

Give the Vertex_Buffer a Quadrilateral (which it will delete later)

Definition at line 138 of file Vertex_Buffer.cpp.

References fax_Quadrilateral().

void Zeni::Vertex_Buffer::give_Quadrilateral ( Quadrilateral< Vertex3f_Color > *const quadrilateral)

Give the Vertex_Buffer a Quadrilateral (which it will delete later)

Definition at line 197 of file Vertex_Buffer.cpp.

References fax_Quadrilateral().

void Zeni::Vertex_Buffer::give_Quadrilateral ( Quadrilateral< Vertex3f_Texture > *const quadrilateral)

Give the Vertex_Buffer a Quadrilateral (which it will delete later)

Definition at line 210 of file Vertex_Buffer.cpp.

References fax_Quadrilateral().

void Zeni::Vertex_Buffer::give_Triangle ( Triangle< Vertex2f_Color > *const triangle)

Give the Vertex_Buffer a Triangle (which it will delete later)

Definition at line 83 of file Vertex_Buffer.cpp.

References fax_Triangle().

Referenced by fax_Quadrilateral(), and fax_Triangle().

void Zeni::Vertex_Buffer::give_Triangle ( Triangle< Vertex2f_Texture > *const triangle)

Give the Vertex_Buffer a Triangle (which it will delete later)

Definition at line 104 of file Vertex_Buffer.cpp.

References fax_Triangle().

void Zeni::Vertex_Buffer::give_Triangle ( Triangle< Vertex3f_Color > *const triangle)

Give the Vertex_Buffer a Triangle (which it will delete later)

Definition at line 151 of file Vertex_Buffer.cpp.

References Zeni::Renderable::get_Material().

void Zeni::Vertex_Buffer::give_Triangle ( Triangle< Vertex3f_Texture > *const triangle)

Give the Vertex_Buffer a Triangle (which it will delete later)

Definition at line 174 of file Vertex_Buffer.cpp.

References Zeni::Renderable::get_Material().

void Zeni::Vertex_Buffer::lose ( )

Lose the Vertex_Buffer.

Definition at line 256 of file Vertex_Buffer.cpp.

void Zeni::Vertex_Buffer::lose_all ( )
static

Definition at line 425 of file Vertex_Buffer.cpp.

bool Zeni::Vertex_Buffer::will_do_normal_alignment ( ) const
inline

Definition at line 29 of file Vertex_Buffer.hxx.

Friends And Related Function Documentation

friend class Vertex_Buffer_Renderer_DX9
friend

Definition at line 91 of file Vertex_Buffer.h.

friend class Vertex_Buffer_Renderer_GL_Fixed
friend

Definition at line 89 of file Vertex_Buffer.h.

friend class Vertex_Buffer_Renderer_GL_Shader
friend

Definition at line 90 of file Vertex_Buffer.h.


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