Sam Hocevar
1186c08ad7
entity: add a flag system.
This lets us get rid of m_autorelease and m_destroy and we’ll be able
to implement init_game/init_draw later, for stuff that must happen
on the render thread.
6 anni fa
Sam Hocevar
1f9be92a66
Use smart pointers in a lot of the rendering code.
6 anni fa
Sam Hocevar
6dd7a0cb39
Another lowercase switching frenzy, because why not.
6 anni fa
Benjamin ‘Touky’ Huet
a7d6e0190e
Scene stuff is back to non-static logic with a few tricks
Scene rendering logic is now better
9 anni fa
Sam Hocevar
2fa398926d
math: improve the 2D and 3D box classes.
Box objects (AABB) now have the long awaited extent() and center()
methods. Corners are now called “aa” and “bb” for convenience. The
WorldEntity class uses a box3 for its AABB instead of two vec3s.
This allows us to simplify a lot of verbose code.
9 anni fa
Benjamin ‘Touky’ Huet
cfcff9acc3
MultiScene: Phase 1: g_scene removal and conversion to Scene::
9 anni fa
Sam Hocevar
cd988786b9
build: reorganise includes so that we can use precompiled headers later.
10 anni fa
Sam Hocevar
ad9a388e80
misc: remove 100% of the "using namespace std;" madness.
10 anni fa
Sam Hocevar
fe665f85b4
base: strip core.h from its contents and put it in public/private headers.
10 anni fa
Sam Hocevar
da6b3d5cd0
scenegraph: Entity::TickDraw() now provides a reference to the current
scene so that g_scene can be deprecated later.
10 anni fa
Sam Hocevar
1945e85afc
scene: start working on the scene class reorganisation.
11 anni fa
Benlitz
f104674963
gpu: removed attribute name, everything works using semantic only now. For glsl, semantic is determined from the attribute name which must follow this pattern: in_[Semantic][index], index being optional. Note: this may break most of the projects although I tried to updated every shader accordingly
11 anni fa
Sam Hocevar
ad8144f0e8
scene: use a global g_scene object instead of Scene::GetDefault().
11 anni fa
Sam Hocevar
7c8fc6df12
gpu: move more platform-specific code from Video to Render.
11 anni fa
Sam Hocevar
39a8c26fb5
base: start removing occurrences of NULL on our long journey to nullptr.
12 anni fa
Sam Hocevar
16a620d537
scene: start refactoring the camera code; we now have a stack of cameras
in the scene where we can push and pop cameras.
12 anni fa
Sam Hocevar
3adf42b00c
build: hide LolFx external declarations behind macros.
12 anni fa
Benjamin ‘Touky’ Huet
c7219ff1dd
New year copyright update.
12 anni fa
Sam Hocevar
d6634da83f
build: fix the WTFPL site URL in all code comments.
12 anni fa
Sam Hocevar
ad00a34984
gpu: add support for triangle strips and fans, and change the DrawElement
calls so that they take a number of vertices or indexes, not elements.
12 anni fa
Sam Hocevar
439298ee5e
misc: very minor tweaks here and there.
12 anni fa
Sam Hocevar
100f53e550
gpu: convert the gradient shader to a LolFx effect file.
12 anni fa
Sam Hocevar
28728814cc
core: replace usage of sin() or std::sin() with lol::sin() where appropriate.
12 anni fa
Sam Hocevar
d452194326
gpu: activate backface culling on OpenGL to remain consistent with
the Direct3D backend.
13 anni fa
Sam Hocevar
bfada5d920
core: move some of the camera view logic from the Video class to the
Scene and Camera classes.
13 anni fa
Sam Hocevar
90bfc79b22
core: tick methods now use seconds, like any sane system.
13 anni fa
Sam Hocevar
b49ba4ef56
core: prefix some member variables with m_ for clarity.
13 anni fa
Sam Hocevar
0d49891632
gpu: fix a nasty bug in the D3D9 vertex declaration code that caused
wrong offset computations.
13 anni fa
Sam Hocevar
f7770f7387
gpu: add an Unbind() method for textures for clean up. Unfortunately
the Scene code still breaks Direct3D rendering.
13 anni fa
Sam Hocevar
a54bb70d64
build: minor Windows compilation fixes.
13 anni fa
Sam Hocevar
6169c874e4
gpu: port the vertex buffer abstraction layer to OpenGL.
13 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.
13 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.
13 anni fa
Sam Hocevar
2831476774
build: major refactoring of the Win32 and Xbox project files; we now
link properly on the Xbox.
13 anni fa
Sam Hocevar
60a2e83d54
xbox: start working on an Xbox/Direct3D port.
13 anni fa
Sam Hocevar
356917292d
osx: link with the proper OpenGL libraries on OS X.
13 anni fa
Sam Hocevar
5c5739e508
ps3: port the dithering code to Cg. It does not work because subscripting
with runtime variables is only valid for arrays of texture samples.
13 anni fa
Sam Hocevar
533b3b33e0
render: add a Gradient class that will be used for dithering later.
13 anni fa