Fix size of klein files, debug of glfw

This commit is contained in:
PedroEdiaz
2024-12-15 19:58:58 -06:00
parent 533109fbcd
commit 52aa9d4ac2
6 changed files with 21 additions and 26 deletions

View File

@@ -15,6 +15,7 @@ EXAMPLES = \
example/basic \ example/basic \
example/riemman \ example/riemman \
example/n-cube \ example/n-cube \
example/n-hilbert-cube \
example/lens example/lens
CFLAGS = \ CFLAGS = \
@@ -24,17 +25,6 @@ CFLAGS = \
-I./include \ -I./include \
-Wall -Wno-unused-function -std=c99 -D_GNU_SOURCE \ -Wall -Wno-unused-function -std=c99 -D_GNU_SOURCE \
WAYLAND-LIB = \
xdg-shell \
relative-pointer-unstable-v1 \
xdg-decoration-unstable-v1 \
pointer-constraints-unstable-v1 \
viewporter \
idle-inhibit-unstable-v1 \
fractional-scale-v1 \
xdg-activation-v1 \
wayland
help: help:
@echo "Usage:" @echo "Usage:"
@echo " $(MAKE) windows" @echo " $(MAKE) windows"
@@ -59,11 +49,11 @@ glfw.dll:
# LINUX # LINUX
linux-wayland: $(OBJ) linux-wayland: $(OBJ)
cd ext; $(MAKE) -f glfw.mk linux-wayland; cd - cd ext; $(MAKE) -f glfw.mk linux-wayland; cd -
$(CC) -o $(BIN) $(OBJ) ext/libglfw.a -lGL -lm $(CC) -o $(BIN) $(OBJ) ext/libglfw.a -lm
linux-x11: $(OBJ) linux-x11: $(OBJ)
cd ext; $(MAKE) -f glfw.mk linux-x11; cd - cd ext; $(MAKE) -f glfw.mk linux-x11; cd -
$(CC) -o $(BIN) $(OBJ) ext/libglfw.a -lGL -lm $(CC) -o $(BIN) $(OBJ) ext/libglfw.a -lm
cocoa: $(OBJ) cocoa: $(OBJ)
cd ext; $(MAKE) -f glfw.mk cocoa; cd - cd ext; $(MAKE) -f glfw.mk cocoa; cd -
@@ -73,9 +63,6 @@ wasm: $(OBJ)
$(CC) -sUSE_WEBGL2=1 -sUSE_GLFW=3 -o $(BIN).html $(OBJ) $(CC) -sUSE_WEBGL2=1 -sUSE_GLFW=3 -o $(BIN).html $(OBJ)
chmod -x $(BIN).wasm chmod -x $(BIN).wasm
libglfw.so:
$(CC) -fPIC -shared $(DFLAGS) -D_GLFW_BUILD_DLL -Iext/glfw/deps/wayland ./ext/glfw/src/*.c -o $@
clean: clean:
rm $(OBJ) $(BIN) $(EXAMPLES) rm $(OBJ) $(BIN) $(EXAMPLES)
cd ext; $(MAKE) -f glfw.mk clean; cd - cd ext; $(MAKE) -f glfw.mk clean; cd -
@@ -89,5 +76,4 @@ examples: $(EXAMPLES)
$(CC) -Wno-implicit-function-declaration $(CFLAGS) -c -o $@ $< $(CC) -Wno-implicit-function-declaration $(CFLAGS) -c -o $@ $<
.c: .c:
$(CC) -lm -Wno-implicit-function-declaration $(CFLAGS) -c -o $@ $< $(CC) -I include -o $@ $< -lm

View File

@@ -39,8 +39,8 @@ int klein_export_file(struct klein klein, const char * filename)
fwrite("\0", 1, 1, file); fwrite("\0", 1, 1, file);
fwrite(&klein.dim, 1, 1, file); fwrite(&klein.dim, 1, 1, file);
fwrite(&klein.vertex_size, 8, 1, file); fwrite(&klein.vertex_size, 8, 1, file);
fwrite(klein.vertex, 16, klein.vertex_size * klein.dim, file); fwrite(klein.vertex, 4, klein.vertex_size * klein.dim, file);
fwrite(klein.normals, 16, klein.vertex_size * klein.dim, file); fwrite(klein.normals, 4, klein.vertex_size * klein.dim, file);
fclose(file); fclose(file);
return 0; return 0;

View File

@@ -1,4 +1,5 @@
#include "main.h" #include "main.h"
#include <glad.h>
#include <GLFW/glfw3.h> #include <GLFW/glfw3.h>
#include <cglm/quat.h> #include <cglm/quat.h>
#include <stdio.h> #include <stdio.h>
@@ -21,6 +22,12 @@ vec3 axis[3] = {
extern struct projection projection; extern struct projection projection;
void __error_callback_input(int x, const char * msg )
{
mlog("[GLFW] ");
mlog(msg);
mlog("\n");
}
void __key_callback_input( void __key_callback_input(
GLFWwindow *window, int key, int scancode, int action, int mods) GLFWwindow *window, int key, int scancode, int action, int mods)
{ {

View File

@@ -35,10 +35,10 @@ int create_surface_klein(unsigned char *path, struct surface *surface)
size = surface->dim * surface->vertex; size = surface->dim * surface->vertex;
surface->data = malloc(16 * size); surface->data = malloc(4 * size);
fread(surface->data, 16, size, file); fread(surface->data, 4, size, file);
surface->norm = malloc(16 * size); surface->norm = malloc(4 * size);
fread(surface->norm, 16, size, file); fread(surface->norm, 4, size, file);
return 0; return 0;
} }

View File

@@ -5,6 +5,7 @@
*/ */
#define DEBUG #define DEBUG
#define GLFW_INCLUDE_NONE
typedef const void *window_t; typedef const void *window_t;
typedef unsigned int id_t; typedef unsigned int id_t;

