From 8164adb15b76f537f8b6c78b9992786b61d61cc8 Mon Sep 17 00:00:00 2001 From: chai Date: Sat, 30 Mar 2019 21:49:29 +0800 Subject: *misc --- source/modules/asura-core/graphics/image.cpp | 31 +++++++++++++++++++++------- 1 file changed, 23 insertions(+), 8 deletions(-) (limited to 'source/modules/asura-core/graphics/image.cpp') diff --git a/source/modules/asura-core/graphics/image.cpp b/source/modules/asura-core/graphics/image.cpp index e704945..e0528eb 100644 --- a/source/modules/asura-core/graphics/image.cpp +++ b/source/modules/asura-core/graphics/image.cpp @@ -1,6 +1,9 @@ -#include "Config.h" -#include "Image.h" -#include "GL.h" +#include "../core_config.h" + +#include "image.h" +#include "gl.h" + +using namespace AEIO; namespace AsuraEngine { @@ -16,16 +19,28 @@ namespace AsuraEngine } //创建\更新纹理像素信息 - bool Image::Load(ImageData* data) + bool Image::Refresh(DecodedData* data) { ASSERT(data); - glBindTexture(GL_TEXTURE_2D, mTextureHandle); - glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, data->width, data->height, 0, GL_RGBA, GL_UNSIGNED_BYTE, data->pixels); + ImageData* imgData = static_cast(data); + ASSERT(imgData); + + glBindTexture(GL_TEXTURE_2D, mTexHandle); + + imgData->Lock(); + + int width = imgData->width; + int height = imgData->height; + + glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, imgData->pixels); + mImageData = imgData; + + imgData->Unlock(); + glBindTexture(GL_TEXTURE_2D, 0); - return true; - RRA(data, mImageData); + return true; } } -- cgit v1.1-26-g67d0