Home | History | Annotate | Download | only in mosaic_renderer
      1 #pragma once
      2 
      3 #include "FrameBuffer.h"
      4 #include "Renderer.h"
      5 
      6 #include <GLES2/gl2.h>
      7 
      8 #include <stdint.h>
      9 #include <stdio.h>
     10 #include <stdlib.h>
     11 
     12 class WarpRenderer: public Renderer {
     13   public:
     14     WarpRenderer();
     15     virtual ~WarpRenderer();
     16 
     17     // Initialize OpenGL resources
     18     // @return true if successful
     19     bool InitializeGLProgram();
     20 
     21     void SetViewportMatrix(int w, int h, int W, int H);
     22     void SetScalingMatrix(float xscale, float yscale);
     23 
     24     bool DrawTexture(GLfloat *affine);
     25 
     26  private:
     27     // Source code for shaders.
     28     const char* VertexShaderSource() const;
     29     const char* FragmentShaderSource() const;
     30 
     31     GLuint mTexHandle;                  // Handle to s_texture.
     32     GLuint mTexCoordHandle;             // Handle to a_texCoord.
     33     GLuint mTriangleVerticesHandle;     // Handle to vPosition.
     34 
     35     // Attribute locations
     36     GLint  mPositionLoc;
     37     GLint  mAffinetransLoc;
     38     GLint  mViewporttransLoc;
     39     GLint  mScalingtransLoc;
     40     GLint  mTexCoordLoc;
     41 
     42     GLfloat mViewportMatrix[16];
     43     GLfloat mScalingMatrix[16];
     44 
     45     // Sampler location
     46     GLint mSamplerLoc;
     47 };
     48 
     49