mirror of
https://github.com/guezoloic/t3dsr.git
synced 2026-01-25 10:34:23 +00:00
feat: rename and change few things
This commit is contained in:
55
Makefile
55
Makefile
@@ -1,55 +0,0 @@
|
||||
EXE = t3dsr
|
||||
TEXE = t3dsr_test
|
||||
|
||||
INC = include
|
||||
SRC = src
|
||||
TST = test
|
||||
BLD = build
|
||||
|
||||
DDIR = $(BLD)/debug
|
||||
TDIR = $(BLD)/test
|
||||
|
||||
CC = clang
|
||||
CFLAGS = -Wall -Wextra -I$(INC) -g
|
||||
|
||||
SRCS := $(shell find $(SRC) -name "*.c")
|
||||
OBJS := $(SRCS:$(SRC)/%.c=$(DDIR)/%.o)
|
||||
|
||||
all: $(EXE)
|
||||
.PHONY: all
|
||||
|
||||
$(EXE): $(OBJS) | $(DDIR)
|
||||
@$(CC) $^ -o $(BLD)/$@
|
||||
|
||||
$(DDIR):
|
||||
@mkdir -p $(DDIR)
|
||||
|
||||
$(DDIR)/%.o: $(SRC)/%.c | $(DDIR)
|
||||
@mkdir -p $(dir $@)
|
||||
@$(CC) $(CFLAGS) -c $< -o $@
|
||||
|
||||
clean:
|
||||
@rm -rf $(BLD) $(EXE)
|
||||
|
||||
run: $(EXE)
|
||||
@./$(BLD)/$(EXE)
|
||||
|
||||
TSRCS := $(shell find $(TST) -name "*.c")
|
||||
TOBJS := $(TSRCS:$(TST)/%.c=$(TDIR)/%.o) \
|
||||
$(filter-out $(DDIR)/main.o, $(OBJS))
|
||||
|
||||
debug:
|
||||
@echo "$(OBJS)\n$(TOBJS)"
|
||||
|
||||
$(TDIR)/%.o: $(TST)/%.c | $(TDIR)
|
||||
@mkdir -p $(dir $@)
|
||||
@$(CC) $(CFLAGS) -c $< -o $@
|
||||
|
||||
$(TDIR):
|
||||
@mkdir -p $(TDIR)
|
||||
|
||||
$(TEXE): $(TOBJS) | $(TDIR) $(DDIR)
|
||||
@$(CC) $^ -o $(BLD)/$@
|
||||
|
||||
test: $(TEXE)
|
||||
@./$(BLD)/$(TEXE)
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "math/vector3.h"
|
||||
#include "math/vec3.h"
|
||||
#include <stdio.h>
|
||||
|
||||
#define printVector3(v) { printf("(%f, %f, %f)", v.x, v.y, v.z); }
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#include "matrix3.h"
|
||||
#include "mat3.h"
|
||||
#include <string.h>
|
||||
|
||||
Mat3 mat3(float arr[9])
|
||||
Mat3 mat3(const float arr[9])
|
||||
{
|
||||
Mat3 mat;
|
||||
memcpy(mat.m, arr, 9*sizeof(float));
|
||||
@@ -90,30 +90,30 @@ Mat3 mat3_tpo(const Mat3* m)
|
||||
return mat;
|
||||
}
|
||||
|
||||
float mat3_det(const Mat3* m)
|
||||
float mat3_Det(const Mat3* m)
|
||||
{
|
||||
return m->m[0] * (m->m[4] * m->m[8] - m->m[5] * m->m[7]) -
|
||||
m->m[1] * (m->m[3] * m->m[8] - m->m[5] * m->m[6]) +
|
||||
m->m[2] * (m->m[3] * m->m[7] - m->m[4] * m->m[6]);
|
||||
}
|
||||
|
||||
// Mat3 Mat3Inv(Mat3 m) {
|
||||
// Mat3 inv;
|
||||
// float det = Mat3Det(m);
|
||||
// if (det == 0) return Mat3Ity();
|
||||
Mat3 mat3_inv(const Mat3* m) {
|
||||
Mat3 inv;
|
||||
float det = mat3_det(m);
|
||||
if (det == 0) return mat3_ity();
|
||||
|
||||
// float invDet = 1.0f / det;
|
||||
float invDet = 1.0f / det;
|
||||
|
||||
// // ???
|
||||
// inv.m[0] = (m->m[4] * m->m[8] - m->m[5] * m->m[7]) * invDet;
|
||||
// inv.m[1] = -(m->m[1] * m->m[8] - m->m[2] * m->m[7]) * invDet;
|
||||
// inv.m[2] = (m->m[1] * m->m[5] - m->m[2] * m->m[4]) * invDet;
|
||||
// inv.m[3] = -(m->m[3] * m->m[8] - m->m[5] * m->m[6]) * invDet;
|
||||
// inv.m[4] = (m->m[0] * m->m[8] - m->m[2] * m->m[6]) * invDet;
|
||||
// inv.m[5] = -(m->m[0] * m->m[5] - m->m[2] * m->m[3]) * invDet;
|
||||
// inv.m[6] = (m->m[3] * m->m[7] - m->m[4] * m->m[6]) * invDet;
|
||||
// inv.m[7] = -(m->m[0] * m->m[7] - m->m[1] * m->m[6]) * invDet;
|
||||
// inv.m[8] = (m->m[0] * m->m[4] - m->m[1] * m->m[3]) * invDet;
|
||||
// ???
|
||||
inv.m[0] = (m->m[4] * m->m[8] - m->m[5] * m->m[7]) * invDet;
|
||||
inv.m[1] = -(m->m[1] * m->m[8] - m->m[2] * m->m[7]) * invDet;
|
||||
inv.m[2] = (m->m[1] * m->m[5] - m->m[2] * m->m[4]) * invDet;
|
||||
inv.m[3] = -(m->m[3] * m->m[8] - m->m[5] * m->m[6]) * invDet;
|
||||
inv.m[4] = (m->m[0] * m->m[8] - m->m[2] * m->m[6]) * invDet;
|
||||
inv.m[5] = -(m->m[0] * m->m[5] - m->m[2] * m->m[3]) * invDet;
|
||||
inv.m[6] = (m->m[3] * m->m[7] - m->m[4] * m->m[6]) * invDet;
|
||||
inv.m[7] = -(m->m[0] * m->m[7] - m->m[1] * m->m[6]) * invDet;
|
||||
inv.m[8] = (m->m[0] * m->m[4] - m->m[1] * m->m[3]) * invDet;
|
||||
|
||||
// return inv;
|
||||
// }
|
||||
return inv;
|
||||
}
|
||||
@@ -6,7 +6,7 @@ typedef struct
|
||||
float m[9];
|
||||
} Mat3;
|
||||
|
||||
Mat3 mat3(float arr[9]);
|
||||
Mat3 mat3(const float arr[9]);
|
||||
Mat3 mat3_zro();
|
||||
Mat3 mat3_ity();
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#include <stdlib.h>
|
||||
#include <float.h>
|
||||
|
||||
#include "vector3.h"
|
||||
#include "vec3.h"
|
||||
|
||||
inline Vec3 vec3(float x, float y, float z)
|
||||
{
|
||||
@@ -24,11 +24,6 @@ Vec3 vec3_scale(Vec3 v, float scalar)
|
||||
return vec3(v.x * scalar, v.y * scalar, v.z * scalar);
|
||||
}
|
||||
|
||||
Vec3 vec3_mul(Vec3 v1, Vec3 v2)
|
||||
{
|
||||
return vec3(v1.x * v2.x, v1.y * v2.y, v1.z * v2.z);
|
||||
}
|
||||
|
||||
float vec3_dot(Vec3 a, Vec3 b)
|
||||
{
|
||||
return a.x * b.x + a.y * b.y + a.z * b.z;
|
||||
@@ -2,7 +2,7 @@
|
||||
#include <stdlib.h>
|
||||
#include <float.h>
|
||||
|
||||
#include "vector4.h"
|
||||
#include "vec4.h"
|
||||
|
||||
inline Vec4 vec4(float x, float y, float z, float w)
|
||||
{
|
||||
Reference in New Issue
Block a user