#include #include #include #include #include "jshader.h" #include #define WIDTH 384 #define HEIGHT 240 int main(int argc, char **argv) { 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(f)), std::istreambuf_iterator()); shader::init(win, texTarget, source.c_str()); // 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; while (!should_exit) { SDL_Event e; while ( SDL_PollEvent(&e) ) { if ( e.type == SDL_EVENT_QUIT || ( e.type == SDL_EVENT_KEY_DOWN && e.key.scancode == SDL_SCANCODE_ESCAPE ) ) { should_exit = true; } } SDL_SetRenderTarget(renderer, texTarget); SDL_RenderTexture(renderer, bmpTex, NULL, NULL); shader::render(); } SDL_Quit(); return 0; }