Commit Graph

2798 Commits

Author SHA1 Message Date
Benau
8408a7c158 Merge remote-tracking branch 'origin/master' into colorful_track_object 2016-07-15 09:27:59 +08:00
Deve
93fc20e275 Merge OpenGL ES renderer branch
It adds support for OpenGL ES renderer, which is needed for Android port and for running STK on other embedded devices such as Raspberry Pi.

Currently it works in two ways:
- Shader-based pipeline, which requires OpenGL ES 3.0 (Android >= 4.3)
- Fallback to irrlicht-based fixed pipeline that needs OpenGL ES 2.0. The fixed pipeline generally works, but it is affected by the same issues as our OpenGL 2.1 fixed pipeline renderer.

I tried to modify our OpenGL renderer as little as possible to avoid regressions. The only one major change is that we are now using the "#stk_include" directive in shaders instead of linking multiple shaders into one program.

Currently it works only on linux. The Android port needs some refactoring. In theory it should be possible to make it working on Windows, but we would need some OpenGL ES SDK, or maybe modified libglew.

At this stage it is playable with current mesa drivers. I tested it on intel graphics card and I didn't notice any issues.

On Android only the OpenGL ES 2.0 renderer with fixed pipeline  has been tested for now.
2016-07-14 20:54:30 +02:00
Benau
53374176ad First try to support colorization texture mask 2016-07-15 00:53:22 +08:00
Deve
886382bb54 Merge remote-tracking branch 'origin/master' into gles 2016-07-11 23:43:10 +02:00
Deve
0f7976e5f8 Merge branch 'master' into gles 2016-07-11 23:23:02 +02:00
Benau
19acdad9b4 Replace Ubuntu font with a really free font 2016-07-11 15:52:16 +08:00
Deve
f1effe3208 Revert "Fixed a grass being too dark in some places."
This reverts commit 2b734a9579.
2016-07-09 02:20:06 +02:00
Deve
2b734a9579 Fixed a grass being too dark in some places.
It seems to be an inconsistency in using sRGB rendering.
2016-07-07 01:52:22 +02:00
Deve
04d3bfb9a1 Restore previous version of object pass shader.
This one doesn't have sense at all. We should make sure that uniforms are always initialized in c++ code.
2016-07-05 01:10:53 +02:00
Deve
9ceab23c5f Apply ssao fix from master 2016-06-30 00:50:33 +02:00
Deve
0fb119068b Fixes in more shaders 2016-06-28 21:55:51 +02:00
Benau
22e5c0909c Allow setting color without copying the mesh 2016-06-28 14:55:48 +08:00
Deve
bf54626815 Added missing file 2016-06-27 23:06:48 +02:00
deve
964baad705 Some fixes 2016-06-27 13:39:20 +02:00
deve
d5e30ee41e Port also other shaders to use #stk_include 2016-06-27 13:11:27 +02:00
Benau
892bc490f7 Make shaders run as efficient as possible 2016-06-27 13:49:27 +08:00
Deve
f679078e75 Port some basic shaders to use #stk_include.
Already working race with disabled advanced lighting :)
2016-06-26 16:39:34 +02:00
Benau
8bae12e080 Fix potential warning 2016-06-26 15:52:47 +08:00
Benau
b467d0819d Add a missed shader 2016-06-26 07:16:07 +08:00
Benau
416050a923 Use a more simple way to render red/blue karts 2016-06-26 07:14:11 +08:00
Deve
ce8a1c4e1b Already working GUI in shader-based pipeline 2016-06-25 15:10:53 +02:00
Benau
7e806fe86f Merge remote-tracking branch 'origin/master' into render_kart_driver_differently 2016-06-25 16:31:08 +08:00
Benau
2f217fd55b Allow render red or blue karts in soccer mode using shader 2016-06-25 16:29:54 +08:00
Deve
d13716a917 Initial linux version.
Currently works only with irrlicht-based renderer because shaders are not ported yet.
2016-06-24 02:47:13 +02:00
auria.mg
f90703beb6 Move hardcoded cutscene FOV to a config file 2016-06-23 19:10:56 -04:00
qwertychouskie
c17070209d Fix warning for cards without "Radeon" in string (#2523) 2016-06-21 19:38:44 -04:00
auria.mg
8e886b796a Improve python script that sets translation authors to be able to process all files at once 2016-06-08 19:54:17 -04:00
auria.mg
1469a9e396 Update pot file, slightly breaking string freeze. Sorry about that, better late than never :S 2016-06-07 19:49:33 -04:00
Deve
cc92ee6ef3 One more tweak in SSAO.
Just use mod(x, 6.283185307179586) as suggested by mesa developer, instead converting it to degrees and back to radians.
2016-05-26 11:48:57 +02:00
Deve
cee0de3af3 Fixed a bug in my previous commit.
I forgot that sin and cos functions want angle value in radians.
Now the code looks a bit ugly, but generates proper values.
2016-05-26 02:39:35 +02:00
Deve
cdae595724 Fixed SSAO on intel.
In ssao.frag we are computing theta valaue and it looks that intel driver doesn't like too big values for sinus and cosinus computations.

I just used modulo 360 to store lower angle values in theta variable.
2016-05-25 23:16:01 +02:00
auria.mg
6f36bc5b34 Update changelog and credits 2016-05-18 20:01:21 -04:00
auria.mg
2c6e678929 Add new volcano track 2016-05-18 19:57:09 -04:00
Deve
edfc7d285c Fixed shadows and GI for mesa drivers.
The check for GL_ARB_geometry_shader4 doesn't have sense at all because we don't use this extension and our geometry shaders use functionality which is available in core OpenGL 3.2.

The reason that it wasn't working for older mesa versions must be a bug in mesa or maybe missing other functionality (but not GL_ARB_geometry_shader4).

I checked it with mesa 11.2 and current git version and it works fine on intel, nouveau and with software rendering.

It needs some testing because it potentially affects all drivers with OpenGL >= 3.2 on every platform.

If someone could test it with Radeon drivers, I would be really happy to enable it in upcoming release, at least on linux.
2016-05-18 22:19:31 +02:00
auria.mg
5b2cb52dc5 Add higher-res icon 2016-05-14 21:15:11 -04:00
Deve
58f7424b4f Add a workaround for skybox.
The problem was with shader-based pipeline with disabled "advanced effects" in options.

In this case we don't use RTTs and gl_FragCoord contains values in range of whole window. So fo 2 players we still get gl_FragCoord.y = 0..window_size instead of gl_FragCoord.y = 0..window_size/2.

The easiest way to solve it seems to be modulo it by current viewport size. It should be compatible with advanced pipeline as well as single-player games.

Atm. I'm not sure if this should be applied to 0.9.2 branch. It should work fine, but needs some testing.
2016-05-08 21:39:50 +02:00
qwertychouskie
87f3609b06 Update screenshots and description 2016-05-06 19:50:57 -07:00
Deve
d989ae1d4a Update graphics restrictions for mesa:
- Increase version for sRGB-capable visual workaround because it doesn't look that it will be fixed anytime soon
- Enable compute shaders because it works fine now
- Enable texture compression because it works now too.

Texture compression for intel should work fine also for older versions, but it's hard to say which one version is the first working one.
2016-05-03 21:48:21 +02:00
Deve
62ea873373 Fixed compute shaders on mesa.
It was reporting an error:
[error  ] GLWrap: Error in shader gaussian6h.comp
[error  ] GLWrap: 0:77(1): error: storage qualifiers must come after precise, invariant, interpolation, layout and auxiliary storage qualifiers
2016-05-03 21:48:21 +02:00
hiker
1870691900 Decrease leaning somewhat, and increased leaning speed. 2016-04-27 18:11:57 +10:00
hiker
d90dc8ea37 Removed unused entry. 2016-04-27 17:58:28 +10:00
hiker
30d60acfaf Added freetype to list of software used. 2016-04-27 15:19:00 +10:00
auria.mg
4bc0cccf00 Fix user/login screen layout, fixes #2474 2016-04-25 19:10:56 -04:00
auria.mg
32eba771e2 Tweak GP win and GP lose buttons : translator reported they were too small, and also they were designed for mouse use only and didn't work well from another input device 2016-04-24 18:21:45 -04:00
auria.mg
8c337110a2 Fix text 2016-04-23 09:00:40 -04:00
auria.mg
b6431c3383 Tweak grand prix 2016-04-22 20:44:35 -04:00
auria.mg
cffd0bd00c Fix invalid XML and update translations 2016-04-22 20:28:21 -04:00
auria.mg
ea14dcc1ca Update pot file 2016-04-22 18:59:07 -04:00
auria.mg
1fc99d7948 Add a few more replays + minor text change 2016-04-22 18:55:26 -04:00
auria.mg
5e8168e020 Add a few more stock replays 2016-04-22 18:20:32 -04:00