Sam Hocevar
48c7070243
gpu: replace exit(0) in D3D error checks with lol::Abort().
12 lat temu
Sam Hocevar
f7770f7387
gpu: add an Unbind() method for textures for clean up. Unfortunately
the Scene code still breaks Direct3D rendering.
12 lat temu
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 lat temu
Sam Hocevar
a54bb70d64
build: minor Windows compilation fixes.
12 lat temu
Sam Hocevar
6169c874e4
gpu: port the vertex buffer abstraction layer to OpenGL.
12 lat temu
Sam Hocevar
f7e202a7c8
gpu: implement vertex buffer streams for Direct3D. OpenGL is missing for now.
12 lat temu
Sam Hocevar
2601c970a2
gpu: refactor the vertex declaration code to allow several vertex streams.
12 lat temu
Sam Hocevar
5218c59ab7
gpu: start working on a template-based vertex buffer class.
12 lat temu
Sam Hocevar
8f0fc94027
tutorial: fix a compilation error and remove now useless vector type casts.
12 lat temu
Sam Hocevar
701eb778a3
tutorial: fix the texture swizzling for the fractal viewer on Xbox 360.
12 lat temu
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 lat temu
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 lat temu
Sam Hocevar
c2ff2ad9b7
win32: add Direct3D texture creation code in the fractal zoomer. Shader
support is still missing.
12 lat temu
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 lat temu
Sam Hocevar
4fac6d468b
tutorial: fix unbalanced parenthesis breaking compilation.
12 lat temu
Sam Hocevar
4c7ce44cdb
tutorial: port the rotating cube tutorial to the Xbox 360 and
tweak the triangle tutorial to make it shorter.
12 lat temu
Sam Hocevar
bd69c76f90
xbox: fix a few problems in the shader handling code; the first tutorial now
works on the Xbox.
12 lat temu
Sam Hocevar
39b59b3d42
test: fix uninitialised member variable.
12 lat temu
Sam Hocevar
2831476774
build: major refactoring of the Win32 and Xbox project files; we now
link properly on the Xbox.
12 lat temu
Sam Hocevar
43e152053a
win32: add a lot of DirectX stubs.
12 lat temu
Sam Hocevar
59ee25e0b3
win32: a few compilation fixes, including GDI+ linking properly now.
12 lat temu
Sam Hocevar
40be36ec2c
test: fix logic bugs in two tutorials.
12 lat temu
Sam Hocevar
c0cb995fd2
win32: various compilation fixes, mostly project updates, but also a
workaround for a Visual Studio compiler bug (Connect Id #730878 ).
12 lat temu
Sam Hocevar
64f6c5818b
test: that cast was necessary, after all...
12 lat temu
Sam Hocevar
03250fa321
test: remove a useless cast.
12 lat temu
Sam Hocevar
db728e48fe
threads: change Queue to a template so that we can manage the element type.
12 lat temu
Sam Hocevar
57df2357de
math: try to implement the magic getter/setter pattern. BREAKS BUILD.
13 lat temu
Sam Hocevar
d38a79ee3d
math: move most vector and matrix member functions to global functions.
13 lat temu
Sam Hocevar
215b6c2065
test: unroll the Mandelbrot loop to gain a few milliseconds per frame, and
increase the maximum iteration count to 340.
13 lat temu
Sam Hocevar
608f52eefb
test: proper multithreading in the Mandelbrot tutorial.
13 lat temu
Sam Hocevar
94f5450399
test: minor tuning, esp. for the PS3.
13 lat temu
Sam Hocevar
0a113459a5
ps3: start implementing the PS3 threading system, and port the new
Mandelbrot shader code to Cg.
13 lat temu
Sam Hocevar
b5cc7b7877
tutorial: work around i915 driver limitations in the Mandelbrot viewer shader.
13 lat temu
Sam Hocevar
6640cacd29
tutorial: smarter register and instruction usage in the Mandelbrot zooming
shader.
13 lat temu
Sam Hocevar
222401ad97
tutorial: simplify the Mandelbrot viewing shader in the hope that it will
work on i915 cards.
13 lat temu
Sam Hocevar
0a669f9c49
tutorial: make the GLSL Mandelbrot shader completely branchless.
13 lat temu
Sam Hocevar
e5df84100b
nacl: quick and dirty mouse support.
13 lat temu
Sam Hocevar
b7f21d3d49
tutorial: fix texel offset issues in the fractal zoomer.
13 lat temu
Sam Hocevar
07520f26f2
nacl: workaround for ANGLE issue #258 where GLSL mod() is badly translated
in HLSL.
13 lat temu
Sam Hocevar
6743bb45cd
nacl: the Mandelbrot zoomer is starting to work on NaCl.
13 lat temu
Sam Hocevar
2edb8115e6
core: port all code to NativeClient. Nothing runs for now, but it builds.
13 lat temu
Sam Hocevar
aab3fb7c45
tutorial: progressive zoom in the Mandelbrot viewer.
13 lat temu
Sam Hocevar
7f096b61e4
tutorial: look into previous frames for data when zooming in the Mandelbrot
viewer using only the shader.
13 lat temu
Sam Hocevar
f9323a8a89
tutorial: get the Mandelbrot viewer to run on OS X.
13 lat temu
Sam Hocevar
ec705032ad
ps3: fix a performance issue in the Mandelbrot viewer texture upload.
13 lat temu
Sam Hocevar
aa4bde4a60
ps3: fix a typo causing a compilation error.
13 lat temu
Sam Hocevar
08e3ee64ad
tutorial: create texture with the proper format and type on the PS3.
13 lat temu
Sam Hocevar
790f3783d2
tutorial: port the new Mandelbrot shader to Cg.
13 lat temu
Sam Hocevar
7ba6e2bb29
tutorial: the Mandelbrot viewer now queries the nearest pixel of each
slice, and averages the results. This gives us almost free antialiasing,
since all these queries will need to be done anyway for raytracing.
13 lat temu
Sam Hocevar
adf0dfcc7e
tutorial: decorrelate window size and texture size in the Mandelbrot viewer.
13 lat temu