- Pasat a SDL3, a vore si funciona en altre comp
This commit is contained in:
21
main.cpp
21
main.cpp
@@ -3,18 +3,26 @@
|
||||
#include <fstream>
|
||||
#include <streambuf>
|
||||
#include "jshader.h"
|
||||
#include <SDL2/SDL.h>
|
||||
#include <SDL3/SDL.h>
|
||||
|
||||
#define WIDTH 384
|
||||
#define HEIGHT 240
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
SDL_Init(SDL_INIT_EVERYTHING);
|
||||
SDL_Window *win = SDL_CreateWindow("Shaders i tal", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, WIDTH*3, HEIGHT*3, 0);
|
||||
SDL_Init(SDL_INIT_VIDEO);
|
||||
SDL_Window *win = SDL_CreateWindow("Shaders i tal", WIDTH*3, HEIGHT*3, SDL_WINDOW_OPENGL);
|
||||
if (!win) { printf("ERROR al crear la finestra: %s\n", SDL_GetError()); }
|
||||
|
||||
const int num_drivers = SDL_GetNumRenderDrivers();
|
||||
printf("VIDEO DRIVERS AVAILABLE:\n");
|
||||
for (int i=0; i<num_drivers;++i) printf("%i: %s\n", i, SDL_GetVideoDriver(i));
|
||||
|
||||
SDL_SetHint(SDL_HINT_RENDER_DRIVER, "opengl");
|
||||
SDL_Renderer *renderer = SDL_CreateRenderer(win, -1, SDL_RENDERER_ACCELERATED | SDL_RENDERER_TARGETTEXTURE);
|
||||
SDL_Renderer *renderer = SDL_CreateRenderer(win, NULL); //-1, SDL_RENDERER_ACCELERATED | SDL_RENDERER_TARGETTEXTURE);
|
||||
if (!renderer) { printf("ERROR al crear el renderer: %s\n", SDL_GetError()); }
|
||||
SDL_Texture *texTarget = SDL_CreateTexture(renderer, SDL_PIXELFORMAT_ARGB8888, SDL_TEXTUREACCESS_TARGET, WIDTH, HEIGHT);
|
||||
if (!win) { printf("ERROR al crear la textura target: %s\n", SDL_GetError()); }
|
||||
|
||||
std::ifstream f("crtpi.glsl");
|
||||
std::string source((std::istreambuf_iterator<char>(f)), std::istreambuf_iterator<char>());
|
||||
@@ -23,6 +31,7 @@ int main(int argc, char **argv)
|
||||
|
||||
// Carreguem una imatge pa ficar algo
|
||||
SDL_Texture *bmpTex = SDL_CreateTextureFromSurface(renderer, SDL_LoadBMP("pang.bmp"));
|
||||
if (!win) { printf("ERROR al crear la textura sprite: %s\n", SDL_GetError()); }
|
||||
|
||||
bool should_exit = false;
|
||||
|
||||
@@ -30,11 +39,11 @@ int main(int argc, char **argv)
|
||||
{
|
||||
SDL_Event e;
|
||||
while ( SDL_PollEvent(&e) ) {
|
||||
if ( e.type == SDL_QUIT || ( e.type == SDL_KEYDOWN && e.key.keysym.sym == SDLK_ESCAPE ) ) { should_exit = true; }
|
||||
if ( e.type == SDL_EVENT_QUIT || ( e.type == SDL_EVENT_KEY_DOWN && e.key.scancode == SDLK_ESCAPE ) ) { should_exit = true; }
|
||||
}
|
||||
|
||||
SDL_SetRenderTarget(renderer, texTarget);
|
||||
SDL_RenderCopy(renderer, bmpTex, NULL, NULL);
|
||||
SDL_RenderTexture(renderer, bmpTex, NULL, NULL);
|
||||
|
||||
shader::render();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user