aboutsummaryrefslogtreecommitdiff
path: root/src/libjin/render
diff options
context:
space:
mode:
Diffstat (limited to 'src/libjin/render')
-rw-r--r--src/libjin/render/graphics.h2
-rw-r--r--src/libjin/render/jsl.cpp4
-rw-r--r--src/libjin/render/jsl.h4
-rw-r--r--src/libjin/render/render.h2
-rw-r--r--src/libjin/render/texture.cpp (renamed from src/libjin/render/image.cpp)50
-rw-r--r--src/libjin/render/texture.h (renamed from src/libjin/render/image.h)10
-rw-r--r--src/libjin/render/window.cpp12
-rw-r--r--src/libjin/render/window.h6
8 files changed, 38 insertions, 52 deletions
diff --git a/src/libjin/render/graphics.h b/src/libjin/render/graphics.h
index a3125c5..579158d 100644
--- a/src/libjin/render/graphics.h
+++ b/src/libjin/render/graphics.h
@@ -3,7 +3,7 @@
#include "color.h"
#include "canvas.h"
-#include "image.h"
+#include "texture.h"
namespace jin
{
diff --git a/src/libjin/render/jsl.cpp b/src/libjin/render/jsl.cpp
index 003f93a..ee3c824 100644
--- a/src/libjin/render/jsl.cpp
+++ b/src/libjin/render/jsl.cpp
@@ -85,7 +85,7 @@ namespace render
glUniform1f(loc, number);
}
- void JSLProgram::sendImage(const char* variable, const Image* image)
+ void JSLProgram::sendTexture(const char* variable, const Texture* tex)
{
checkJSL();
@@ -95,7 +95,7 @@ namespace render
GLint texture_unit = getTextureUnit(variable);
glUniform1i(location, texture_unit);
glActiveTexture(GL_TEXTURE0 + texture_unit);
- glBindTexture(GL_TEXTURE_2D, image->getTexture());
+ glBindTexture(GL_TEXTURE_2D, tex->getTexture());
glActiveTexture(GL_TEXTURE0);
}
diff --git a/src/libjin/render/jsl.h b/src/libjin/render/jsl.h
index 520a6eb..5943fbe 100644
--- a/src/libjin/render/jsl.h
+++ b/src/libjin/render/jsl.h
@@ -4,7 +4,7 @@
#include <string>
#include <map>
#include "color.h"
-#include "image.h"
+#include "texture.h"
#include "canvas.h"
#include "3rdparty/GLee/GLee.h"
@@ -35,7 +35,7 @@ namespace render
}
void sendFloat(const char* name, float number);
- void sendImage(const char* name, const Image* image);
+ void sendTexture(const char* name, const Texture* image);
void sendVec2(const char* name, float x, float y);
void sendVec3(const char* name, float x, float y, float z);
void sendVec4(const char* name, float x, float y, float z, float w);
diff --git a/src/libjin/render/render.h b/src/libjin/render/render.h
index 6c0d6bf..1bf9082 100644
--- a/src/libjin/render/render.h
+++ b/src/libjin/render/render.h
@@ -5,7 +5,7 @@
#include "color.h"
#include "font.h"
#include "graphics.h"
-#include "image.h"
+#include "texture.h"
#include "jsl.h"
#include "window.h"
diff --git a/src/libjin/render/image.cpp b/src/libjin/render/texture.cpp
index 564b54e..d5cd695 100644
--- a/src/libjin/render/image.cpp
+++ b/src/libjin/render/texture.cpp
@@ -1,5 +1,5 @@
#include <fstream>
-#include "image.h"
+#include "texture.h"
#include "3rdparty/stb/stb_image.h"
#include "../utils/utils.h"
#include "../math/math.h"
@@ -9,11 +9,11 @@ namespace jin
namespace render
{
- Image* Image::createImage(const char* file)
+ Texture* Texture::createTexture(const char* file)
{
std::ifstream fs;
fs.open(file, std::ios::binary);
- Image* img = nullptr;
+ Texture* tex = nullptr;
if (fs.is_open())
{
fs.seekg(0, std::ios::end);
@@ -22,35 +22,35 @@ namespace render
char* buffer = (char*)malloc(size);
memset(buffer, 0, size);
fs.read(buffer, size);
- img = createImage(buffer, size);
+ tex = createTexture(buffer, size);
free(buffer);
}
fs.close();
- return img;
+ return tex;
}
- Image* Image::createImage(const void* mem, size_t size)
+ Texture* Texture::createTexture(const void* mem, size_t size)
{
- Image* img = new Image();
- if(!img->loadb(mem, size))
+ Texture* tex = new Texture();
+ if(!tex->loadb(mem, size))
{
- delete img;
- img = nullptr;
+ delete tex;
+ tex = nullptr;
}
- return img;
+ return tex;
}
- Image::Image()
+ Texture::Texture()
: Drawable(), pixels(0)
{
}
- Image::~Image()
+ Texture::~Texture()
{
stbi_image_free(pixels);
}
- color Image::getPixel(int x, int y)
+ color Texture::getPixel(int x, int y)
{
if (without(x, 0, width) || without(y, 0, height))
{
@@ -59,33 +59,33 @@ namespace render
return pixels[x + y * width];
}
- bool Image::loadb(const void* b, size_t size)
+ bool Texture::loadb(const void* b, size_t size)
{
// ʹstbi_load_from_memory
- unsigned char* imageData = stbi_load_from_memory((unsigned char *)b, size, &width, &height, NULL, STBI_rgb_alpha);
- if (imageData == 0) return false;
- pixels = (color*)imageData;
+ unsigned char* textureData = stbi_load_from_memory((unsigned char *)b, size, &width, &height, NULL, STBI_rgb_alpha);
+ if (textureData == 0) return false;
+ pixels = (color*)textureData;
glGenTextures(1, &texture);
glBindTexture(GL_TEXTURE_2D, texture);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, width,
- height, 0, GL_RGBA, GL_UNSIGNED_BYTE, imageData);
+ height, 0, GL_RGBA, GL_UNSIGNED_BYTE, textureData);
// set render vertices
Drawable::setVertices(
new float [DRAWABLE_V_SIZE] {
0, 0,
- 0, (float)height,
- (float)width, (float)height,
- (float)width, 0,
+ 0, (float)height,
+ (float)width, (float)height,
+ (float)width, 0,
},
new float [DRAWABLE_V_SIZE] {
0, 0,
- 0, 1,
- 1, 1,
- 1, 0
+ 0, 1,
+ 1, 1,
+ 1, 0
}
);
diff --git a/src/libjin/render/image.h b/src/libjin/render/texture.h
index 95b4e4f..6b0c699 100644
--- a/src/libjin/render/image.h
+++ b/src/libjin/render/texture.h
@@ -7,21 +7,21 @@ namespace jin
{
namespace render
{
- class Image: public Drawable
+ class Texture: public Drawable
{
public:
- static Image* createImage(const char* file);
- static Image* createImage(const void* mem, size_t size);
+ static Texture* createTexture(const char* file);
+ static Texture* createTexture(const void* mem, size_t size);
- ~Image();
+ ~Texture();
color getPixel(int x, int y);
private:
- Image();
+ Texture();
bool loadb(const void* buffer, size_t size);
diff --git a/src/libjin/render/window.cpp b/src/libjin/render/window.cpp
index 3357f07..1107a53 100644
--- a/src/libjin/render/window.cpp
+++ b/src/libjin/render/window.cpp
@@ -32,6 +32,8 @@ namespace render
SDL_FlushEvent(SDL_WINDOWEVENT);
}
+ SDL_GLContext ctx = NULL;
+
if (ctx)
{
SDL_GL_DeleteContext(ctx);
@@ -74,16 +76,6 @@ namespace render
SDL_DestroyWindow(wnd);
}
- SDL_Window* WindowSystem::getWnd()
- {
- return wnd;
- }
-
- SDL_GLContext WindowSystem::getCtx()
- {
- return ctx;
- }
-
inline void WindowSystem::swapBuffers()
{
if (wnd)
diff --git a/src/libjin/render/window.h b/src/libjin/render/window.h
index c7e2651..48ead67 100644
--- a/src/libjin/render/window.h
+++ b/src/libjin/render/window.h
@@ -21,10 +21,6 @@ namespace render
const char* title; //
};
- SDL_Window* getWnd();
-
- SDL_GLContext getCtx();
-
inline int getW()
{
return width;
@@ -46,8 +42,6 @@ namespace render
SDL_Window* wnd;
- SDL_GLContext ctx;
-
int width, height;
onlyonce bool initSystem(const SettingBase* setting) override;