- S'ha llevat la carpeta ".vscode" i la merdeta que estava dins

- Afegit mòdul jshader.
- Afegit shader al arxiu de dades
- Actualitzat makefile per a la ocasió
- Afegit lo de afegir caràcter 0 al final si es vol en jfile
- Llevat el flag d'executable que tenien tots els arxius, jo que se perqué
This commit is contained in:
2024-06-28 11:12:50 +02:00
parent 7532cac83f
commit 7e5318c501
40 changed files with 300 additions and 286 deletions

22
jdraw8.cpp Executable file → Normal file
View File

@@ -2,13 +2,14 @@
#include "jfile.h"
#include <fstream>
#include "gif.h"
#include "jshader.h"
#ifdef GCWZERO
#define SCREEN_WIDTH 320
#define SCREEN_HEIGHT 240
#else
#define SCREEN_WIDTH 640
#define SCREEN_HEIGHT 480
#define SCREEN_WIDTH 960
#define SCREEN_HEIGHT 720
#endif
JD8_Surface screen = NULL;
@@ -25,6 +26,7 @@ char *fps = (char *)malloc(10);
SDL_Window* sdlWindow = NULL;
SDL_Renderer* sdlRenderer = NULL;
SDL_Texture* sdlTexture = NULL;
SDL_Texture* backBuffer = NULL;
void JD8_Init(const char *title) {
screen = (JD8_Surface)calloc( 1, 64000 );
@@ -32,10 +34,18 @@ void JD8_Init(const char *title) {
pixel_data = (Uint32*)calloc(1, 320 * 200 * 4); // 1048576 );
sdlWindow = SDL_CreateWindow( title, SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, SCREEN_WIDTH, SCREEN_HEIGHT, SDL_WINDOW_SHOWN );
sdlRenderer = SDL_CreateRenderer(sdlWindow, -1, 0);
SDL_SetHint(SDL_HINT_RENDER_DRIVER, "opengl");
SDL_SetHint(SDL_HINT_RENDER_SCALE_QUALITY, "nearest");
sdlRenderer = SDL_CreateRenderer(sdlWindow, -1, SDL_RENDERER_ACCELERATED | SDL_RENDERER_TARGETTEXTURE);
sdlTexture = SDL_CreateTexture(sdlRenderer, SDL_PIXELFORMAT_ABGR8888, SDL_TEXTUREACCESS_STREAMING, 320, 200);
backBuffer = SDL_CreateTexture(sdlRenderer, SDL_PIXELFORMAT_ARGB8888, SDL_TEXTUREACCESS_TARGET, 320, 200);
int filesize = 0;
char *buffer = JF_GetBufferFromResource("crtpi.glsl", filesize, true);
shader::init(sdlWindow, backBuffer, buffer);
free(buffer);
}
void JD8_Quit() {
@@ -180,8 +190,10 @@ void JD8_Flip() {
}
}
SDL_UpdateTexture(sdlTexture, NULL, pixel_data, 320 * sizeof(Uint32));
SDL_RenderCopy(sdlRenderer, sdlTexture, NULL, &rect);
SDL_RenderPresent(sdlRenderer);
SDL_SetRenderTarget(sdlRenderer, backBuffer);
SDL_RenderCopy(sdlRenderer, sdlTexture, NULL, NULL);
shader::render();
//SDL_RenderPresent(sdlRenderer);
}
void JD8_FreeSurface(JD8_Surface surface) {