Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on May 20th, 2012  |  syntax: None  |  size: 1.27 KB  |  hits: 14  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. OpenGL Vertex Shader Runtime Issues (not using VBOs or textures)
  2. uniform mat4 uMVP;
  3. attribute vec4 aPosition;
  4. attribute vec4 aNormal;
  5. attribute vec2 aTexCoord;
  6. varying vec2 vTexCoord;
  7. varying vec4 vPrimaryColor;
  8. void main() {
  9.   gl_Position = uMVP * aPosition;
  10.   vPrimaryColor = vec4(1.0, 1.0, 1.0, 1.0);
  11.   vTexCoord = aTexCoord;
  12. }
  13.        
  14. uniform sampler2D sTex;
  15. varying vec2 vTexCoord;
  16. varying vec4 vPrimaryColor;
  17. void main() {
  18.   gl_FragColor = vec4(0.0, 1.0, 0.0, 1.0);
  19. }
  20.        
  21. // Load the matrix
  22. glUniformMatrix4fv(gvMVPHandle, 1, false, &mvPMatrix.matrix[0][0]);
  23.  
  24. // Draw the square to be textured
  25. glVertexAttribPointer(gvPositionHandle, 2, GL_FLOAT, GL_FALSE, 0, gFullScreenQuad);
  26. glEnableVertexAttribArray(gvPositionHandle);
  27. glVertexAttribPointer(gvTexCoordHandle, 2, GL_FLOAT, GL_FALSE, 0, gFullScreenQuad);
  28. glDrawArrays(GL_QUADS, 0, 4);
  29.        
  30. const GLfloat PlotWidget::gFullScreenQuad[] = { -1.0f, -1.0f, -1.0f, 1.0f, 1.0f, 1.0f, 1.0f, -1.0f};
  31.        
  32. vTexCoord = aTexCoord;
  33.        
  34. vTexCoord = vec2(1.0, 1.0);
  35.        
  36. glVertexAttribPointer(gvPositionHandle, 2, GL_FLOAT, GL_FALSE, 0, gFullScreenQuad);
  37. glEnableVertexAttribArray(gvPositionHandle);
  38. glVertexAttribPointer(gvTexCoordHandle, 2, GL_FLOAT, GL_FALSE, 0, gFullScreenQuad);
  39. glEnableVertexAttribArray(gvTexCoordHandle);
  40. glDrawArrays(GL_QUADS, 0, 4);