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
02e31f5c41
core: add a simple Array template class.
12 anni fa
Sam Hocevar
24626c671f
tutorial: some refactoring in the tutorials.
12 anni fa
Sam Hocevar
fe9bab81c1
gpu: fix a great lot of Direct3D problems, spotted using PIX.
12 anni fa
Sam Hocevar
bfb0ad1e61
tutorial: use an interleaved vertex/color buffer.
12 anni fa
Sam Hocevar
48c7070243
gpu: replace exit(0) in D3D error checks with lol::Abort().
12 anni fa
Sam Hocevar
f7770f7387
gpu: add an Unbind() method for textures for clean up. Unfortunately
the Scene code still breaks Direct3D rendering.
12 anni fa
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 anni fa
Sam Hocevar
a54bb70d64
build: minor Windows compilation fixes.
12 anni fa
Sam Hocevar
6169c874e4
gpu: port the vertex buffer abstraction layer to OpenGL.
12 anni fa
Sam Hocevar
f7e202a7c8
gpu: implement vertex buffer streams for Direct3D. OpenGL is missing for now.
12 anni fa
Sam Hocevar
2601c970a2
gpu: refactor the vertex declaration code to allow several vertex streams.
12 anni fa
Sam Hocevar
5218c59ab7
gpu: start working on a template-based vertex buffer class.
12 anni fa
Sam Hocevar
8f0fc94027
tutorial: fix a compilation error and remove now useless vector type casts.
12 anni fa
Sam Hocevar
701eb778a3
tutorial: fix the texture swizzling for the fractal viewer on Xbox 360.
12 anni fa
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 anni fa
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 anni fa
Sam Hocevar
c2ff2ad9b7
win32: add Direct3D texture creation code in the fractal zoomer. Shader
support is still missing.
12 anni fa
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 anni fa
Sam Hocevar
4fac6d468b
tutorial: fix unbalanced parenthesis breaking compilation.
12 anni fa
Sam Hocevar
4c7ce44cdb
tutorial: port the rotating cube tutorial to the Xbox 360 and
tweak the triangle tutorial to make it shorter.
12 anni fa
Sam Hocevar
bd69c76f90
xbox: fix a few problems in the shader handling code; the first tutorial now
works on the Xbox.
12 anni fa
Sam Hocevar
39b59b3d42
test: fix uninitialised member variable.
12 anni fa
Sam Hocevar
2831476774
build: major refactoring of the Win32 and Xbox project files; we now
link properly on the Xbox.
12 anni fa
Sam Hocevar
43e152053a
win32: add a lot of DirectX stubs.
12 anni fa
Sam Hocevar
59ee25e0b3
win32: a few compilation fixes, including GDI+ linking properly now.
12 anni fa
Sam Hocevar
40be36ec2c
test: fix logic bugs in two tutorials.
12 anni fa
Sam Hocevar
0303a8384f
win32: fix Visual Studio compilation and link issues.
12 anni fa
Sam Hocevar
8bea4cf189
math: ensure real::fabs() is never chosen over std::fabs() for arguments
that are not explicitly real, even with namespace mistakes.
12 anni fa
Sam Hocevar
c0cb995fd2
win32: various compilation fixes, mostly project updates, but also a
workaround for a Visual Studio compiler bug (Connect Id #730878 ).
12 anni fa
Sam Hocevar
64f6c5818b
test: that cast was necessary, after all...
12 anni fa
Sam Hocevar
54f74a1b20
win32: some compilation fixes here and there.
12 anni fa
Sam Hocevar
03250fa321
test: remove a useless cast.
12 anni fa
Sam Hocevar
db728e48fe
threads: change Queue to a template so that we can manage the element type.
12 anni fa
Sam Hocevar
0a52e68f6f
math: rename matrix.h to vector.h and simplify some stuff, especially in
the matrix code itself.
13 anni fa
Sam Hocevar
57df2357de
math: try to implement the magic getter/setter pattern. BREAKS BUILD.
13 anni fa
Sam Hocevar
d38a79ee3d
math: move most vector and matrix member functions to global functions.
13 anni fa
Sam Hocevar
bed5dea0c0
math: implement ulp() for reals, which returns the smallest real y > 0 such
that x + y != x, and nextafter() which behaves like the C function.
13 anni fa
Sam Hocevar
d763474c0b
lolremez: release LolRemez 0.2.
13 anni fa
Sam Hocevar
dfdff977c1
math: significant performance improvements in the Remez solver.
13 anni fa
Sam Hocevar
c4bad581a2
math: write a faster factorial method for use in exp() and sin(). These
functions are now about 20% faster.
13 anni fa
Sam Hocevar
9f9566bdb6
lolremez: distribute Visual Studio files with LolRemez.
13 anni fa
Sam Hocevar
366644d43c
real: get rid of <<= and >>= operators; we can use ldexp() instead. As a
bonus, multiplication or division by a power of two will be optimised as
a shift of the exponent.
13 anni fa
Sam Hocevar
df39a0cedd
math: make everything clean for a LolRemez release.
13 anni fa
Sam Hocevar
48bf48a4e4
math: move the Remez algorithm implementation to the core.
13 anni fa
Sam Hocevar
f56c72c53d
core: fix the sign of a negative real number raised to an even power, and
add the corresponding unit test.
13 anni fa
Sam Hocevar
992c198a66
core: allow to build a real number using a string literal.
13 anni fa
Sam Hocevar
3283dfc011
build: minor reorganisation of the sandbox code.
13 anni fa
Sam Hocevar
2d3ee50da3
test: do not test for strict doubles equality in quaternion unit test.
13 anni fa