[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    playground/games/astrododge/data/shaders
From:       Rivo Laks <rivolaks () hot ! ee>
Date:       2008-09-17 16:10:16
Message-ID: 1221667816.335124.20116.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 861933 by rivol:

Better sun rendering (but maybe also a bit slower, not sure)

 M  +17 -8     space.frag  


--- trunk/playground/games/astrododge/data/shaders/space.frag #861932:861933
@@ -3,16 +3,25 @@
 
 void main()
 {
-  vec3 L = normalize(vec3(gl_LightSource[0].position));
-  vec3 V = normalize(viewDir);
+    vec3 L = normalize(vec3(gl_LightSource[0].position));
+    vec3 V = normalize(viewDir);
 
-  vec3 basecolor = vec3(0.1);
-  vec3 suncolor = vec3(6.0, 5.2, 4.0);
+    vec3 basecolor = vec3(0.1);
+    vec3 suncolor = vec3(6.0, 5.2, 4.0);
 
-  vec3 color = basecolor + pow(max(dot(L, V) + 0.0, 0.0), 4.0) * suncolor*0.7;
-    if (dot(L, V) > 0.995) {
-        color = suncolor;
+    vec3 color = basecolor;
+    float dist = 1-dot(L, V);
+
+    const float sunsize = 0.004;
+    const float coronasize = 0.4;
+    const float coronastrength = 0.3;
+
+    if (dist < sunsize) {
+        color += suncolor;
+    } else if (dist < sunsize+coronasize) {
+        float f = (sunsize+coronasize - dist) / coronasize;
+        color += suncolor * coronastrength * f*f*f*f;
     }
 
-  gl_FragColor = vec4(color, 1.0);
+    gl_FragColor = vec4(color, 1.0);
 }
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic