diff mbox

[Branch,~glmark2-dev/glmark2/trunk] Rev 26: Add Mesh:render_array_attrib() method.

Message ID 20110721123631.17019.27876.launchpad@loganberry.canonical.com
State Accepted
Headers show

Commit Message

Alexandros Frantzis July 21, 2011, 12:36 p.m. UTC
------------------------------------------------------------
revno: 26
committer: Alexandros Frantzis <alf82@freemail.gr>
timestamp: Fri 2010-07-09 13:13:39 +0300
message:
  Add Mesh:render_array_attrib() method.
modified:
  mesh.cpp
  mesh.h


--
lp:glmark2
https://code.launchpad.net/~glmark2-dev/glmark2/trunk

You are subscribed to branch lp:glmark2.
To unsubscribe from this branch go to https://code.launchpad.net/~glmark2-dev/glmark2/trunk/+edit-subscription
diff mbox

Patch

=== modified file 'mesh.cpp'
--- mesh.cpp	2010-07-08 08:34:51 +0000
+++ mesh.cpp	2010-07-09 10:13:39 +0000
@@ -146,6 +146,29 @@ 
     glDisableClientState(GL_NORMAL_ARRAY);
 }
 
+void Mesh::render_array_attrib()
+{
+    // Enable the attributes
+    glEnableVertexAttribArray(Shader::VertexAttribLocation);
+    glEnableVertexAttribArray(Shader::NormalAttribLocation);
+    glEnableVertexAttribArray(Shader::TexCoordAttribLocation);
+
+    glBindBufferARB(GL_ARRAY_BUFFER_ARB, 0);
+    glVertexAttribPointer(Shader::VertexAttribLocation, 3, GL_FLOAT,
+                          GL_FALSE, sizeof(Vertex), &mVertex[0].v.x);
+    glVertexAttribPointer(Shader::NormalAttribLocation, 3, GL_FLOAT,
+                          GL_FALSE, sizeof(Vertex), &mVertex[0].n.x);
+    glVertexAttribPointer(Shader::TexCoordAttribLocation, 2, GL_FLOAT,
+                          GL_FALSE, sizeof(Vertex), &mVertex[0].t.u);
+
+    glDrawArrays(GL_TRIANGLES, 0, mVertexQty);
+
+    // Disable the attributes
+    glDisableVertexAttribArray(Shader::TexCoordAttribLocation);
+    glDisableVertexAttribArray(Shader::NormalAttribLocation);
+    glDisableVertexAttribArray(Shader::VertexAttribLocation);
+}
+
 void Mesh::build_vbo()
 {
 #ifdef _DEBUG

=== modified file 'mesh.h'
--- mesh.h	2010-07-08 08:34:51 +0000
+++ mesh.h	2010-07-09 10:13:39 +0000
@@ -44,6 +44,7 @@ 
     void make_cube();
     void make_torus();
     void render_array();
+    void render_array_attrib();
     void build_vbo();
     void render_vbo();
     void render_vbo_attrib();