OpenGLRenderer: Use glTexStorage2D instead of glTexImage2D
This commit is contained in:
parent
f7442982a4
commit
3ef74d6e1d
|
|
@ -31,6 +31,7 @@ namespace Nz::GL
|
|||
|
||||
inline void TexImage2D(GLint level, GLint internalFormat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type);
|
||||
inline void TexImage2D(GLint level, GLint internalFormat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void* data);
|
||||
inline void TexStorage2D(GLint levels, GLint internalFormat, GLsizei width, GLsizei height);
|
||||
inline void TexSubImage2D(GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void* data);
|
||||
|
||||
Texture& operator=(const Texture&) = delete;
|
||||
|
|
|
|||
|
|
@ -58,6 +58,15 @@ namespace Nz::GL
|
|||
context.glTexImage2D(ToOpenGL(m_target), level, internalFormat, width, height, border, format, type, data);
|
||||
}
|
||||
|
||||
inline void Texture::TexStorage2D(GLint levels, GLint internalFormat, GLsizei width, GLsizei height)
|
||||
{
|
||||
m_target = TextureTarget::Target2D;
|
||||
|
||||
const Context& context = EnsureDeviceContext();
|
||||
context.BindTexture(m_target, m_objectId);
|
||||
context.glTexStorage2D(ToOpenGL(m_target), levels, internalFormat, width, height);
|
||||
}
|
||||
|
||||
inline void Texture::TexSubImage2D(GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void* data)
|
||||
{
|
||||
const Context& context = EnsureDeviceContext();
|
||||
|
|
|
|||
|
|
@ -29,8 +29,7 @@ namespace Nz
|
|||
break;
|
||||
|
||||
case ImageType_2D:
|
||||
for (unsigned int level = 0; level < m_params.mipmapLevel; ++level)
|
||||
m_texture.TexImage2D(0, format->internalFormat, GetLevelSize(params.width, level), GetLevelSize(params.height, level), 0, format->format, format->type);
|
||||
m_texture.TexStorage2D(params.mipmapLevel, format->internalFormat, params.width, params.height);
|
||||
break;
|
||||
|
||||
case ImageType_2D_Array:
|
||||
|
|
|
|||
Loading…
Reference in New Issue