Ejemplo n.º 1
0
void gDrawCircle(GContext *context)
{
	Program *prog = context->programs.circle;
	glUseProgram(prog->id);
	{
		setVectorUniforms(prog,context->translation,context->modelview_matrix,context->projection_matrix);
		setColorUniform(prog,context->color);
		
		drawArray(context, prog);
	}
	glUseProgram(0);
#ifdef DEBUG
	checkError();
#endif
}
Ejemplo n.º 2
0
void gFill(GContext *context)
{
	Program *prog = context->programs.fill;
	glUseProgram(prog->id);
	{
		setVectorUniforms(prog,NULLVEC,UNIMAT,UNIMAT);
		setColorUniform(prog,context->color);
		
		drawArray(context, prog);
	}
	glUseProgram(0);
#ifdef DEBUG
	checkError();
#endif
}
Ejemplo n.º 3
0
void gDrawRing(GContext *context, float in)
{
	Program *prog = context->programs.ring;
	glUseProgram(prog->id);
	{
		setVectorUniforms(prog,context->translation,context->modelview_matrix,context->projection_matrix);
		setColorUniform(prog,context->color);
		glUniform1fv(getUniform(prog,U_INNER_MUL), 1, &in);
		
		drawArray(context, prog);
	}
	glUseProgram(0);
#ifdef DEBUG
	checkError();
#endif
}
Ejemplo n.º 4
0
void gDrawImage(GContext *context, GImage *image)
{
	Program *prog = context->programs.tex;
	glUseProgram(prog->id);
	{
		setVectorUniforms(prog,context->translation,context->modelview_matrix,context->projection_matrix);
		setColorUniform(prog,context->color);
		
		glActiveTexture(GL_TEXTURE0);
		glBindTexture(GL_TEXTURE_2D, image->_id);
		glUniform1i(getUniform(prog,U_TEXTURE),0);
		
		drawArray(context, prog);
	}
	glUseProgram(0);
#ifdef DEBUG
	checkError();
#endif
}
Ejemplo n.º 5
0
void Lib3dapp::setBaseUniforms(Program& shader, unsigned int nTex, LightingState lights, vec4 color, float opacity) {
    setTextureUniforms(shader, nTex);
    setLightingUniforms(shader, lights);
    setColorUniform(shader, color);
    setOpacityUniform(shader, opacity);
}