Refactored uniform types.

This commit is contained in:
Branimir Karadžić
2015-05-28 15:27:00 -07:00
parent 4bd29facd0
commit ff01992cb7
717 changed files with 637 additions and 728 deletions

View File

@@ -2666,23 +2666,18 @@ namespace bgfx { namespace gl
switch (type)
{
// case ConstantType::Uniform1iv:
// case ConstantType::Int1:
// {
// int* value = (int*)data;
// BX_TRACE("Uniform1iv sampler %d, loc %d (num %d, copy %d)", *value, loc, num, copy);
// BX_TRACE("Int1 sampler %d, loc %d (num %d, copy %d)", *value, loc, num, copy);
// GL_CHECK(glUniform1iv(loc, num, value) );
// }
// break;
CASE_IMPLEMENT_UNIFORM(Uniform1i, 1iv, I, int);
CASE_IMPLEMENT_UNIFORM(Uniform1f, 1fv, F, float);
CASE_IMPLEMENT_UNIFORM(Uniform1iv, 1iv, I, int);
CASE_IMPLEMENT_UNIFORM(Uniform1fv, 1fv, F, float);
CASE_IMPLEMENT_UNIFORM(Uniform2fv, 2fv, F, float);
CASE_IMPLEMENT_UNIFORM(Uniform3fv, 3fv, F, float);
CASE_IMPLEMENT_UNIFORM(Uniform4fv, 4fv, F, float);
CASE_IMPLEMENT_UNIFORM_T(Uniform3x3fv, Matrix3fv, F, float);
CASE_IMPLEMENT_UNIFORM_T(Uniform4x4fv, Matrix4fv, F, float);
CASE_IMPLEMENT_UNIFORM(Int1, 1iv, I, int);
CASE_IMPLEMENT_UNIFORM(Vec4, 4fv, F, float);
CASE_IMPLEMENT_UNIFORM_T(Mat3, Matrix3fv, F, float);
CASE_IMPLEMENT_UNIFORM_T(Mat4, Matrix4fv, F, float);
case UniformType::End:
break;
@@ -3033,28 +3028,22 @@ namespace bgfx { namespace gl
{
case GL_INT:
case GL_UNSIGNED_INT:
return UniformType::Uniform1iv;
return UniformType::Int1;
case GL_FLOAT:
return UniformType::Uniform1fv;
case GL_FLOAT_VEC2:
return UniformType::Uniform2fv;
case GL_FLOAT_VEC3:
return UniformType::Uniform3fv;
case GL_FLOAT_VEC4:
return UniformType::Uniform4fv;
return UniformType::Vec4;
case GL_FLOAT_MAT2:
break;
case GL_FLOAT_MAT3:
return UniformType::Uniform3x3fv;
return UniformType::Mat3;
case GL_FLOAT_MAT4:
return UniformType::Uniform4x4fv;
return UniformType::Mat4;
case GL_SAMPLER_2D:
case GL_INT_SAMPLER_2D:
@@ -3085,7 +3074,7 @@ namespace bgfx { namespace gl
case GL_IMAGE_CUBE:
case GL_INT_IMAGE_CUBE:
case GL_UNSIGNED_INT_IMAGE_CUBE:
return UniformType::Uniform1iv;
return UniformType::Int1;
};
BX_CHECK(false, "Unrecognized GL type 0x%04x.", _type);