Sam Hocevar
e1070c3b3c
debug: do not use std::abort() on the PS3.
преди 12 години
Sam Hocevar
28b3a4f639
gpu: implement a few CG calls.
преди 12 години
Sam Hocevar
9f7993d21c
core: add copy constructor and assignment operator to Array.
преди 12 години
Sam Hocevar
bed2d554c1
math: new mat3::scale() and mat4::scale() methods.
преди 12 години
Sam Hocevar
3e3b254423
math: implement rotate() for mat3 in addition to mat4.
преди 12 години
Sam Hocevar
9262efbac3
core: use operator<< instead of operator+= to append stuff to arrays,
it's a bit less confusing.
преди 12 години
Sam Hocevar
9960f73351
gpu: normalize 8-bit integer data in 0..1 by default.
преди 12 години
Sam Hocevar
a327302484
gpu: fix Direct3D handling of float3x3 uniforms; they need padding.
преди 12 години
Sam Hocevar
9dad69c630
math: allow to easily create a 4x4 matrix from a 3x3 matrix, and so on.
преди 12 години
Sam Hocevar
56d7f24a37
core: Append() was missing for arrays of single element structs.
преди 12 години
Sam Hocevar
f1c0e3ba4e
gpu: add methods to send mat2 and mat3 matrices to the shader.
преди 12 години
Sam Hocevar
be4935c19c
math: add code to build the normal matrix from a transformation matrix.
преди 12 години
Sam Hocevar
eb51928415
math: add inversion code for 2×2 and 3×3 matrices, and transposition
code for all matrices.
преди 12 години
Sam Hocevar
bc5bf62886
gpu: assume 8-bit unsigned vertex data is expected to be normalised on 0-1.
преди 12 години
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 години
Sam Hocevar
8894958f0e
gpu: fix a stupid signed/unsigned inconsistency causing vertex declaration
creation failures.
преди 12 години
Sam Hocevar
578368f452
gpu: abstraction class for index buffers; the cube tutorial no longer
needs to know about Direct3D headers etc.
преди 12 години
Sam Hocevar
b6c330f3d8
gpu: remove old code in VertexBuffer that caused a memory leak.
преди 12 години
Sam Hocevar
18cd98fe91
core: add a dynamic Array class.
преди 12 години
Sam Hocevar
02e31f5c41
core: add a simple Array template class.
преди 12 години
Sam Hocevar
fe9bab81c1
gpu: fix a great lot of Direct3D problems, spotted using PIX.
преди 12 години
Sam Hocevar
8da2f504a8
debug: use std::abort() instead of a custom idiocy.
преди 12 години
Sam Hocevar
4e4d5a8e06
build: fix GCC build; it doesn't like to have a local file called debug/debug.h.
преди 12 години
Sam Hocevar
48c7070243
gpu: replace exit(0) in D3D error checks with lol::Abort().
преди 12 години
Sam Hocevar
0d49891632
gpu: fix a nasty bug in the D3D9 vertex declaration code that caused
wrong offset computations.
преди 12 години
Sam Hocevar
f7770f7387
gpu: add an Unbind() method for textures for clean up. Unfortunately
the Scene code still breaks Direct3D rendering.
преди 12 години
Sam Hocevar
b34088e5bd
math: add mat2 and mat3 types; they'll be useful.
преди 12 години
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 години
Sam Hocevar
560d5cc6be
gpu: fix the core scene renderer.
преди 12 години
Sam Hocevar
a54bb70d64
build: minor Windows compilation fixes.
преди 12 години
Sam Hocevar
6169c874e4
gpu: port the vertex buffer abstraction layer to OpenGL.
преди 12 години
Sam Hocevar
f7e202a7c8
gpu: implement vertex buffer streams for Direct3D. OpenGL is missing for now.
преди 12 години
Sam Hocevar
2601c970a2
gpu: refactor the vertex declaration code to allow several vertex streams.
преди 12 години
Sam Hocevar
3ab2f621f8
gpu: fix compilation errors and warnings in the vertex declaration code.
преди 12 години
Sam Hocevar
5218c59ab7
gpu: start working on a template-based vertex buffer class.
преди 12 години
Sam Hocevar
5014b90b3e
build: compilation fixes for errors introduced in the recent Direct3D
and Android changes.
преди 12 години
Sam Hocevar
57f393d0d3
gpu: port the texture and scene handling code to Direct3D. Not functional.
преди 12 години
Sam Hocevar
15c4e8016a
android: slightly update Android project for newer SDK versions.
преди 12 години
Sam Hocevar
64da211c62
math: do not use #pragma diagnostic push for GCC prior to 4.6.
преди 12 години
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.
преди 12 години
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.
преди 12 години
Sam Hocevar
88f10fe54b
build: allow to build the Direct3D 9 driver with the mingw compiler.
преди 12 години
Sam Hocevar
5d2ddbdb6f
math: use size_t instead of int for vector subscript to avoid torrents
of compiler warnings in 64-bit mode when sizeof(foo) is used as the
argument for the array subscript operator. No need to care about the
non-signedness since only positive indices work.
преди 12 години
Sam Hocevar
090834b149
win32: start porting the graphical backend to DirectX 9. Apparently I
cannot used DirectX 10 because my video card only supports DX9, and there
is no compatibility layer. DX11 has feature levels for older hardware so
it would work with a DX9 card, but it's not available for WinXP.
преди 12 години
Sam Hocevar
d855e72198
win32: the GDI+ byte swapping was wrong; fix that.
преди 12 години
Sam Hocevar
d539f3b80c
win32: shuffle bytes in GDI images to match what OpenGL supports.
преди 12 години
Sam Hocevar
a3f410d697
video: allow to set the default clear color.
преди 12 години
Sam Hocevar
f35f4284b0
core: allow each blitted tile to be stretched differently.
преди 12 години
Sam Hocevar
bd69c76f90
xbox: fix a few problems in the shader handling code; the first tutorial now
works on the Xbox.
преди 12 години
Sam Hocevar
2831476774
build: major refactoring of the Win32 and Xbox project files; we now
link properly on the Xbox.
преди 12 години