VERSIÓ 1.3
- [NEW] shader.init(), shader.enable i shader.disable - [NEW] Deixe els shaders de Lynx i GBC de exemple. - [NEW] file_getfilebuffer() ara soporta un tercer paràmetre opcional, per a 'zeroterminar' el buffer per si es un arxiu de text.
This commit is contained in:
21
mini.cpp
21
mini.cpp
@@ -298,11 +298,24 @@ uint8_t getmap()
|
||||
return 0;
|
||||
}
|
||||
|
||||
void shader_init(const char* vshader, const char* fshader)
|
||||
{
|
||||
int filesize;
|
||||
char *vshaderfile = file_getfilebuffer(vshader, filesize, true);
|
||||
|
||||
char *fshaderfile = nullptr;
|
||||
if (fshader) { fshaderfile = file_getfilebuffer(fshader, filesize, true); }
|
||||
shader::init(mini_win, mini_shadertex, vshaderfile, fshaderfile);
|
||||
}
|
||||
|
||||
void shader_enable() { shader::enable(); }
|
||||
void shader_disable() { shader::disable(); }
|
||||
|
||||
void createDisplay() {
|
||||
if (screen_zoom <= 0) screen_zoom = 1;
|
||||
while (screen_width*screen_zoom > desktop_width || screen_height*screen_zoom > desktop_height) screen_zoom--;
|
||||
|
||||
mini_win = SDL_CreateWindow(window_title, screen_width*screen_zoom, screen_height*screen_zoom, SDL_WINDOW_OPENGL|(screen_fullscreen?SDL_WINDOW_FULLSCREEN:SDL_WINDOW_RESIZABLE));
|
||||
mini_win = SDL_CreateWindow(window_title, screen_width*screen_zoom, screen_height*screen_zoom, SDL_WINDOW_OPENGL|(screen_fullscreen?SDL_WINDOW_FULLSCREEN:0));
|
||||
windowID = SDL_GetWindowID(mini_win);
|
||||
SDL_SetHint(SDL_HINT_RENDER_DRIVER, "opengl");
|
||||
mini_ren = SDL_CreateRenderer(mini_win, NULL);
|
||||
@@ -320,9 +333,9 @@ void createDisplay() {
|
||||
mini_shadertex = SDL_CreateTexture(mini_ren, SDL_PIXELFORMAT_ARGB8888, SDL_TEXTUREACCESS_TARGET, screen_width*screen_zoom, screen_height*screen_zoom);
|
||||
SDL_SetTextureScaleMode(mini_shadertex, SDL_SCALEMODE_NEAREST);
|
||||
|
||||
int filesize;
|
||||
char *shaderfile = file_getfilebuffer("basic.glsl", filesize);
|
||||
shader::init(mini_win, mini_shadertex, shaderfile);
|
||||
//int filesize;
|
||||
//char *shaderfile = file_getfilebuffer("lynx.glsl", filesize);
|
||||
shader::init(mini_win, mini_shadertex, nullptr);
|
||||
//SDL_GetWindowPosition(mini_win, &windowpos_x, &windowpos_y);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user