[Orxonox-commit 4739] r9408 - in data/trunk: materials programs

davidsa at orxonox.net davidsa at orxonox.net
Sun Oct 21 17:49:55 CEST 2012


Author: davidsa
Date: 2012-10-21 17:49:55 +0200 (Sun, 21 Oct 2012)
New Revision: 9408

Added:
   data/trunk/materials/glow.material
   data/trunk/programs/ps_glow.cg
   data/trunk/programs/vs_glow.cg
Log:
Added: rudimentary stencil outline glow shader, very basic and looks pretty ugly, but good enough to test stencil buffer functionality

Added: data/trunk/materials/glow.material
===================================================================
--- data/trunk/materials/glow.material	                        (rev 0)
+++ data/trunk/materials/glow.material	2012-10-21 15:49:55 UTC (rev 9408)
@@ -0,0 +1,83 @@
+vertex_program glow_vs cg
+{
+	source vs_glow.cg
+	entry_point main
+	profiles vs_1_1 arbvp1
+}
+
+fragment_program glow_ps cg
+{
+	source ps_glow.cg
+	entry_point main
+	profiles ps_2_0 arbfp1	
+}
+
+
+material glow
+{
+	technique
+	{
+		pass
+		{
+			scene_blend alpha_blend
+			depth_check on
+			lighting off
+                        emissive 1.0 1.0 0.0 0.0
+			
+			vertex_program_ref glow_vs
+			{
+				param_named_auto worldViewProjMatrix worldviewproj_matrix
+				param_named size_value float 1.1
+				param_named_auto time time_0_x 100
+			}
+			
+			fragment_program_ref glow_ps
+			{
+				param_named alpha_value float 0.4
+				param_named_auto time time_0_x 100
+                                param_named_auto color surface_emissive_colour
+			}
+		}
+		
+	}
+}
+
+material glow/drone
+{
+        technique
+        {
+                pass
+                {
+                        scene_blend alpha_blend
+                        depth_check on
+                        lighting off
+
+                        texture_unit
+                        {
+                                texture drone.png
+                        }
+                }
+                pass
+                {
+                        scene_blend alpha_blend
+                        depth_check on
+                        lighting off
+                        emissive 0.5 0.9 1.0 0.0
+
+                        vertex_program_ref glow_vs
+                        {
+                                param_named_auto worldViewProjMatrix worldviewproj_matrix
+                                param_named size_value float 0.2
+                                param_named_auto time time_0_x 50
+                        }
+                        
+                        fragment_program_ref glow_ps
+                        {
+                                param_named alpha_value float 0.4
+                                param_named_auto time time_0_x 50
+                                param_named_auto color surface_emissive_colour
+                        }
+                }
+                
+        }
+}
\ No newline at end of file

Added: data/trunk/programs/ps_glow.cg
===================================================================
--- data/trunk/programs/ps_glow.cg	                        (rev 0)
+++ data/trunk/programs/ps_glow.cg	2012-10-21 15:49:55 UTC (rev 9408)
@@ -0,0 +1,5 @@
+float4 main(uniform float alpha_value, uniform float time, uniform float4 color) : COLOR
+{
+    color.w =  alpha_value * ((sin(time * 5.0) / 3.14 + 1.0) / 2.0 );
+    return color;
+}

Added: data/trunk/programs/vs_glow.cg
===================================================================
--- data/trunk/programs/vs_glow.cg	                        (rev 0)
+++ data/trunk/programs/vs_glow.cg	2012-10-21 15:49:55 UTC (rev 9408)
@@ -0,0 +1,8 @@
+void main(float4 position : POSITION, float3 normal : NORMAL, float2 uv : TEXCOORD0, out float4 oPosition : POSITION, out float2 oUv : TEXCOORD0, out float4 colour : COLOR,
+          uniform float4x4 worldViewProjMatrix, uniform float size_value, uniform float time )
+{
+   float4 myPosition = position;
+   myPosition.xyz += size_value * (1.0 + (sin(time * 5.0) + 1.0)  / 5.0 ) * normal; 
+   oPosition = mul(worldViewProjMatrix, myPosition);
+}
+




More information about the Orxonox-commit mailing list