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 years ago |
Sam Hocevar
|
032b32271b
|
math: fix a bug in the rotation matrix to quaternion conversion, found
with the unit tests.
|
12 years ago |
Sam Hocevar
|
5ff96967a0
|
math: add Quat::transform() to directly apply a quaternion to a vector.
|
12 years ago |
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 years ago |
Sam Hocevar
|
fceeaf1c74
|
math: add quat::fromeuler static constructor for quaternions.
|
12 years ago |
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 years ago |
Sam Hocevar
|
ade0514b15
|
math: add min(), max() and clamp() for half, real and vector types.
|
12 years ago |
Sam Hocevar
|
90bfc79b22
|
core: tick methods now use seconds, like any sane system.
|
12 years ago |
Sam Hocevar
|
fbaf32f1b9
|
core: make timers second-based rather than millisecond-based.
|
12 years ago |
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 years ago |
Sam Hocevar
|
08fc460668
|
core: move the Camera class from Orbital to the engine core.
|
12 years ago |
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 years ago |
Sam Hocevar
|
cbf13dac65
|
gpu: temporarily enable alpha blending in the vertex buffer code.
|
12 years ago |
Sam Hocevar
|
b49ba4ef56
|
core: prefix some member variables with m_ for clarity.
|
12 years ago |
Sam Hocevar
|
dc94fce5ed
|
gpu: activate alpha blending on the Direct3D backend.
|
12 years ago |
Sam Hocevar
|
6cd8c0ece3
|
core: fix a bug in the Array class copy constructor, found thanks to
the unit tests.
|
12 years ago |
Sam Hocevar
|
cf85ee132d
|
core: dynamic arrays can now have up to 8 typed members.
|
12 years ago |
Sam Hocevar
|
f23b47a8e2
|
ps3: start fixing the vertex buffer logic in there.
|
12 years ago |
Sam Hocevar
|
e1070c3b3c
|
debug: do not use std::abort() on the PS3.
|
12 years ago |
Sam Hocevar
|
28b3a4f639
|
gpu: implement a few CG calls.
|
12 years ago |
Sam Hocevar
|
9f7993d21c
|
core: add copy constructor and assignment operator to Array.
|
12 years ago |
Sam Hocevar
|
bed2d554c1
|
math: new mat3::scale() and mat4::scale() methods.
|
12 years ago |
Sam Hocevar
|
3e3b254423
|
math: implement rotate() for mat3 in addition to mat4.
|
12 years ago |
Sam Hocevar
|
9262efbac3
|
core: use operator<< instead of operator+= to append stuff to arrays,
it's a bit less confusing.
|
12 years ago |
Sam Hocevar
|
9960f73351
|
gpu: normalize 8-bit integer data in 0..1 by default.
|
12 years ago |
Sam Hocevar
|
a327302484
|
gpu: fix Direct3D handling of float3x3 uniforms; they need padding.
|
12 years ago |
Sam Hocevar
|
9dad69c630
|
math: allow to easily create a 4x4 matrix from a 3x3 matrix, and so on.
|
12 years ago |
Sam Hocevar
|
56d7f24a37
|
core: Append() was missing for arrays of single element structs.
|
12 years ago |
Sam Hocevar
|
f1c0e3ba4e
|
gpu: add methods to send mat2 and mat3 matrices to the shader.
|
12 years ago |
Sam Hocevar
|
be4935c19c
|
math: add code to build the normal matrix from a transformation matrix.
|
12 years ago |
Sam Hocevar
|
eb51928415
|
math: add inversion code for 2×2 and 3×3 matrices, and transposition
code for all matrices.
|
12 years ago |
Sam Hocevar
|
bc5bf62886
|
gpu: assume 8-bit unsigned vertex data is expected to be normalised on 0-1.
|
12 years ago |
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 years ago |
Sam Hocevar
|
8894958f0e
|
gpu: fix a stupid signed/unsigned inconsistency causing vertex declaration
creation failures.
|
12 years ago |
Sam Hocevar
|
578368f452
|
gpu: abstraction class for index buffers; the cube tutorial no longer
needs to know about Direct3D headers etc.
|
12 years ago |
Sam Hocevar
|
b6c330f3d8
|
gpu: remove old code in VertexBuffer that caused a memory leak.
|
12 years ago |
Sam Hocevar
|
18cd98fe91
|
core: add a dynamic Array class.
|
12 years ago |
Sam Hocevar
|
02e31f5c41
|
core: add a simple Array template class.
|
12 years ago |
Sam Hocevar
|
fe9bab81c1
|
gpu: fix a great lot of Direct3D problems, spotted using PIX.
|
12 years ago |
Sam Hocevar
|
8da2f504a8
|
debug: use std::abort() instead of a custom idiocy.
|
12 years ago |
Sam Hocevar
|
4e4d5a8e06
|
build: fix GCC build; it doesn't like to have a local file called debug/debug.h.
|
12 years ago |
Sam Hocevar
|
48c7070243
|
gpu: replace exit(0) in D3D error checks with lol::Abort().
|
12 years ago |
Sam Hocevar
|
0d49891632
|
gpu: fix a nasty bug in the D3D9 vertex declaration code that caused
wrong offset computations.
|
12 years ago |
Sam Hocevar
|
f7770f7387
|
gpu: add an Unbind() method for textures for clean up. Unfortunately
the Scene code still breaks Direct3D rendering.
|
12 years ago |
Sam Hocevar
|
b34088e5bd
|
math: add mat2 and mat3 types; they'll be useful.
|
12 years ago |
Sam Hocevar
|
169a16b63e
|
gpu: move the platform-specific triangle drawing call to the VertexDeclaration
class, so that the calling code does not need to know what the backend is.
|
12 years ago |
Sam Hocevar
|
560d5cc6be
|
gpu: fix the core scene renderer.
|
12 years ago |
Sam Hocevar
|
a54bb70d64
|
build: minor Windows compilation fixes.
|
12 years ago |
Sam Hocevar
|
6169c874e4
|
gpu: port the vertex buffer abstraction layer to OpenGL.
|
12 years ago |
Sam Hocevar
|
f7e202a7c8
|
gpu: implement vertex buffer streams for Direct3D. OpenGL is missing for now.
|
12 years ago |