Fix size of klein files, debug of glfw
This commit is contained in:
22
Makefile
22
Makefile
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user