diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..046505e --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +*.o +neofish diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..080162f --- /dev/null +++ b/Makefile @@ -0,0 +1,31 @@ +SRC = neofish.c +OBJ = ${SRC:.c=.o} +CFLAGS = -std=c99 -pedantic -Wall -Wextra -O2 +LIBS = ${shell pkg-config --libs raylib} +CC = cc +PREFIX = /usr/local + +all: neofish + +.c.o: + ${CC} -c ${CFLAGS} ${LIBS} $< + +neofish: ${OBJ} + ${CC} -o $@ ${OBJ} ${LIBS} + +install: all + mkdir -p ${PREFIX}/bin + cp -f neofish ${PREFIX}/bin + chmod 755 ${PREFIX}/bin/neofish + cp -r assets ${PREFIX}/bin + +clean: + rm -f neofish ${OBJ} + +test: neofish + ./neofish + +uninstall: + rm -f ${PREFIX}/bin/neofish + +.PHONY: all clean install uninstall diff --git a/assets/fish/blush.glb b/assets/fish/blush.glb new file mode 100644 index 0000000..405ca3e Binary files /dev/null and b/assets/fish/blush.glb differ diff --git a/assets/fish/first.glb b/assets/fish/first.glb new file mode 100644 index 0000000..e8a28d7 Binary files /dev/null and b/assets/fish/first.glb differ diff --git a/assets/fish/goldfish.glb b/assets/fish/goldfish.glb new file mode 100644 index 0000000..059b306 Binary files /dev/null and b/assets/fish/goldfish.glb differ diff --git a/neofish.c b/neofish.c new file mode 100644 index 0000000..94383a6 --- /dev/null +++ b/neofish.c @@ -0,0 +1,42 @@ +#include + + + +#define WIN_HEIGHT 600 +#define WIN_WIDTH 800 + +int +main() +{ + SetConfigFlags(FLAG_WINDOW_RESIZABLE); + InitWindow(WIN_WIDTH, WIN_HEIGHT, "NEOFISH"); + + Camera camera = { 0 }; + camera.position = (Vector3){ 6.0f, 6.0f, 6.0f }; + camera.target = (Vector3){ 0.0f, 2.0f, 0.0f }; + camera.up = (Vector3){ 0.0f, 1.0f, 0.0f }; + camera.fovy = 45.0f; + camera.projection = CAMERA_PERSPECTIVE; + + Model model = LoadModel("assets/fish/frog.glb"); + Vector3 position = { 0.0f, 0.0f, 0.0f }; + + while (!WindowShouldClose()) { + UpdateCamera(&camera, CAMERA_ORBITAL); + + BeginDrawing(); + + ClearBackground(BLACK); + BeginMode3D(camera); + DrawModel(model, position, 1.0f, WHITE); + DrawGrid(10, 1.0f); + EndMode3D(); + + EndDrawing(); + } + + UnloadModel(model); + CloseWindow(); + + return 0; +}