Sam Hocevar
06c4ec01c3
base: move headers around and promote gpu/ to lol/gpu/.
pirms 12 gadiem
Sam Hocevar
0ba4e6d9e0
easymesh: interface the shiny shader with new Light objects.
pirms 12 gadiem
Sam Hocevar
3adf42b00c
build: hide LolFx external declarations behind macros.
pirms 12 gadiem
Sam Hocevar
39cd7a1fd0
build: revert the weak symbol work; it confuses Visual Studio too much.
pirms 12 gadiem
Sam Hocevar
d3af7653c0
build: provide weak symbols for lol_sdl_main on Visual Studio.
pirms 12 gadiem
Sam Hocevar
96256f45ce
build: use our own main() wrapper in addition to SDL's, and only
in that case. Currently only works with GCC.
pirms 12 gadiem
Sam Hocevar
8613d04c03
core: implement a cool ASSERT() macro.
pirms 12 gadiem
Sam Hocevar
5402346b16
core: move the Log and Timer classes to the sys/ subdirectory, use
the String class instead of the stack for logging, and get rid of
the old and useless BitField class.
pirms 12 gadiem
Sam Hocevar
1a54a81167
sys: move thread.h to the sys/ directory.
pirms 12 gadiem
Sam Hocevar
6a6e46cf0d
system: try to autodetect the data directory from the executable path;
currently works for images (SDL and GDI+ loaders) and sound samples.
pirms 12 gadiem
Benjamin ‘Touky’ Huet
4393a43752
Added CSG v0.001a : not optimized, too much operation makes it slow. triangle count is not optimized.
Useage : "...[.... csg*]" equals "current mesh -CSG- the mesh in the braces".
Keywords : CsgUnion<csgu>, CsgSubstract<csgs>, CsgAnd<csga>, CsgXor<csgx>
TODO : cleanup useless code.
TODO : Some bugs are still present, some face that disappear should not.
TODO : Correct epsilon useage (see geometry files).
TODO : Coplanar face are not handled -at all-.
TODO : Vertex count goes through the roof in case of a Xor.
pirms 12 gadiem
Benjamin ‘Touky’ Huet
3d56a23a55
Added geometry basic functions.
TODO : second pass on coding-style, and some tweak & usage modification.
pirms 12 gadiem
Benjamin ‘Touky’ Huet
c7219ff1dd
New year copyright update.
pirms 12 gadiem
Sam Hocevar
10d5d30b85
image: a few colour conversion routines.
pirms 12 gadiem
Sam Hocevar
d49bb04d20
build: rename “core” directory to “base” because the former is used for core
files on some Unix systems.
pirms 12 gadiem
Sam Hocevar
d6634da83f
build: fix the WTFPL site URL in all code comments.
pirms 12 gadiem
Sam Hocevar
2a5d9ed4d8
build: rename Map to LevelMap so that we can use Map for the hashmap.
pirms 12 gadiem
Sam Hocevar
397c7f2fda
core: implement hashing functions for half, float and double.
pirms 12 gadiem
Sam Hocevar
0149c30df4
core: refactor the Hash class so that we can hash base types, too.
pirms 12 gadiem
Sam Hocevar
f2b71d368e
core: new String class.
pirms 12 gadiem
Sam Hocevar
4a6d092a74
mesh: start working on mesh and submesh stuff.
pirms 12 gadiem
Sam Hocevar
b438a94642
input: add the Keyboard abstraction object type.
pirms 12 gadiem
Sam Hocevar
b9aba5d27a
gpu: put the texture creation code in its own class; for now a lot of things are
hardcoded and only the fractal demo uses it, but everything will eventually switch.
pirms 12 gadiem
Sam Hocevar
26c432be90
gpu: sip an empty LolFx class that embeds the compiler.
pirms 12 gadiem
Sam Hocevar
44180ce402
build: switch the Android native build rules to autoconf; still a bit rough
but we can now create shared objects for each project; only the testsuite
is not building properly because of issues with STLport, and EglApp is
deactivated because AndroidApp should have precedence.
pirms 12 gadiem
Sam Hocevar
ed499e0c07
build: add libSDLmain.a binaries for GUI MinGW builds; the provided static
libraries only work with the Visual Studio runtime.
pirms 12 gadiem
Sam Hocevar
cb1f420933
core: fix the Windows and OS X builds with SDL.
pirms 12 gadiem
Sam Hocevar
5bd24fa1d3
build: hide the SDL_main.h inclusion in core.h, and only activate it
on Windows if using Visual Studio; if using MinGW, try to stick to the
original main() entry point.
pirms 12 gadiem
Sam Hocevar
caec5ed082
build: allow to build the PS3 binaries from Visual Studio if the proper
software is installed.
pirms 12 gadiem
Sam Hocevar
28728814cc
core: replace usage of sin() or std::sin() with lol::sin() where appropriate.
pirms 12 gadiem
Sam Hocevar
8375f3443d
build: fix the PS3 port by using our trig.h everywhere instead of stdlib
functions; also remove a lot of idiotic "using namespace std" from the
codebase.
pirms 12 gadiem
Sam Hocevar
86a16aaff6
easymesh: move the Mesh builder into the engine core.
pirms 12 gadiem
Sam Hocevar
e2295392b8
gpu: first FrameBuffer GPU class.
pirms 12 gadiem
Sam Hocevar
b83a7eccca
nacl: remove our old hack of #including the file containing main() from
the NaCl instance object. Now we properly override main() and we can at
last build all the executables as NaCl binaries.
pirms 12 gadiem
Sam Hocevar
58b3c20b86
input: add core joystick support and bind the SDL input to that.
pirms 12 gadiem
Sam Hocevar
08fc460668
core: move the Camera class from Orbital to the engine core.
pirms 12 gadiem
Sam Hocevar
578368f452
gpu: abstraction class for index buffers; the cube tutorial no longer
needs to know about Direct3D headers etc.
pirms 12 gadiem
Sam Hocevar
02e31f5c41
core: add a simple Array template class.
pirms 12 gadiem
Sam Hocevar
4e4d5a8e06
build: fix GCC build; it doesn't like to have a local file called debug/debug.h.
pirms 12 gadiem
Sam Hocevar
48c7070243
gpu: replace exit(0) in D3D error checks with lol::Abort().
pirms 12 gadiem
Sam Hocevar
f7e202a7c8
gpu: implement vertex buffer streams for Direct3D. OpenGL is missing for now.
pirms 12 gadiem
Sam Hocevar
5218c59ab7
gpu: start working on a template-based vertex buffer class.
pirms 12 gadiem
Sam Hocevar
56e4332597
build: reorganise math files in a single "math" directory, and get rid of the
"shader" source directory since we have "gpu".
pirms 13 gadiem
Sam Hocevar
b4610706c0
math: move half.h into the public headers.
pirms 13 gadiem
Sam Hocevar
0a52e68f6f
math: rename matrix.h to vector.h and simplify some stuff, especially in
the matrix code itself.
pirms 13 gadiem
Sam Hocevar
48bf48a4e4
math: move the Remez algorithm implementation to the core.
pirms 13 gadiem
Sam Hocevar
0161879a84
core: try to merge Ticker and Emcee. Still not very good.
pirms 13 gadiem
Sam Hocevar
3d3ec36548
core: start working on the Emcee class.
pirms 13 gadiem
Sam Hocevar
29db078d6a
core: add a mediocre threading system as the base for the real thing.
pirms 13 gadiem
Sam Hocevar
11fb586a20
gpu: start implementing a vertex buffer object.
pirms 13 gadiem