Commit Graph

1675 Commits

Author SHA1 Message Date
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
deveee
8b76971a54 Minor changes in soccer setup gui
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@14752 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2013-12-22 17:44:09 +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
deveee
1a2d26b894 - Fixed crash when goal is scored after time limit
- Set time max value to 15 - playing one game 45 minutes doesn't have a sense
- Remember time value in user config
- Little beter look of soccer setup
- Set goal-limit mode as default

git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@14743 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2013-12-21 17:04:46 +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