Implements GetTexParameteriv

TRAC #11721 Signed-off-by: Andrew Lewycky Signed-off-by: Daniel Koch Author: Shannon Woods git-svn-id: https://angleproject.googlecode.com/svn/trunk@160 736b8ea6-26fd-11df-bfd4-992fa37f6226
parent 743d773d
......@@ -2536,7 +2536,42 @@ void __stdcall glGetTexParameterfv(GLenum target, GLenum pname, GLfloat* params)
try
{
UNIMPLEMENTED(); // FIXME
gl::Context *context = gl::getContext();
if (context)
{
gl::Texture *texture;
switch (target)
{
case GL_TEXTURE_2D:
texture = context->getTexture2D();
break;
case GL_TEXTURE_CUBE_MAP:
texture = context->getTextureCubeMap();
break;
default:
return error(GL_INVALID_ENUM);
}
switch (pname)
{
case GL_TEXTURE_MAG_FILTER:
*params = (GLfloat)texture->getMagFilter();
break;
case GL_TEXTURE_MIN_FILTER:
*params = (GLfloat)texture->getMinFilter();
break;
case GL_TEXTURE_WRAP_S:
*params = (GLfloat)texture->getWrapS();
break;
case GL_TEXTURE_WRAP_T:
*params = (GLfloat)texture->getWrapT();
break;
default:
return error(GL_INVALID_ENUM);
}
}
}
catch(std::bad_alloc&)
{
......@@ -2550,7 +2585,42 @@ void __stdcall glGetTexParameteriv(GLenum target, GLenum pname, GLint* params)
try
{
UNIMPLEMENTED(); // FIXME
gl::Context *context = gl::getContext();
if (context)
{
gl::Texture *texture;
switch (target)
{
case GL_TEXTURE_2D:
texture = context->getTexture2D();
break;
case GL_TEXTURE_CUBE_MAP:
texture = context->getTextureCubeMap();
break;
default:
return error(GL_INVALID_ENUM);
}
switch (pname)
{
case GL_TEXTURE_MAG_FILTER:
*params = texture->getMagFilter();
break;
case GL_TEXTURE_MIN_FILTER:
*params = texture->getMinFilter();
break;
case GL_TEXTURE_WRAP_S:
*params = texture->getWrapS();
break;
case GL_TEXTURE_WRAP_T:
*params = texture->getWrapT();
break;
default:
return error(GL_INVALID_ENUM);
}
}
}
catch(std::bad_alloc&)
{
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment