1
0

Initial commit

This commit is contained in:
2021-07-28 20:10:59 +02:00
commit 5d2fdd4a34
2 changed files with 47 additions and 0 deletions
+14
View File
@@ -0,0 +1,14 @@
CXX = g++
CC = $(CXX)
CPPFLAGS = -O3 `sdl2-config --cflags`
LDFLAGS = `sdl2-config --libs`
SOURCES = main.cpp
OBJECTS = $(SOURCES:.cpp=.o)
EXECUTABLE = martijn-homo
$(EXECUTABLE): $(OBJECTS)
$(CXX) -o $@ $(OBJECTS) $(LDFLAGS)
.PHONY: clean
clean:
rm $(EXEC) $(OBJECTS)
+33
View File
@@ -0,0 +1,33 @@
//Mark's mooie minimale meesterwerk
//ten behoeve van het demonstreren van de basisprincipelen van SDL
//deze breiden we uit met andere functies om shit te tekenen enzo.
//We werken met SDL2, dat is wel zo modern.
//Let op dat er nog wel een hoop tutorials zijn die met 1.2 werken
#include <SDL2/SDL.h>
int main(int argc, char** argv) {
//SDL are go. We hebben alleen video nodig. Kan hier eventueel ook audio, events, controllers, etc initializeren.
SDL_Init(SDL_INIT_VIDEO);
//640x480 window, heilige resolutie.
//We geven hier ook aan wat voor window we willen. Als we met OpenGL/Vulkan naar dit scherm willen tekenen
//moeten we dat ook los aangeven. Andere opties voor fullscreen etc zijn ook mogelijk.
SDL_Window* window = SDL_CreateWindow("Dikke lul", 0, 0, 640, 480, SDL_WINDOW_RESIZABLE);
//Window heeft een "surface" wat het object is waar we op kunnen tekenen, die halen we op en maken we zwart
//Alles waar je naar kan tekenen in SDL is een SDL_Surface. Zo ook bitmaps die je inlaadt, etc.
SDL_Surface* screen = SDL_GetWindowSurface(window);
SDL_FillRect(screen, NULL, 0);
//Nu aangeven dat er iets is veranderd aan de surface zodat SDL het opnieuw tekent
SDL_UpdateWindowSurface(window);
//paar seconden wachten z.d.d. het scherm niet meteen verdwijnt
SDL_Delay(3000);
//Nog even wat opruimen. Beetje voor de sier, want we dumpen het hele proces toch.
SDL_DestroyWindow(window);
SDL_Quit();
return 0;
}