OPENGL: Store logical texture dimensions in GLTexture.
This commit is contained in:
parent
2b3340474e
commit
1e1272a8c4
2 changed files with 23 additions and 1 deletions
|
@ -46,7 +46,8 @@ static GLuint nextHigher2(GLuint v) {
|
||||||
|
|
||||||
GLTexture::GLTexture(GLenum glIntFormat, GLenum glFormat, GLenum glType)
|
GLTexture::GLTexture(GLenum glIntFormat, GLenum glFormat, GLenum glType)
|
||||||
: _glIntFormat(glIntFormat), _glFormat(glFormat), _glType(glType),
|
: _glIntFormat(glIntFormat), _glFormat(glFormat), _glType(glType),
|
||||||
_width(0), _height(0), _texCoords(), _glFilter(GL_NEAREST),
|
_width(0), _height(0), _logicalWidth(0), _logicalHeight(0),
|
||||||
|
_texCoords(), _glFilter(GL_NEAREST),
|
||||||
_glTexture(0) {
|
_glTexture(0) {
|
||||||
create();
|
create();
|
||||||
}
|
}
|
||||||
|
@ -112,6 +113,9 @@ void GLTexture::setSize(uint width, uint height) {
|
||||||
_height = height;
|
_height = height;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_logicalWidth = width;
|
||||||
|
_logicalHeight = height;
|
||||||
|
|
||||||
// If a size is specified, allocate memory for it.
|
// If a size is specified, allocate memory for it.
|
||||||
if (width != 0 && height != 0) {
|
if (width != 0 && height != 0) {
|
||||||
const GLfloat texWidth = (GLfloat)width / _width;
|
const GLfloat texWidth = (GLfloat)width / _width;
|
||||||
|
|
|
@ -99,9 +99,26 @@ public:
|
||||||
*/
|
*/
|
||||||
void updateArea(const Common::Rect &area, const Graphics::Surface &src);
|
void updateArea(const Common::Rect &area, const Graphics::Surface &src);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Query the GL texture's width.
|
||||||
|
*/
|
||||||
uint getWidth() const { return _width; }
|
uint getWidth() const { return _width; }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Query the GL texture's height.
|
||||||
|
*/
|
||||||
uint getHeight() const { return _height; }
|
uint getHeight() const { return _height; }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Query the logical texture's width.
|
||||||
|
*/
|
||||||
|
uint getLogicalWidth() const { return _logicalWidth; }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Query the logical texture's height.
|
||||||
|
*/
|
||||||
|
uint getLogicalHeight() const { return _logicalHeight; }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Obtain texture coordinates for rectangular drawing.
|
* Obtain texture coordinates for rectangular drawing.
|
||||||
*/
|
*/
|
||||||
|
@ -120,6 +137,7 @@ private:
|
||||||
const GLenum _glType;
|
const GLenum _glType;
|
||||||
|
|
||||||
uint _width, _height;
|
uint _width, _height;
|
||||||
|
uint _logicalWidth, _logicalHeight;
|
||||||
GLfloat _texCoords[4*2];
|
GLfloat _texCoords[4*2];
|
||||||
|
|
||||||
GLint _glFilter;
|
GLint _glFilter;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue