3 #ifndef GDK_GFX_VERTEX_DATA_H 4 #define GDK_GFX_VERTEX_DATA_H 7 #include <gdk/webgl1es2_vertex_format.h> 8 #include <jfc/shared_proxy_ptr.h> 9 #include <jfc/unique_handle.h> 99 static const jfc::shared_proxy_ptr<gdk::webgl1es2_model>
Quad;
101 static const jfc::shared_proxy_ptr<gdk::webgl1es2_model>
Cube;
105 jfc::unique_handle<GLuint> m_IndexBufferHandle;
108 GLsizei m_IndexCount = 0;
111 jfc::unique_handle<GLuint> m_VertexBufferHandle;
117 GLsizei m_VertexCount = 0;
static const jfc::shared_proxy_ptr< gdk::webgl1es2_model > Cube
a cube with format pos3uv2norm3
Definition: webgl1es2_model.h:101
static const jfc::shared_proxy_ptr< gdk::webgl1es2_model > Quad
a quad with format pos3uv2
Definition: webgl1es2_model.h:99
used to construct a model. Vertex data represents a set of vertex data in system memory ...
Definition: vertex_data.h:44
GLushort index_data_type
type that must be used for index buffer data
Definition: webgl1es2_model.h:26
bool operator!=(const webgl1es2_model &)
equality semantics based on handle values
Vertex data representing a 3D graphical object.
Definition: model.h:11
The data store contents will be modified once and used at most a few times.
bool operator==(const webgl1es2_model &)
equality semantics based on handle values
void draw() const
invokes pipeline on the data. data must be bound
The data store contents will be modified repeatedly and used many times.
Every 3 verticies define a triangle.
Specifies drawing behaviours at the two programmable stages in the OpenGL ES 2.0/WebGL 1...
Definition: webgl1es2_shader_program.h:24
webgl1es2_model(webgl1es2_model &&)=default
support move semantics
Type
Hint to the graphics device about how the vertex data will be used.
Definition: webgl1es2_model.h:29
webgl1es2_model & operator=(webgl1es2_model &&)=default
support move semantics
virtual void update_vertex_data(const UsageHint &, const vertex_data &vertexDataView) override
replace current data in the vbo and ibo with new data
Vertex data representing a 3D graphical object.
Definition: webgl1es2_model.h:17
GLfloat attribute_component_data_type
Definition: webgl1es2_model.h:23
PrimitiveMode
Determines the primitive type used at the primitive assembly stage.
Definition: webgl1es2_model.h:42
The data store contents will be modified once and used many times.
void bind(const webgl1es2_shader_program &aShaderProgram) const
strong association with draw. If draw is on this instance is not called after bind() has not been cal...