DI-Guy SDK Documentation  13.5
diguyOglGraphicsMesh.h
Go to the documentation of this file.
1 #pragma once
2 
3 
4 // needed for function prototypes
5 #include <GL/glew.h>
6 #include <GL/gl.h>
7 
8 #include <diguyGraphicsMesh.h>
9 class diguyGraphicsVertexData;
10 
11 
28 {
29 
30 public:
31 
32  diguyOglGraphicsMesh(void* internal_data);
33 
34  virtual void build();
35  virtual void unbuild();
36  virtual void draw(diguyDrawCallData* draw_data);
37 
38 
39  static int s_nverts;
40  static int s_ntris;
41  static int s_nvbos;
42 
43  static int s_ntris_drawn;
44  static int s_nverts_drawn;
45  static int s_nvbos_drawn;
46  static int s_skinned_vbos_drawn;
47  static int s_rigid_vbos_drawn;
48 
49 protected:
51  void download_to_gpu();
52 
53  virtual void draw_fixed_function_mesh();
54 
55 protected:
56 
62 
63  GLuint m_vertex_buffer;
65  GLuint m_vertex_array_object;
66 
67  GLenum m_gl_index_type;
68 
69 };
70 
71 
77 
diguyGraphicsMesh * diguyOglGraphicsMesh_create_func(void *internal_data)
Create function declaration.
Definition: diguyOglGraphicsMesh.cpp:729
GLuint m_index_buffer
Definition: diguyOglGraphicsMesh.h:61
static int s_nvbos_drawn
Definition: diguyOglGraphicsMesh.h:42
diguyOglGraphicsMesh(void *internal_data)
Definition: diguyOglGraphicsMesh.cpp:48
static int s_nverts_drawn
Definition: diguyOglGraphicsMesh.h:41
static int s_rigid_vbos_drawn
Definition: diguyOglGraphicsMesh.h:44
This class is part of the DI-Guy Graphics API.
Definition: diguyOglGraphicsMesh.h:25
int m_is_skinned_mesh
Variables for data generated during the Build Stage.
Definition: diguyOglGraphicsMesh.h:57
static int s_skinned_vbos_drawn
Definition: diguyOglGraphicsMesh.h:43
virtual void draw_fixed_function_mesh()
Definition: diguyOglGraphicsMesh.cpp:149
A class that represents a shared mesh object.
Definition: diguyGraphicsMesh.h:92
virtual void unbuild()
This function will be called by DI-Guy when it is time for a renderer-specific mesh object to be dest...
Definition: diguyOglGraphicsMesh.cpp:135
GLuint m_vertex_buffer
Definition: diguyOglGraphicsMesh.h:60
A struct that represents the information that diguy puts together for an immediate mode draw call...
Definition: diguyGraphicsMesh.h:42
GLuint m_vertex_array_object
Definition: diguyOglGraphicsMesh.h:62
GLenum m_gl_index_type
Definition: diguyOglGraphicsMesh.h:64
void download_to_gpu()
helper function for sending data during draw
Definition: diguyOglGraphicsMesh.cpp:205
static int s_nvbos
Definition: diguyOglGraphicsMesh.h:38
int m_has_tangents
Definition: diguyOglGraphicsMesh.h:58
virtual void build()
This function will be called by DI-Guy when it is time for a renderer-specific mesh object to be crea...
Definition: diguyOglGraphicsMesh.cpp:82
static int s_nverts
Definition: diguyOglGraphicsMesh.h:36
virtual void draw(diguyDrawCallData *draw_data)
This function will be called by DI-Guy when the mesh should be drawn.
Definition: diguyOglGraphicsMesh.cpp:331
static int s_ntris_drawn
Definition: diguyOglGraphicsMesh.h:40
static int s_ntris
Definition: diguyOglGraphicsMesh.h:37