Sam Hocevar
|
bbdd59032d
|
test: add matrix determinant and quaternion norm checks in the unit tests.
|
12 anni fa |
Sam Hocevar
|
ecda7cd569
|
math: replace mat3::rotate(quat) with an explicit constructor, and add
more unit tests for the quaternion to 3×3 matrix conversion.
|
12 anni fa |
Sam Hocevar
|
032b32271b
|
math: fix a bug in the rotation matrix to quaternion conversion, found
with the unit tests.
|
12 anni fa |
Sam Hocevar
|
9e9c18d37e
|
test: add several unit tests for rotations with matrices and quaternions.
|
12 anni fa |
Sam Hocevar
|
5ff96967a0
|
math: add Quat::transform() to directly apply a quaternion to a vector.
|
12 anni fa |
Sam Hocevar
|
90c8a58937
|
build: add gcov files to the Git ignore list.
|
12 anni fa |
Sam Hocevar
|
e91c326f57
|
math: add methods to convert from a quaternion to Euler angles and from
Euler angles to a rotation matrix. Also fix quat::rotate() which was not
building the correct quaternion.
|
12 anni fa |
Sam Hocevar
|
fceeaf1c74
|
math: add quat::fromeuler static constructor for quaternions.
|
12 anni fa |
Sam Hocevar
|
1bc2a7d705
|
build: fix compilation on Windows by undefining the min and max macros
that WinDef.h insists on shoving down our throats.
|
12 anni fa |
Sam Hocevar
|
ade0514b15
|
math: add min(), max() and clamp() for half, real and vector types.
|
12 anni fa |
Sam Hocevar
|
90bfc79b22
|
core: tick methods now use seconds, like any sane system.
|
12 anni fa |
Sam Hocevar
|
fbaf32f1b9
|
core: make timers second-based rather than millisecond-based.
|
12 anni fa |
Benjamin ‘Touky’ Huet
|
9c27915507
|
Added GetButtonState() in Input class.
Added Escape button in to quit Orbital.
Added Camera control with some little damping sweetness in Camera logic in main Tick.
First Commit \o/
|
12 anni fa |
Sam Hocevar
|
08fc460668
|
core: move the Camera class from Orbital to the engine core.
|
12 anni fa |
Sam Hocevar
|
aa1e17d95f
|
build: fix for a fucking batch file limitation that won't let me iterate
through a list of files containing spaces or parens.
|
12 anni fa |
Sam Hocevar
|
8325d8889c
|
math: chage quaternion constructor to wxyz order because it matches the
mathematical writing, and add static constructors to create quaternions
from a rotation.
|
12 anni fa |
Sam Hocevar
|
cbf13dac65
|
gpu: temporarily enable alpha blending in the vertex buffer code.
|
12 anni fa |
Sam Hocevar
|
7b1e9abdc9
|
orbital: create a Camera class where we will hide the complexity.
|
12 anni fa |
Sam Hocevar
|
b49ba4ef56
|
core: prefix some member variables with m_ for clarity.
|
12 anni fa |
Sam Hocevar
|
dc94fce5ed
|
gpu: activate alpha blending on the Direct3D backend.
|
12 anni fa |
Sam Hocevar
|
6cd8c0ece3
|
core: fix a bug in the Array class copy constructor, found thanks to
the unit tests.
|
12 anni fa |
Sam Hocevar
|
c9520d2aca
|
test: add unit tests for the Array class.
|
12 anni fa |
Sam Hocevar
|
cf85ee132d
|
core: dynamic arrays can now have up to 8 typed members.
|
12 anni fa |
Sam Hocevar
|
f23b47a8e2
|
ps3: start fixing the vertex buffer logic in there.
|
12 anni fa |
Sam Hocevar
|
50fefd0575
|
build: fix the PS3 cross-build; variable name expansion was causing trouble.
|
12 anni fa |
Sam Hocevar
|
e1070c3b3c
|
debug: do not use std::abort() on the PS3.
|
12 anni fa |
Sam Hocevar
|
28b3a4f639
|
gpu: implement a few CG calls.
|
12 anni fa |
Sam Hocevar
|
b69717197e
|
ps3: disable -Wsign-compare on the PS3, because it's really too verbose with
old GCC versions.
|
12 anni fa |
Sam Hocevar
|
0081d04eb7
|
orbital: first try at a particle system.
|
12 anni fa |
Sam Hocevar
|
9f7993d21c
|
core: add copy constructor and assignment operator to Array.
|
12 anni fa |
Sam Hocevar
|
bed2d554c1
|
math: new mat3::scale() and mat4::scale() methods.
|
12 anni fa |
Sam Hocevar
|
3e3b254423
|
math: implement rotate() for mat3 in addition to mat4.
|
12 anni fa |
Sam Hocevar
|
9262efbac3
|
core: use operator<< instead of operator+= to append stuff to arrays,
it's a bit less confusing.
|
12 anni fa |
Sam Hocevar
|
9960f73351
|
gpu: normalize 8-bit integer data in 0..1 by default.
|
12 anni fa |
Sam Hocevar
|
a327302484
|
gpu: fix Direct3D handling of float3x3 uniforms; they need padding.
|
12 anni fa |
Sam Hocevar
|
9dad69c630
|
math: allow to easily create a 4x4 matrix from a 3x3 matrix, and so on.
|
12 anni fa |
Sam Hocevar
|
56d7f24a37
|
core: Append() was missing for arrays of single element structs.
|
12 anni fa |
Sam Hocevar
|
f1c0e3ba4e
|
gpu: add methods to send mat2 and mat3 matrices to the shader.
|
12 anni fa |
Sam Hocevar
|
be4935c19c
|
math: add code to build the normal matrix from a transformation matrix.
|
12 anni fa |
Sam Hocevar
|
eb51928415
|
math: add inversion code for 2×2 and 3×3 matrices, and transposition
code for all matrices.
|
12 anni fa |
Sam Hocevar
|
ad0e3f8b6d
|
tutorial: fix the inconsistent vertex counting.
|
12 anni fa |
Sam Hocevar
|
bc5bf62886
|
gpu: assume 8-bit unsigned vertex data is expected to be normalised on 0-1.
|
12 anni fa |
Sam Hocevar
|
b979030f95
|
core: fix a bug in the Array class where we would corrupt the data when
trying to realloc the array and insert a reference to a member of our own.
|
12 anni fa |
Sam Hocevar
|
8894958f0e
|
gpu: fix a stupid signed/unsigned inconsistency causing vertex declaration
creation failures.
|
12 anni fa |
Sam Hocevar
|
f0d83bcf8d
|
win32: add missing files to the Visual Studio vcxproj.
|
12 anni fa |
Sam Hocevar
|
9b0958e6d1
|
tutorial: get rid of a hardcoded value.
|
12 anni fa |
Sam Hocevar
|
578368f452
|
gpu: abstraction class for index buffers; the cube tutorial no longer
needs to know about Direct3D headers etc.
|
12 anni fa |
Sam Hocevar
|
b6c330f3d8
|
gpu: remove old code in VertexBuffer that caused a memory leak.
|
12 anni fa |
Sam Hocevar
|
2c49c7bcef
|
orbital: start implementing the mesh builder features found in the original.
|
12 anni fa |
Sam Hocevar
|
18cd98fe91
|
core: add a dynamic Array class.
|
12 anni fa |