Linear algebra functions and utilities for 3D rendering in C

izzy 57e2ba6f6e quaternion to axis-angle vor 2 Tagen
intersect 98271776ce fix errors vor 11 Monaten
optimizations 5d318b7e08 beginning migration to version 2 vor 3 Jahren
.gitignore 8827e68c4b tri/plane clipping vor 4 Jahren
LICENSE fe493e9cf8 point-polygon distance function vor 1 Jahr
README.md 7393055bee Matrix-vector multiplication that preserves /what you want/ when transforming world coordinates into clip space for culling purposes vor 1 Jahr
build.sh fe9395c9bd Mostly finished migration to version 2, filled in many missing functions vor 3 Jahren
c3dlas.c 917311d20a triplanenormalarea vor 3 Wochen
c3dlas.h 57e2ba6f6e quaternion to axis-angle vor 2 Tagen
inertia.c 9475019198 Inertial moment functions vor 1 Jahr
inertia.h 9475019198 Inertial moment functions vor 1 Jahr
legacy_migration.sh 5d318b7e08 beginning migration to version 2 vor 3 Jahren
matrix3.c 5b8cd715ba missing semicolon and some other fixes vor 1 Jahr
matrix4.c b5c99077de matrix recompose vor 6 Monaten
meshgen.c 7393055bee Matrix-vector multiplication that preserves /what you want/ when transforming world coordinates into clip space for culling purposes vor 1 Jahr
meshgen.h 7393055bee Matrix-vector multiplication that preserves /what you want/ when transforming world coordinates into clip space for culling purposes vor 1 Jahr
quaternion.c 57e2ba6f6e quaternion to axis-angle vor 2 Tagen
test.c 5d318b7e08 beginning migration to version 2 vor 3 Jahren

README.md

c3dlas

Linear algebra functions and utilities for 3D rendering in C

This library exists because I couldn't find an MIT/BSD licensed C library for doing the math required in a OpenGL program. It's not optimized, extensive, or sophisticated. It is free and written in pure C.

C++ has become fat and ugly with age. Not that it was a 9 to start with...

ATLAS/CBLAS are an incomprehensible mess.

GPL, while a wonderful thing, is a bit heavy-handed for some basic math functions.

I firmly believe that such a library did not exist because most of the functionality was built in to older OpenGL versions. By the time OpenGL 3.3 came out most developers had converted to worshiping under the altar of OOP.

There are probably math bugs somewhere. If you find one, report it on github. Preferably include how to fix it to make my life easier.