Bläddra i källkod

Update 01-physics

Daniele Bartolini 10 år sedan
förälder
incheckning
eaa0afd79e

+ 18 - 75
samples/01-physics/core/shaders/default.shader

@@ -27,8 +27,8 @@ render_states = {
 		rgb_write_enable = true
 		alpha_write_enable = true
 		depth_func = "lequal"
-		depth_enable = true
-		depth_write_enable = true
+		depth_enable = false
+		depth_write_enable = false
 		blend_enable = true
 		blend_src = "src_alpha"
 		blend_dst = "inv_src_alpha"
@@ -219,7 +219,9 @@ bgfx_shaders = {
 
 		fs_code =
 		"
+			#ifdef DIFFUSE_MAP
 			SAMPLER2D(u_albedo, 0);
+			#endif // DIFFUSE_MAP
 
 			uniform vec4 u_light_pos; // In world-space
 			uniform vec4 u_light_dir; // In view-space
@@ -238,70 +240,11 @@ bgfx_shaders = {
 				float intensity = max(0.0f, dot(n, u_light_dir.xyz));
 
 				vec4 colorOut = max(intensity * (u_diffuse * u_light_col), u_ambient);
+			#ifdef DIFFUSE_MAP
 				gl_FragColor = colorOut * texture2D(u_albedo, v_uv0);
-			}
-		"
-	}
-
-	mesh_unlit = {
-		includes = "common"
-
-		varying =
-		"
-			vec3 v_normal    : NORMAL    = vec3(0.0, 0.0, 0.0);
-			vec4 v_view      : TEXCOORD0 = vec4(0.0, 0.0, 0.0, 0.0);
-			vec2 v_uv0       : TEXCOORD1 = vec2(0.0, 0.0);
-
-			vec3 a_position  : POSITION;
-			vec3 a_normal    : NORMAL;
-			vec2 a_texcoord0 : TEXCOORD0;
-		"
-
-		vs_input_output =
-		"
-			$input a_position, a_normal, a_texcoord0
-			$output v_normal, v_view, v_uv0
-		"
-
-		vs_code =
-		"
-			void main()
-			{
-				gl_Position = mul(u_modelViewProj, vec4(a_position, 1.0));
-				v_view = mul(u_modelView, vec4(a_position, 1.0));
-				v_normal = normalize(mul(u_modelView, vec4(a_normal, 0.0)).xyz);
-
-				v_uv0 = a_texcoord0;
-			}
-		"
-
-		fs_input_output =
-		"
-			$input v_normal, v_view, v_uv0
-		"
-
-		fs_code =
-		"
-			SAMPLER2D(u_albedo, 0);
-
-			uniform vec4 u_light_pos; // In world-space
-			uniform vec4 u_light_dir; // In view-space
-			uniform vec4 u_light_col;
-
-			uniform vec4 u_ambient  = vec4(0.5f, 0.5f, 0.5f, 0.0f);
-			uniform vec4 u_diffuse  = vec4(1.0f, 1.0f, 1.0f, 0.0f);
-			uniform vec4 u_specular = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-
-			void main()
-			{
-				// normalize both input vectors
-				vec3 n = normalize(v_normal);
-				vec3 e = normalize(v_view.xyz);
-
-				float intensity = max(0.0f, dot(n, u_light_dir.xyz));
-
-				vec4 colorOut = max(intensity * (u_diffuse * u_light_col), u_ambient);
-				gl_FragColor = texture2D(u_albedo, v_uv0);
+			#else
+				gl_FragColor = colorOut;
+			#endif // DIFFUSE_MAP
 			}
 		"
 	}
@@ -332,14 +275,14 @@ shaders = {
 		bgfx_shader = "mesh"
 		render_state = "mesh"
 	}
-
-	mesh_notexture = {
-		bgfx_shader = "mesh"
-		render_state = "mesh"
-	}
-
-	mesh_unlit = {
-		bgfx_shader = "mesh_unlit"
-		render_state = "mesh"
-	}
 }
+
+static_compile = [
+	{ shader = "debug_line" defines = [] }
+	{ shader = "debug_line_noz" defines = [] }
+	{ shader = "gui" defines = [] }
+	{ shader = "gui" defines = ["DIFFUSE_MAP"]}
+	{ shader = "sprite" defines = [] }
+	{ shader = "mesh" defines = [] }
+	{ shader = "mesh" defines = ["DIFFUSE_MAP"] }
+]

+ 2 - 2
samples/01-physics/core/units/primitives/primitive.material

@@ -1,4 +1,4 @@
-shader = "mesh_notexture"
+shader = "mesh"
 
 textures = {
 }
@@ -8,4 +8,4 @@ uniforms = {
 	u_diffuse = { type = "vector4" value = [1.0, 1.0, 1.0, 0.0 ] }
 	u_specular = { type = "vector4" value = [0.0, 0.0, 0.0, 0.0 ] }
 	u_shininess = { type = "float" value = 0.0 }
-}
+}

+ 1 - 1
samples/01-physics/grid.material

@@ -1,4 +1,4 @@
-shader = "mesh"
+shader = "mesh+DIFFUSE_MAP"
 
 textures = {
 	u_albedo = "grid"

+ 1 - 1
samples/01-physics/notexture.material

@@ -1,4 +1,4 @@
-shader = "mesh_notexture"
+shader = "mesh"
 
 textures = {
 }

+ 1 - 1
samples/01-physics/skydome.material

@@ -1,4 +1,4 @@
-shader = "mesh_unlit"
+shader = "mesh+DIFFUSE_MAP"
 
 textures = {
 	u_albedo = "skydome"