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.
před 9 roky
Benjamin ‘Touky’ Huet
2170b89b11
MultiScene: Phase 4: Added SceneDisplay class to have multiple windows + implementation with SDL. Not with the others.
před 9 roky
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
před 9 roky
Sam Hocevar
d72cb24bc0
build: move sample and tutorial files around.
před 10 roky
Sam Hocevar
cd988786b9
build: reorganise includes so that we can use precompiled headers later.
před 10 roky
Sam Hocevar
ad9a388e80
misc: remove 100% of the "using namespace std;" madness.
před 10 roky
Sam Hocevar
fe665f85b4
base: strip core.h from its contents and put it in public/private headers.
před 10 roky
Sam Hocevar
398ee1b4d5
base: use lol::array in most places.
před 10 roky
Sam Hocevar
da6b3d5cd0
scenegraph: Entity::TickDraw() now provides a reference to the current
scene so that g_scene can be deprecated later.
před 10 roky
Sam Hocevar
c9b8ff54a1
misc: some refactoring in texture handling.
před 10 roky
Sam Hocevar
232fa4126d
gpu: rename uniforms here and there for consistency.
před 10 roky
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
před 11 roky
Sam Hocevar
6a8118cb18
build: put tutorials and lol.js in a new "demos" directory.
před 11 roky
Sam Hocevar
13fb52cebe
gpu: move Video::Clear to Renderer::Clear.
před 11 roky
Sam Hocevar
87a9c3730c
gpu: implement all depth test functions in the renderer.
před 11 roky
Sam Hocevar
274a732e3c
gpu: move SetClearColor and SetClearDepth to the Renderer and RenderContext
classes instead of Video.
před 11 roky
Sam Hocevar
b97cbbe27f
gpu: use the RenderContext class in a few friendly places.
před 11 roky
Sam Hocevar
3b90e19739
gpu: fix framebuffer handling in OpenGL ES and add some sanity checks.
před 11 roky
Sam Hocevar
65929156dd
tutorial: fix uninitialised memory in the FBO demo.
před 11 roky
Sam Hocevar
2c3092ef28
gpu: rename FrameBuffer to Framebuffer.
před 11 roky
Sam Hocevar
3adf42b00c
build: hide LolFx external declarations behind macros.
před 12 roky
Sam Hocevar
bbf72e1a64
core: pass the project directory to the binary build and get rid of
that 2-year old "temporary Win32 hack".
před 12 roky
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.
před 12 roky
Sam Hocevar
d6634da83f
build: fix the WTFPL site URL in all code comments.
před 12 roky
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.
před 12 roky
Sam Hocevar
779815802a
tutorial: minor shadebob demo tweaks.
před 12 roky
Sam Hocevar
1c5cdd8c50
tutorial: fix the FBO demo on the Xbox360.
před 12 roky
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.
před 12 roky
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.
před 12 roky
Sam Hocevar
bd076c2deb
tutorial: minor tweaks.
před 12 roky
Sam Hocevar
98756e277f
tutorial: nicer blur and colour effect in the FBO tutorial.
před 12 roky
Sam Hocevar
13e5b6b8c4
tutorial: make the FBO example display something at last, so we can port
it to DirectX.
před 12 roky
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.
před 12 roky
Sam Hocevar
b5563ad21d
core: switch the Win32/x64 binaries to the Windows subsystem so that they
do not open a console at startup.
před 12 roky
Sam Hocevar
a01c953096
tutorial: start working on an FBO example.
před 12 roky
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.
před 12 roky
Sam Hocevar
c035a1c2b7
core: fix a few build warnings and remove useless operators from the
"half" class. The build is now 3% faster.
před 12 roky
Sam Hocevar
a606290ed2
gpu: allow to load a .lolfx file instead of all those shaders.
před 12 roky
Sam Hocevar
90bfc79b22
core: tick methods now use seconds, like any sane system.
před 12 roky
Sam Hocevar
9262efbac3
core: use operator<< instead of operator+= to append stuff to arrays,
it's a bit less confusing.
před 12 roky
Sam Hocevar
02e31f5c41
core: add a simple Array template class.
před 12 roky
Sam Hocevar
24626c671f
tutorial: some refactoring in the tutorials.
před 12 roky
Sam Hocevar
48c7070243
gpu: replace exit(0) in D3D error checks with lol::Abort().
před 12 roky
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.
před 12 roky
Sam Hocevar
6169c874e4
gpu: port the vertex buffer abstraction layer to OpenGL.
před 12 roky
Sam Hocevar
f7e202a7c8
gpu: implement vertex buffer streams for Direct3D. OpenGL is missing for now.
před 12 roky
Sam Hocevar
2601c970a2
gpu: refactor the vertex declaration code to allow several vertex streams.
před 12 roky
Sam Hocevar
5218c59ab7
gpu: start working on a template-based vertex buffer class.
před 12 roky
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.
před 12 roky
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.
před 12 roky