Converted gl2 path.

This commit is contained in:
Doug Binks 2014-04-06 21:14:43 +02:00
parent 3d3582cd9a
commit 5ed1b21855

View File

@ -516,14 +516,6 @@ static int glnvg__renderGetTextureSize(void* uptr, int image, int* w, int* h)
return 1;
}
static void glnvg__toFloatColor(float* fc, unsigned int c)
{
fc[0] = ((c) & 0xff) / 255.0f;
fc[1] = ((c>>8) & 0xff) / 255.0f;
fc[2] = ((c>>16) & 0xff) / 255.0f;
fc[3] = ((c>>24) & 0xff) / 255.0f;
}
static void glnvg__xformIdentity(float* t)
{
t[0] = 1.0f; t[1] = 0.0f;
@ -562,15 +554,15 @@ static void glnvg__xformToMat3x3(float* m3, float* t)
static int glnvg__setupPaint(struct GLNVGcontext* gl, struct NVGpaint* paint, struct NVGscissor* scissor, float width, float fringe)
{
float innerCol[4];
float outerCol[4];
struct NVGcolor innerCol;
struct NVGcolor outerCol;
struct GLNVGtexture* tex = NULL;
float invxform[6], paintMat[9], scissorMat[9];
float scissorx = 0, scissory = 0;
float scissorsx = 0, scissorsy = 0;
glnvg__toFloatColor(innerCol, paint->innerColor);
glnvg__toFloatColor(outerCol, paint->outerColor);
innerCol = paint->innerColor;
outerCol = paint->outerColor;
glnvg__xformInverse(invxform, paint->xform);
glnvg__xformToMat3x3(paintMat, invxform);
@ -618,8 +610,8 @@ static int glnvg__setupPaint(struct GLNVGcontext* gl, struct NVGpaint* paint, st
glUniform2f(gl->shader.loc[GLNVG_LOC_EXTENT], paint->extent[0], paint->extent[1]);
glUniform1f(gl->shader.loc[GLNVG_LOC_RADIUS], paint->radius);
glUniform1f(gl->shader.loc[GLNVG_LOC_FEATHER], paint->feather);
glUniform4fv(gl->shader.loc[GLNVG_LOC_INNERCOL], 1, innerCol);
glUniform4fv(gl->shader.loc[GLNVG_LOC_OUTERCOL], 1, outerCol);
glUniform4fv(gl->shader.loc[GLNVG_LOC_INNERCOL], 1, innerCol.rgba);
glUniform4fv(gl->shader.loc[GLNVG_LOC_OUTERCOL], 1, outerCol.rgba);
glUniform1f(gl->shader.loc[GLNVG_LOC_STROKEMULT], (width*0.5f + fringe*0.5f)/fringe);
glnvg__checkError("grad paint loc");
}
@ -850,7 +842,7 @@ static void glnvg__renderTriangles(void* uptr, struct NVGpaint* paint, struct NV
{
struct GLNVGcontext* gl = (struct GLNVGcontext*)uptr;
struct GLNVGtexture* tex = glnvg__findTexture(gl, paint->image);
float color[4];
struct NVGcolor color;
NVG_NOTUSED(scissor);
if (gl->shader.prog == 0)
@ -875,8 +867,8 @@ static void glnvg__renderTriangles(void* uptr, struct NVGpaint* paint, struct NV
glEnableVertexAttribArray(0);
glEnableVertexAttribArray(1);
glnvg__toFloatColor(color, paint->innerColor);
glVertexAttrib4fv(2, color);
color = paint->innerColor;
glVertexAttrib4fv(2, color.rgba);
glDrawArrays(GL_TRIANGLES, 0, nverts);