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

Unified Diff: third_party/gles_book_examples/Chapter_2/Hello_Triangle/Hello_Triangle.c

Issue 543002: Renamed gles_book_examples to gles2_book to make it shorter and more correct.... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 10 years, 11 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: third_party/gles_book_examples/Chapter_2/Hello_Triangle/Hello_Triangle.c
===================================================================
--- third_party/gles_book_examples/Chapter_2/Hello_Triangle/Hello_Triangle.c (revision 35873)
+++ third_party/gles_book_examples/Chapter_2/Hello_Triangle/Hello_Triangle.c (working copy)
@@ -1,109 +0,0 @@
-//
-// Book: OpenGL(R) ES 2.0 Programming Guide
-// Authors: Aaftab Munshi, Dan Ginsburg, Dave Shreiner
-// ISBN-10: 0321502795
-// ISBN-13: 9780321502797
-// Publisher: Addison-Wesley Professional
-// URLs: http://safari.informit.com/9780321563835
-// http://www.opengles-book.com
-//
-
-// Hello_Triangle.c
-//
-// This is a simple example that draws a single triangle with
-// a minimal vertex/fragment shader. The purpose of this
-// example is to demonstrate the basic concepts of
-// OpenGL ES 2.0 rendering.
-
-#include "Hello_Triangle.h"
-
-#include <stdlib.h>
-
-///
-// Initialize the shader and program object
-//
-int htInit ( ESContext *esContext )
-{
- HTUserData *userData = esContext->userData;
-
- GLbyte vShaderStr[] =
- "attribute vec4 vPosition; \n"
- "void main() \n"
- "{ \n"
- " gl_Position = vPosition; \n"
- "} \n";
-
- // TODO(alokp): Shaders containing "precision" do not compile.
- GLbyte fShaderStr[] =
- "//precision mediump float; \n"
- "void main() \n"
- "{ \n"
- " gl_FragColor = vec4 ( 1.0, 0.0, 0.0, 1.0 );\n"
- "} \n";
-
- GLfloat vVertices[] = { 0.0f, 0.5f, 0.0f,
- -0.5f, -0.5f, 0.0f,
- 0.5f, -0.5f, 0.0f };
-
- userData->programObject = esLoadProgram ( vShaderStr, fShaderStr );
- if ( userData->programObject == 0 ) return FALSE;
-
- // Bind vPosition to attribute 0
- glBindAttribLocation ( userData->programObject, 0, "vPosition" );
-
- glGenBuffers ( 1, &userData->vbo );
- glBindBuffer ( GL_ARRAY_BUFFER, userData->vbo );
- glBufferData ( GL_ARRAY_BUFFER, sizeof(vVertices), NULL, GL_STATIC_DRAW );
- glBufferSubData ( GL_ARRAY_BUFFER, 0, sizeof(vVertices), vVertices );
-
- glClearColor ( 0.0f, 0.0f, 0.0f, 0.0f );
- return TRUE;
-}
-
-///
-// Draw a triangle using the shader pair created in Init()
-//
-void htDraw ( ESContext *esContext )
-{
- HTUserData *userData = esContext->userData;
-
- // Set the viewport
- glViewport ( 0, 0, esContext->width, esContext->height );
-
- // Clear the color buffer
- glClear ( GL_COLOR_BUFFER_BIT );
-
- // Use the program object
- glUseProgram ( userData->programObject );
-
- // Load the vertex data
- glBindBuffer ( GL_ARRAY_BUFFER, userData->vbo );
- glEnableVertexAttribArray ( 0 );
- glVertexAttribPointer ( 0, 3, GL_FLOAT, GL_FALSE, 0, 0 );
-
- glDrawArrays ( GL_TRIANGLES, 0, 3 );
-
- // Nothing is drawn or application crashes without glFlush.
- // TODO(alokp): glFlush should not be necessary with SwapBuffers().
- glFlush();
-}
-
-///
-// Cleanup
-//
-void htShutDown ( ESContext *esContext )
-{
- HTUserData *userData = esContext->userData;
-
- // Delete program object
- if ( userData->programObject != 0 )
- {
- glDeleteProgram ( userData->programObject );
- userData->programObject = 0;
- }
- if ( userData->vbo != 0 )
- {
- glDeleteBuffers ( 1, &userData->vbo );
- userData->vbo = 0;
- }
-}

Powered by Google App Engine
This is Rietveld 408576698