Sam Hocevar
3a90766614
scene: start working on a postprocess mechanism.
Not all programs support this feature for now, but that’s because they
don’t support the scene framework either, and will need patching. Also
the default postprocess is deliberately exaggerated for now.
8 anni fa
Sam Hocevar
d84605c105
Remove Xbox 360 support, too much stuff no longer compiles.
9 anni fa
Sam Hocevar
861568b146
misc: some cleanup in files, including UTF-8 BOM.
9 anni fa
Sam Hocevar
441a20af99
misc: fix copyright information here and there.
9 anni fa
Sam Hocevar
03c17fcae4
base: clean up and refactor containers.
The containers no longer force the user to use the ptrdiff_t type for
size information. For convenience, size() now always returns an int,
and the size_s() method offers a way to handle arrays with more than
2 billion elements. Internally, we still use ptrdiff_t, though.
Since so much code had to be changed, I took the opportunity to get
rid of capitalised accessors for classes that are lowercase.
9 anni fa
Benjamin ‘Touky’ Huet
2170b89b11
MultiScene: Phase 4: Added SceneDisplay class to have multiple windows + implementation with SDL. Not with the others.
9 anni fa
Benjamin ‘Touky’ Huet
f139a7e164
LolImGui integration 2nd pass: It now works perfectly (to the extent of the api)
SDL2: Mouse is back ! With correct focus support
SDL2: Added typing support with keyboard
ShaderBuilder: Refactored and simplified Shader block creation
Several warning removal
Fixed Image::Copy
9 anni fa
Sam Hocevar
d72cb24bc0
build: move sample and tutorial files around.
10 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
398ee1b4d5
base: use lol::array in most places.
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
c9b8ff54a1
misc: some refactoring in texture handling.
10 anni fa
Sam Hocevar
232fa4126d
gpu: rename uniforms here and there for consistency.
10 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
6a8118cb18
build: put tutorials and lol.js in a new "demos" directory.
11 anni fa
Sam Hocevar
13fb52cebe
gpu: move Video::Clear to Renderer::Clear.
11 anni fa
Sam Hocevar
87a9c3730c
gpu: implement all depth test functions in the renderer.
11 anni fa
Sam Hocevar
274a732e3c
gpu: move SetClearColor and SetClearDepth to the Renderer and RenderContext
classes instead of Video.
11 anni fa
Sam Hocevar
b97cbbe27f
gpu: use the RenderContext class in a few friendly places.
11 anni fa
Sam Hocevar
3b90e19739
gpu: fix framebuffer handling in OpenGL ES and add some sanity checks.
11 anni fa
Sam Hocevar
65929156dd
tutorial: fix uninitialised memory in the FBO demo.
11 anni fa
Sam Hocevar
2c3092ef28
gpu: rename FrameBuffer to Framebuffer.
11 anni fa
Sam Hocevar
3adf42b00c
build: hide LolFx external declarations behind macros.
12 anni fa
Sam Hocevar
bbf72e1a64
core: pass the project directory to the binary build and get rid of
that 2-year old "temporary Win32 hack".
12 anni fa
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.
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
779815802a
tutorial: minor shadebob demo tweaks.
12 anni fa
Sam Hocevar
1c5cdd8c50
tutorial: fix the FBO demo on the Xbox360.
12 anni fa
Sam Hocevar
7d5fe8a7c6
gpu: create the ShaderTexture class, replace Shader::SetTexture with a
Shader::SetUniform override, and implement most of the FBO code for
the Direct3D backend.
12 anni fa
Sam Hocevar
51bf8067a9
gpu: get rid of the glClearColor, glClearDepth and glClear calls in all
projects, we now use Video::SetClearColor, Video::SetClearDepth and
Video::Clear instead, so that the Direct3D equivalents can be called.
12 anni fa
Sam Hocevar
bd076c2deb
tutorial: minor tweaks.
12 anni fa
Sam Hocevar
98756e277f
tutorial: nicer blur and colour effect in the FBO tutorial.
12 anni fa
Sam Hocevar
13e5b6b8c4
tutorial: make the FBO example display something at last, so we can port
it to DirectX.
12 anni fa
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.
12 anni fa
Sam Hocevar
b5563ad21d
core: switch the Win32/x64 binaries to the Windows subsystem so that they
do not open a console at startup.
12 anni fa
Sam Hocevar
a01c953096
tutorial: start working on an FBO example.
12 anni fa
Sam Hocevar
78f7a303ff
build: reorganise all the build stuff so that it lies in build/ and
make sure each .vcxproj file is with its corresponding source code.
12 anni fa
Sam Hocevar
c035a1c2b7
core: fix a few build warnings and remove useless operators from the
"half" class. The build is now 3% faster.
12 anni fa
Sam Hocevar
a606290ed2
gpu: allow to load a .lolfx file instead of all those shaders.
12 anni fa
Sam Hocevar
90bfc79b22
core: tick methods now use seconds, like any sane system.
12 anni fa
Sam Hocevar
9262efbac3
core: use operator<< instead of operator+= to append stuff to arrays,
it's a bit less confusing.
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
48c7070243
gpu: replace exit(0) in D3D error checks with lol::Abort().
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
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