vincentlj
7778a71c0a
OGL32CTX: Use correct type in coloredquad.frag
...
Spotted by arb debug output too.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@14927 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2014-01-05 18:54:40 +00:00
vincentlj
aad565a9bf
GPUParticles: Use size value so that it doesn't get optimized away
...
Spotted by arb debug output.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@14926 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2014-01-05 18:44:52 +00:00
vincentlj
d28a869444
Fix skybox frag shader
...
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@14920 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2014-01-05 00:08:11 +00:00
vincentlj
fa068d7810
OGL32CTX: Ask #version 130 for all our shaders
...
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@14919 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2014-01-05 00:08:00 +00:00
vincentlj
57d5d658a0
OGL32CTX: Fixes sourcerect in draw2DImage replacement
...
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@14918 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2014-01-04 23:28:59 +00:00
vincentlj
7bb1e671b2
OGL32CTX: Port draw2DRectangle too
...
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@14916 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2014-01-04 22:10:56 +00:00
samuncle
bd69c8c0d7
Add the skybox shader for harvest. For the moment it's still an object in the transparent pass. The object should be in the skybox pass
...
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@14909 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2014-01-04 20:43:18 +00:00
vincentlj
b28044e603
OGL32CTX: Implement a draw2DImage function using shaders.
...
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@14903 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2014-01-04 17:12:30 +00:00
vincentlj
96841f5731
GPUParticles: Avoid particle respawning at too old location.
...
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@14889 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2014-01-02 17:20:26 +00:00
vincentlj
be93478687
GPUParticles: Fix orientation of reemitted particles.
...
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@14875 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2014-01-01 19:13:57 +00:00
vincentlj
a38522da70
GPUParticle: Implement size parameter.
...
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@14862 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2014-01-01 01:11:44 +00:00
vincentlj
1d3a33bf8e
GPUParticles: Use quad instead of POINT_SPRITE
...
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@14861 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2013-12-31 20:39:00 +00:00
vincentlj
9fbd2b19b1
GPUParticle: Implements generic fade out and rework particles lifetime.
...
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@14852 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2013-12-31 17:25:10 +00:00
vincentlj
8670aa86dc
GPUParticle: Fix some parameters not used correctly.
...
Some previous value (like dt) came from debug attempt.
This fixes the particles behind the wheels of the wagon in minel.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@14848 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2013-12-31 00:58:42 +00:00
vincentlj
d4b9ccf499
GPUParticles: Particles don't follow their source.
...
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@14838 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2013-12-30 13:57:55 +00:00
vincentlj
871e2b998b
GPUParticles: Implement softness and use maxangle spread
...
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@14832 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2013-12-29 20:36:21 +00:00
vincentlj
636f6412ab
GPUParticles: Use some parameters, and texture, to display particles.
...
Still not enabled.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@14831 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2013-12-29 19:24:19 +00:00
vincentlj
a2d1a86bac
Lights: Make possible for gpu drivers to unroll loop.
...
GPU doesn't like indirect addressing and thus it's better to have unrolled loop. This is only possible for loop with a static iteration count.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@14830 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2013-12-29 18:37:45 +00:00
vincentlj
4c725ac8f4
GPUParticles: Got PointEmitter to draw something at last.
...
Still WIP, uses a #ifdef to disable it but I wanted to keep a working commit
somewhere in case I mess up somewhere.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@14829 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2013-12-29 18:23:36 +00:00
vincentlj
6d0e6a67b2
PointLight:Fix shader arithmetic type mismatch reported by mesa
...
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@14813 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2013-12-27 17:03:02 +00:00
vincentlj
9826af0747
Rain: Avoid making a draw call that won't be used and make some cleanup
...
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@14811 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2013-12-27 16:37:24 +00:00
vincentlj
053170fc27
Rain: Use transform feedback to decouple simulation from rendering
...
It's the base for a future gpu based particle system
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@14806 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2013-12-27 02:50:25 +00:00
samuncle
cb21815054
Improved the specularity by adding a little offset to the energy
...
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@14805 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2013-12-27 02:41:58 +00:00
samuncle
32a61d770e
Allow kart to use specular map
...
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@14803 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2013-12-27 02:06:08 +00:00
vincentlj
30a030bd4c
Light: Pseudo sort lights distance using bucket to evict them fast.
...
Lower max light level to 16 as it proves sufficient.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@14801 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2013-12-27 00:34:41 +00:00
vincentlj
4d0b9236b2
Lights: improve bandwidth usage
...
It should improve performance a lot, but it handles at most 32 simultaneous lights on screen.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@14800 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2013-12-26 22:55:15 +00:00
vincentlj
4f36e43b14
Fix unexported FragData
...
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@14797 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2013-12-26 18:28:35 +00:00
vincentlj
5512a72d62
Lights: Remove hard edge and attenuate specular
...
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@14796 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2013-12-26 18:00:54 +00:00
samuncle
067564c7cf
A little change to make the SSAO better (IMHO) other opinions are welcome)
...
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@14795 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2013-12-26 02:55:10 +00:00
samuncle
122567f0d3
Increase the max distance of the displacement effect
...
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@14793 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2013-12-26 01:01:12 +00:00
vincentlj
c2b18a0a1c
Light: Export the correct value for specmap in grass/splatting shaders
...
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@14789 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2013-12-25 20:48:27 +00:00
vincentlj
3a6e75b656
Light: Fix skybox bug with specmap and update grass/splatting shader
...
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@14788 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2013-12-25 20:40:14 +00:00
vincentlj
ec3fd4fa13
Light: Support for specularmap
...
The specular map is embedded in the alpha component of texture.
Alpha value of 1. means no specular, alpha of 0. means 100% specular.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@14786 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2013-12-25 20:19:18 +00:00
vincentlj
c9b8734717
Plug-in energy parameter into pointlight shader
...
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@14779 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2013-12-24 23:07:42 +00:00
vincentlj
65b32757f3
Separate Diffuse and Specular components
...
This allows to bypass alpha test, and have colored specular lights.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@14777 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2013-12-24 20:51:53 +00:00
vincentlj
5f23483bd9
Fix some shaders not building with mesa
...
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@14775 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2013-12-24 02:47:33 +00:00
vincentlj
7f51c9737b
Test commit, to be reverted
...
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@14770 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2013-12-24 01:59:35 +00:00
vincentlj
88ac0ba6cf
Attempt to mimic blender light behavior.
...
The attenuation assumes a power distributed on the whole sphere surface.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@14769 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2013-12-24 01:44:40 +00:00
vincentlj
bd52770ceb
SSAO: Avoid sampling outside of RTT_NORMAL_AND_DEPTH textures.
...
It should remove artifact at the edge of the screen.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@14767 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2013-12-24 00:37:58 +00:00
vincentlj
49131c68af
Rain: Fade instead of intersecting geometry
...
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@14765 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2013-12-24 00:33:57 +00:00
vincentlj
f17f8b62cb
SSAO: Use the correct distance for range checking
...
It should remove halo around kart heads.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@14763 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2013-12-23 23:25:14 +00:00
vincentlj
3fc63a9f27
SSAO:Ensure sampled point are inside the unit sphere.
...
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@14760 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2013-12-23 20:25:58 +00:00
vincentlj
a3cc62a985
SSAO: Use a costheta factor to ease transition
...
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@14759 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2013-12-23 20:02:11 +00:00
vincentlj
a9db4c7c3f
Generate random value for SSAO sampling
...
It should improve SSAO at least with grass.
However this make the algorithm even more sensitive to bad normals.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@14758 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2013-12-23 18:14:02 +00:00
vincentlj
34d83859cd
Add support for specular light
...
Note that specular light is applied unconditionnaly, thus every object will shine.
TODO : Specular map should be defined using texture or a material flag.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@14756 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2013-12-23 17:00:34 +00:00
vincentlj
5db6705889
Move SSAO code into renderLight in order to use a lighter rtt (8 bits instead of 32)
...
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@14755 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2013-12-23 17:00:27 +00:00
vincentlj
45db87de8a
Merge normals and depth RTT into a single one
...
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@14754 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2013-12-23 16:59:55 +00:00
vincentlj
07abdebbfa
Add range check for ssao + fix for nvidia
...
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@14748 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2013-12-22 03:03:07 +00:00
auria
c6fd5cde1c
Apply patch by vlj to improve rendering, thanks a lot!
...
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@14739 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2013-12-20 00:11:57 +00:00
samuncle
73f9779324
Animated texture corrected. Thanks to vlj :)
...
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@14738 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2013-12-19 23:58:26 +00:00