Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(71)

Unified Diff: ppapi/examples/compositor/spinning_cube.cc

Issue 298023004: [PPAPI] Compositor API implementation (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@compositor_api_def_new
Patch Set: Fix reivew issues Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: ppapi/examples/compositor/spinning_cube.cc
diff --git a/ppapi/examples/gles2_spinning_cube/spinning_cube.cc b/ppapi/examples/compositor/spinning_cube.cc
similarity index 88%
copy from ppapi/examples/gles2_spinning_cube/spinning_cube.cc
copy to ppapi/examples/compositor/spinning_cube.cc
index c4d33ddc87ec46b3c372dd1aeb9c906966134c2e..236fd3b2be3fd4a3bb050a1789b11624c61f9b81 100644
--- a/ppapi/examples/gles2_spinning_cube/spinning_cube.cc
+++ b/ppapi/examples/compositor/spinning_cube.cc
@@ -14,7 +14,7 @@
// http://www.opengles-book.com
//
-#include "ppapi/examples/gles2_spinning_cube/spinning_cube.h"
+#include "ppapi/examples/compositor/spinning_cube.h"
#include <math.h>
#include <stdlib.h>
@@ -34,29 +34,13 @@ int GenerateCube(GLuint *vbo_vertices,
const GLfloat cube_vertices[] = {
-0.5f, -0.5f, -0.5f,
+ 0.5f, -0.5f, -0.5f,
+ 0.5f, -0.5f, 0.5f,
-0.5f, -0.5f, 0.5f,
- 0.5f, -0.5f, 0.5f,
- 0.5f, -0.5f, -0.5f,
-0.5f, 0.5f, -0.5f,
+ 0.5f, 0.5f, -0.5f,
+ 0.5f, 0.5f, 0.5f,
-0.5f, 0.5f, 0.5f,
- 0.5f, 0.5f, 0.5f,
- 0.5f, 0.5f, -0.5f,
- -0.5f, -0.5f, -0.5f,
- -0.5f, 0.5f, -0.5f,
- 0.5f, 0.5f, -0.5f,
- 0.5f, -0.5f, -0.5f,
- -0.5f, -0.5f, 0.5f,
- -0.5f, 0.5f, 0.5f,
- 0.5f, 0.5f, 0.5f,
- 0.5f, -0.5f, 0.5f,
- -0.5f, -0.5f, -0.5f,
- -0.5f, -0.5f, 0.5f,
- -0.5f, 0.5f, 0.5f,
- -0.5f, 0.5f, -0.5f,
- 0.5f, -0.5f, -0.5f,
- 0.5f, -0.5f, 0.5f,
- 0.5f, 0.5f, 0.5f,
- 0.5f, 0.5f, -0.5f,
};
const GLushort cube_indices[] = {
@@ -64,14 +48,14 @@ int GenerateCube(GLuint *vbo_vertices,
0, 3, 2,
4, 5, 6,
4, 6, 7,
- 8, 9, 10,
- 8, 10, 11,
- 12, 15, 14,
- 12, 14, 13,
- 16, 17, 18,
- 16, 18, 19,
- 20, 23, 22,
- 20, 22, 21
+ 3, 6, 2,
+ 3, 7, 6,
+ 0, 1, 5,
+ 0, 5, 4,
+ 0, 7, 3,
+ 0, 4, 7,
+ 1, 2, 6,
+ 1, 6, 5,
};
if (vbo_vertices) {
@@ -365,17 +349,23 @@ void SpinningCube::Init(uint32_t width, uint32_t height) {
const char vertext_shader_source[] =
"uniform mat4 u_mvpMatrix; \n"
"attribute vec4 a_position; \n"
+ "varying vec4 v_color; \n"
"void main() \n"
"{ \n"
" gl_Position = u_mvpMatrix * a_position; \n"
+ " v_color = vec4(a_position.x + 0.5, \n"
+ " a_position.y + 0.5, \n"
+ " a_position.z + 0.5, \n"
+ " 0.8); \n"
"} \n";
const char fragment_shader_source[] =
- "precision mediump float; \n"
- "void main() \n"
- "{ \n"
- " gl_FragColor = vec4( 0.0, 0.0, 1.0, 1.0 ); \n"
- "} \n";
+ "precision mediump float; \n"
+ "varying vec4 v_color; \n"
+ "void main() \n"
+ "{ \n"
+ " gl_FragColor = v_color; \n"
+ "} \n";
state_->program_object_ = LoadProgram(
vertext_shader_source, fragment_shader_source);
@@ -383,8 +373,8 @@ void SpinningCube::Init(uint32_t width, uint32_t height) {
state_->program_object_, "a_position");
state_->mvp_location_ = glGetUniformLocation(
state_->program_object_, "u_mvpMatrix");
- state_->num_indices_ = GenerateCube(
- &state_->vbo_vertices_, &state_->vbo_indices_);
+ state_->num_indices_ = GenerateCube(&state_->vbo_vertices_,
+ &state_->vbo_indices_);
glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
}
@@ -430,24 +420,27 @@ void SpinningCube::UpdateForDragDistance(float distance) {
void SpinningCube::Draw() {
glViewport(0, 0, width_, height_);
- glClear(GL_COLOR_BUFFER_BIT);
+ glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
+ glEnable(GL_DEPTH_TEST);
glUseProgram(state_->program_object_);
+
glBindBuffer(GL_ARRAY_BUFFER, state_->vbo_vertices_);
- glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, state_->vbo_indices_);
glVertexAttribPointer(state_->position_location_,
- 3,
- GL_FLOAT,
- GL_FALSE, 3 * sizeof(GLfloat),
- 0);
+ 3,
+ GL_FLOAT,
+ GL_FALSE, 3 * sizeof(GLfloat),
+ 0);
glEnableVertexAttribArray(state_->position_location_);
+
glUniformMatrix4fv(state_->mvp_location_,
- 1,
- GL_FALSE,
- (GLfloat*) &state_->mvp_matrix_.m[0][0]);
+ 1,
+ GL_FALSE,
+ (GLfloat*) &state_->mvp_matrix_.m[0][0]);
+ glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, state_->vbo_indices_);
glDrawElements(GL_TRIANGLES,
- state_->num_indices_,
- GL_UNSIGNED_SHORT,
- 0);
+ state_->num_indices_,
+ GL_UNSIGNED_SHORT,
+ 0);
}
void SpinningCube::Update() {

Powered by Google App Engine
This is Rietveld 408576698