Esempio n. 1
0
void Z3DShaderProgram::setUniformValue(GLint loc, GLuint v1, GLuint v2, GLuint v3, GLuint v4)
{
  if (loc != -1) {
    glUniform4ui(loc, v1, v2, v3, v4);
  }
}
Esempio n. 2
0
void shader_gl3::uniform(const char* name, const unsigned int& arg1, const unsigned int& arg2, const unsigned int& arg3, const unsigned int& arg4) const {
	A2E_CHECK_UNIFORM_EXISTENCE(name);
	A2E_CHECK_UNIFORM_TYPE(name, GL_UNSIGNED_INT_VEC4);
	glUniform4ui(A2E_SHADER_GET_UNIFORM_POSITION(name), arg1, arg2, arg3, arg4);
}
Esempio n. 3
0
	void Shader::BindUInt(const std::string &name, unsigned int v0, unsigned int v1, unsigned int v2, unsigned int v3)
	{
		int id = GetUniformLocation(name);
		if (id != -1)
			glUniform4ui(id, v0, v1, v2, v3);
	}
Esempio n. 4
0
/*
 *
 * Core in:
 * OpenGL    : 2.0 
 * OpenGLES  : 3.0
 */
void rglUniform4ui(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3)
{
#if defined(HAVE_OPENGL) || defined(HAVE_OPENGLES) && defined(HAVE_OPENGLES3)
   glUniform4ui(location, v0, v1, v2, v3);
#endif
}
Esempio n. 5
0
void glsl_uniformui(int location, unsigned v0, unsigned v1, unsigned v2, unsigned v3) {
	glUniform4ui(location, v0, v1, v2, v3);
}
Esempio n. 6
0
void GLProgram::uniform(const char * name, unsigned int f1, unsigned int f2, unsigned int f3, unsigned int f4){
  bind_shader(*this);
  glUniform4ui(uform_loc(name),f1,f2,f3,f4);
}
Esempio n. 7
0
void shader_gles3::uniform(const char* name, const uint4& arg1) const {
	A2E_CHECK_UNIFORM_EXISTENCE(name);
	A2E_CHECK_UNIFORM_TYPE(name, GL_UNSIGNED_INT_VEC4);
	glUniform4ui(A2E_SHADER_GET_UNIFORM_POSITION(name), arg1.x, arg1.y, arg1.z, arg1.w);
}
Esempio n. 8
0
static Bool
use_copyplane(PixmapPtr dst, GCPtr gc, glamor_program *prog, void *arg)
{
    struct copy_args *args = arg;
    glamor_pixmap_fbo *src = args->src;

    glamor_bind_texture(glamor_get_screen_private(dst->drawable.pScreen),
                        GL_TEXTURE0, src, TRUE);

    glUniform2f(prog->fill_offset_uniform, args->dx, args->dy);
    glUniform2f(prog->fill_size_inv_uniform, 1.0f/src->width, 1.0f/src->height);

    glamor_set_color(dst, gc->fgPixel, prog->fg_uniform);
    glamor_set_color(dst, gc->bgPixel, prog->bg_uniform);

    /* XXX handle 2 10 10 10 and 1555 formats; presumably the pixmap private knows this? */
    switch (args->src_pixmap->drawable.depth) {
    case 24:
        glUniform4ui(prog->bitplane_uniform,
                     (args->bitplane >> 16) & 0xff,
                     (args->bitplane >>  8) & 0xff,
                     (args->bitplane      ) & 0xff,
                     0);

        glUniform4f(prog->bitmul_uniform, 0xff, 0xff, 0xff, 0);
        break;
    case 32:
        glUniform4ui(prog->bitplane_uniform,
                     (args->bitplane >> 16) & 0xff,
                     (args->bitplane >>  8) & 0xff,
                     (args->bitplane      ) & 0xff,
                     (args->bitplane >> 24) & 0xff);

        glUniform4f(prog->bitmul_uniform, 0xff, 0xff, 0xff, 0xff);
        break;
    case 16:
        glUniform4ui(prog->bitplane_uniform,
                     (args->bitplane >> 11) & 0x1f,
                     (args->bitplane >>  5) & 0x3f,
                     (args->bitplane      ) & 0x1f,
                     0);

        glUniform4f(prog->bitmul_uniform, 0x1f, 0x3f, 0x1f, 0);
        break;
    case 15:
        glUniform4ui(prog->bitplane_uniform,
                     (args->bitplane >> 10) & 0x1f,
                     (args->bitplane >>  5) & 0x1f,
                     (args->bitplane      ) & 0x1f,
                     0);

        glUniform4f(prog->bitmul_uniform, 0x1f, 0x1f, 0x1f, 0);
        break;
    case 8:
        glUniform4ui(prog->bitplane_uniform,
                     0, 0, 0, args->bitplane);
        glUniform4f(prog->bitmul_uniform, 0, 0, 0, 0xff);
        break;
    case 1:
        glUniform4ui(prog->bitplane_uniform,
                     0, 0, 0, args->bitplane);
        glUniform4f(prog->bitmul_uniform, 0, 0, 0, 0xff);
        break;
    }

    return TRUE;
}
Esempio n. 9
0
 void Uniform::set4ui(GLuint x, GLuint y, GLuint z, GLuint w)
 {
     glUniform4ui(uniformLocation, x, y, z, w);
 }
Esempio n. 10
0
GLvoid Program::setUniform(GLint location,  GLuint v0,  GLuint v1,  GLuint v2,  GLuint v3) { glUniform4ui(location, v0, v1, v2, v3); }
Esempio n. 11
0
void ShaderUniform::uploadUvec4()
{
    glUniform4ui(_location, _value.uvec[0], _value.uvec[1], _value.uvec[2], _value.uvec[3]);
}