41 "uniform mat4 uMVPMatrix;"
42 "attribute vec4 vPosition;"
43 "attribute vec2 a_texCoord;"
44 "varying vec2 v_texCoord;"
46 " gl_Position = uMVPMatrix * vPosition;"
47 " v_texCoord = a_texCoord;"
50 "precision mediump float;"
51 "uniform vec3 uColor;"
52 "varying vec2 v_texCoord;"
53 "uniform sampler2D s_texture;"
55 " gl_FragColor = texture2D( s_texture, v_texCoord );"
56 " gl_FragColor.rgb = uColor;"
184 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
185 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
186 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
187 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
191 cv::Mat rgbImage = cv::imdecode(
data, cv::IMREAD_UNCHANGED);
193 glPixelStorei(GL_UNPACK_ALIGNMENT, 4);
194 glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, rgbImage.cols, rgbImage.rows, 0, GL_RGBA, GL_UNSIGNED_BYTE, rgbImage.data);
196 GLint
error = glGetError();
210 const std::string & text,
224 int index_indices = 0;
229 for(
unsigned int i=0;
i<
text.size(); ++
i)
245 int row = indx / colCount;
246 int col = indx % colCount;
254 std::vector<float> vec(12);
255 std::vector<float> uv(8);
280 unsigned short inds[6] = {0, 1, 2, 0, 2, 3};
286 short base = (short) (index_vecs / 3);
289 for(
int i=0;
i<vec.size();
i++)
296 for(
int i=0;
i<uv.size();
i++)
318 const glm::mat4 & viewMatrixRotInv)
const
323 int mPositionHandle = glGetAttribLocation(
textProgram_,
"vPosition");
326 glEnableVertexAttribArray(mPositionHandle);
329 glVertexAttribPointer(mPositionHandle, 3, GL_FLOAT,
false, 0, &
vertexBuffer_[0]);
331 int mTexCoordLoc = glGetAttribLocation(
textProgram_,
"a_texCoord" );
334 glVertexAttribPointer ( mTexCoordLoc, 2, GL_FLOAT,
false, 0, &
textureBuffer_[0]);
336 glEnableVertexAttribArray ( mPositionHandle );
337 glEnableVertexAttribArray ( mTexCoordLoc );
340 int mtrxhandle = glGetUniformLocation(
textProgram_,
"uMVPMatrix");
344 glm::mat4 mvp_mat = projectionMatrix * viewMatrix *
poseGl_ * viewMatrixRotInv;
348 int colorhandle = glGetUniformLocation(
textProgram_,
"uColor");
351 int mSamplerLoc = glGetUniformLocation (
textProgram_,
"s_texture" );
354 glActiveTexture(GL_TEXTURE0);
358 glUniform1i ( mSamplerLoc, 0);
364 glDisableVertexAttribArray(mPositionHandle);
365 glDisableVertexAttribArray(mTexCoordLoc);