View File

@@ -8,6 +8,7 @@ void __mouse_callback_input(GLFWwindow *, int, int, int);
void __scroll_callback_input(GLFWwindow *, double, double); void __scroll_callback_input(GLFWwindow *, double, double);
void __key_callback_input(GLFWwindow *, int, int, int, int); void __key_callback_input(GLFWwindow *, int, int, int, int);
void __drop_callback_input(GLFWwindow *, int, const char **); void __drop_callback_input(GLFWwindow *, int, const char **);
void __error_callback_input(int, const char *);
window_t init_window(unsigned int w, unsigned int h, const char *name); window_t init_window(unsigned int w, unsigned int h, const char *name);
@@ -44,6 +45,7 @@ static void __limit_fps_window(int max_fps)
window_t init_window(unsigned int width, unsigned int height, const char *title) window_t init_window(unsigned int width, unsigned int height, const char *title)
{ {
window_t window; window_t window;
glfwSetErrorCallback(__error_callback_input);
if (!glfwInit()) if (!glfwInit())
return NULL; return NULL;
@@ -51,6 +53,7 @@ window_t init_window(unsigned int width, unsigned int height, const char *title)
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3); glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3); glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE); glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
glfwWindowHint(GLFW_OPENGL_DEBUG_CONTEXT, 1);
window = (window_t)glfwCreateWindow(width, height, title, NULL, NULL); window = (window_t)glfwCreateWindow(width, height, title, NULL, NULL);
if (!(window)) if (!(window))
@@ -67,8 +70,6 @@ window_t init_window(unsigned int width, unsigned int height, const char *title)
glfwSetKeyCallback((GLFWwindow *)window, __key_callback_input); glfwSetKeyCallback((GLFWwindow *)window, __key_callback_input);
glfwSetDropCallback((GLFWwindow *)window, __drop_callback_input); glfwSetDropCallback((GLFWwindow *)window, __drop_callback_input);
__window_callback_input((GLFWwindow *)window, width, height);
return window; return window;
} }