Sam Hocevar
23ab462042
gpu: try to patch some simple GLSL shaders on the fly so that they
work on OpenGL ES contexts.
před 13 roky
Sam Hocevar
28728814cc
core: replace usage of sin() or std::sin() with lol::sin() where appropriate.
před 13 roky
Sam Hocevar
2feb505b72
gpu: be more verbose about shader compilation; some warnings are useful.
před 13 roky
Sam Hocevar
286c5edeb6
neercs: some refactoring.
před 13 roky
Sam Hocevar
e5e598bd68
gpu: first shot at a Shader::SetTexture() function.
před 13 roky
Sam Hocevar
e110495464
gpu: define the _XBOX macro in our HLSL compilation.
před 13 roky
Sam Hocevar
a606290ed2
gpu: allow to load a .lolfx file instead of all those shaders.
před 13 roky
Sam Hocevar
28b3a4f639
gpu: implement a few CG calls.
před 13 roky
Sam Hocevar
a327302484
gpu: fix Direct3D handling of float3x3 uniforms; they need padding.
před 13 roky
Sam Hocevar
f1c0e3ba4e
gpu: add methods to send mat2 and mat3 matrices to the shader.
před 13 roky
Sam Hocevar
fe9bab81c1
gpu: fix a great lot of Direct3D problems, spotted using PIX.
před 13 roky
Sam Hocevar
6169c874e4
gpu: port the vertex buffer abstraction layer to OpenGL.
před 13 roky
Sam Hocevar
f7e202a7c8
gpu: implement vertex buffer streams for Direct3D. OpenGL is missing for now.
před 13 roky
Sam Hocevar
57f393d0d3
gpu: port the texture and scene handling code to Direct3D. Not functional.
před 13 roky
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.
před 13 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 13 roky
Sam Hocevar
88f10fe54b
build: allow to build the Direct3D 9 driver with the mingw compiler.
před 13 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 13 roky
Sam Hocevar
bd69c76f90
xbox: fix a few problems in the shader handling code; the first tutorial now
works on the Xbox.
před 13 roky
Sam Hocevar
56e4332597
build: reorganise math files in a single "math" directory, and get rid of the
"shader" source directory since we have "gpu".
před 13 roky
Sam Hocevar
43e152053a
win32: add a lot of DirectX stubs.
před 13 roky
Sam Hocevar
2f4c181f7d
gl: compilation fix due to #if/#elif confusion.
před 13 roky
Sam Hocevar
60a2e83d54
xbox: start working on an Xbox/Direct3D port.
před 13 roky
Sam Hocevar
7cfcfb2413
shader: factor the uniform handling logic into platform-independent methods
for both OpenGL and the PS3.
před 14 roky
Sam Hocevar
eb32d04c84
ps3: if the implementation supports Cg but not GLSL (for instance on the PS3),
use the system's Cg compiler.
před 14 roky
Sam Hocevar
6ef55ca61f
ps3: some compilation fixes to accomodate for recent debug additions.
před 14 roky
Sam Hocevar
2731e49fe5
shader: check that the shader really failed to compile before outputting
the compilation log as an error.
před 14 roky
Sam Hocevar
660962e894
build: put debug stuff and shader stuff in subdirectories.
před 14 roky
Sam Hocevar
2a9082fe50
shader: check CRC before patching the shader and fix vertex shaders and
fragment shaders differently.
před 14 roky
Sam Hocevar
c4511d9b8d
shader: support most standard parameters in the shader patcher.
před 14 roky
Sam Hocevar
f5c4331d2e
shader: write a minimalist shader patcher for future GLSL 1.20 compatibility.
před 14 roky
Sam Hocevar
3d4af0869a
ps3: start a minimal PS3 port using PSGL, but not CG yet.
před 14 roky
Sam Hocevar
d18820d320
video: enforce shader-enabled GL implementations, getting rid of a lot
of code.
před 14 roky
Sam Hocevar
10b321b204
core: get rid of now useless <cstdio> includes.
před 14 roky
Sam Hocevar
1e5624d551
core: create a logger class to reduce printf usage.
před 14 roky
Sam Hocevar
8848cf53db
Put everything in the "lol" namespace. Better late than never.
před 15 roky
Sam Hocevar
c643668297
The engine now builds for GL and GL ES 1.x and 2.x, and runs for each
one except GL ES 2.x for now.
před 15 roky
Sam Hocevar
6e173ee3eb
Put the OpenGL header handling in <lolgl.h> for more convenience.
před 15 roky
Sam Hocevar
c1a48408cf
Cache shader source CRCs to avoid costly recompilations.
před 15 roky
Sam Hocevar
194a025bc8
Protect the Shader constructor and provide a static creation method that
will let us cache shaders.
před 15 roky
Sam Hocevar
01be151c62
Try to factor all the recent GLSL stuff in the new Shader class.
před 15 roky