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/
pirms 14 gadiem
Sam Hocevar
08fc460668
core: move the Camera class from Orbital to the engine core.
pirms 14 gadiem
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.
pirms 14 gadiem
Sam Hocevar
cbf13dac65
gpu: temporarily enable alpha blending in the vertex buffer code.
pirms 14 gadiem
Sam Hocevar
b49ba4ef56
core: prefix some member variables with m_ for clarity.
pirms 14 gadiem
Sam Hocevar
dc94fce5ed
gpu: activate alpha blending on the Direct3D backend.
pirms 14 gadiem
Sam Hocevar
6cd8c0ece3
core: fix a bug in the Array class copy constructor, found thanks to
the unit tests.
pirms 14 gadiem
Sam Hocevar
cf85ee132d
core: dynamic arrays can now have up to 8 typed members.
pirms 14 gadiem
Sam Hocevar
f23b47a8e2
ps3: start fixing the vertex buffer logic in there.
pirms 14 gadiem
Sam Hocevar
e1070c3b3c
debug: do not use std::abort() on the PS3.
pirms 14 gadiem
Sam Hocevar
28b3a4f639
gpu: implement a few CG calls.
pirms 14 gadiem
Sam Hocevar
9f7993d21c
core: add copy constructor and assignment operator to Array.
pirms 14 gadiem
Sam Hocevar
bed2d554c1
math: new mat3::scale() and mat4::scale() methods.
pirms 14 gadiem
Sam Hocevar
3e3b254423
math: implement rotate() for mat3 in addition to mat4.
pirms 14 gadiem
Sam Hocevar
9262efbac3
core: use operator<< instead of operator+= to append stuff to arrays,
it's a bit less confusing.
pirms 14 gadiem
Sam Hocevar
9960f73351
gpu: normalize 8-bit integer data in 0..1 by default.
pirms 14 gadiem
Sam Hocevar
a327302484
gpu: fix Direct3D handling of float3x3 uniforms; they need padding.
pirms 14 gadiem
Sam Hocevar
9dad69c630
math: allow to easily create a 4x4 matrix from a 3x3 matrix, and so on.
pirms 14 gadiem
Sam Hocevar
56d7f24a37
core: Append() was missing for arrays of single element structs.
pirms 14 gadiem
Sam Hocevar
f1c0e3ba4e
gpu: add methods to send mat2 and mat3 matrices to the shader.
pirms 14 gadiem
Sam Hocevar
be4935c19c
math: add code to build the normal matrix from a transformation matrix.
pirms 14 gadiem
Sam Hocevar
eb51928415
math: add inversion code for 2×2 and 3×3 matrices, and transposition
code for all matrices.
pirms 14 gadiem
Sam Hocevar
bc5bf62886
gpu: assume 8-bit unsigned vertex data is expected to be normalised on 0-1.
pirms 14 gadiem
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.
pirms 14 gadiem
Sam Hocevar
8894958f0e
gpu: fix a stupid signed/unsigned inconsistency causing vertex declaration
creation failures.
pirms 14 gadiem
Sam Hocevar
578368f452
gpu: abstraction class for index buffers; the cube tutorial no longer
needs to know about Direct3D headers etc.
pirms 14 gadiem
Sam Hocevar
b6c330f3d8
gpu: remove old code in VertexBuffer that caused a memory leak.
pirms 14 gadiem
Sam Hocevar
18cd98fe91
core: add a dynamic Array class.
pirms 14 gadiem
Sam Hocevar
02e31f5c41
core: add a simple Array template class.
pirms 14 gadiem
Sam Hocevar
fe9bab81c1
gpu: fix a great lot of Direct3D problems, spotted using PIX.
pirms 14 gadiem
Sam Hocevar
8da2f504a8
debug: use std::abort() instead of a custom idiocy.
pirms 14 gadiem
Sam Hocevar
4e4d5a8e06
build: fix GCC build; it doesn't like to have a local file called debug/debug.h.
pirms 14 gadiem
Sam Hocevar
48c7070243
gpu: replace exit(0) in D3D error checks with lol::Abort().
pirms 14 gadiem
Sam Hocevar
0d49891632
gpu: fix a nasty bug in the D3D9 vertex declaration code that caused
wrong offset computations.
pirms 14 gadiem
Sam Hocevar
f7770f7387
gpu: add an Unbind() method for textures for clean up. Unfortunately
the Scene code still breaks Direct3D rendering.
pirms 14 gadiem
Sam Hocevar
b34088e5bd
math: add mat2 and mat3 types; they'll be useful.
pirms 14 gadiem
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.
pirms 14 gadiem
Sam Hocevar
560d5cc6be
gpu: fix the core scene renderer.
pirms 14 gadiem
Sam Hocevar
a54bb70d64
build: minor Windows compilation fixes.
pirms 14 gadiem
Sam Hocevar
6169c874e4
gpu: port the vertex buffer abstraction layer to OpenGL.
pirms 14 gadiem
Sam Hocevar
f7e202a7c8
gpu: implement vertex buffer streams for Direct3D. OpenGL is missing for now.
pirms 14 gadiem
Sam Hocevar
2601c970a2
gpu: refactor the vertex declaration code to allow several vertex streams.
pirms 14 gadiem
Sam Hocevar
3ab2f621f8
gpu: fix compilation errors and warnings in the vertex declaration code.
pirms 14 gadiem
Sam Hocevar
5218c59ab7
gpu: start working on a template-based vertex buffer class.
pirms 14 gadiem
Sam Hocevar
5014b90b3e
build: compilation fixes for errors introduced in the recent Direct3D
and Android changes.
pirms 14 gadiem
Sam Hocevar
57f393d0d3
gpu: port the texture and scene handling code to Direct3D. Not functional.
pirms 14 gadiem
Sam Hocevar
15c4e8016a
android: slightly update Android project for newer SDK versions.
pirms 14 gadiem
Sam Hocevar
64da211c62
math: do not use #pragma diagnostic push for GCC prior to 4.6.
pirms 14 gadiem
Sam Hocevar
1485e5bf63
gpu: add support for integer uniforms and fix a few PS3 and Linux compilation
issues that were introduced with the Direct3D changes.
pirms 14 gadiem
Sam Hocevar
458378003c
win32: the uniform handling code was completely broken; we now properly
retrieve the constant's register index in the description table. This also
allows us to use a single uniform handle for both the vertex and pixel
shaders in a PS3 Cg program.
pirms 14 gadiem