diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2016-04-02 12:35:23 +0200 |
---|---|---|
committer | Rémi Verschelde <rverschelde@gmail.com> | 2016-04-02 14:39:08 +0200 |
commit | 23cf6a85bdb904a1833c6015222d9ee69842c1ed (patch) | |
tree | f363b1cf1b6c9deb0549b071514dfc1ee7d5f093 /demos/2d/isometric_light/floor_shader.tres | |
parent | 4eb49cc73241e0597174c4bfdfdddaf96dce86af (diff) |
Port 2D demos to TSCN/TRES formats
Part of #4196.
Diffstat (limited to 'demos/2d/isometric_light/floor_shader.tres')
-rw-r--r-- | demos/2d/isometric_light/floor_shader.tres | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/demos/2d/isometric_light/floor_shader.tres b/demos/2d/isometric_light/floor_shader.tres new file mode 100644 index 0000000000..e8f616cf1f --- /dev/null +++ b/demos/2d/isometric_light/floor_shader.tres @@ -0,0 +1,14 @@ +[gd_resource type="CanvasItemMaterial" load_steps=3 format=1] + +[ext_resource path="res://faceNormal.png" type="Texture" id=1] + +[sub_resource type="CanvasItemShader" id=1] + +_code = { "fragment":"// just pass the normal\n\nuniform texture normal;\nvec2 ywnormal=tex( normal,UV).wy * vec2(2.0,2.0) - vec2(1.0,1.0);\nNORMAL=vec3(ywnormal,sqrt(1 - (ywnormal.x * ywnormal.x) - (ywnormal.y * ywnormal.y) ));\n\n", "fragment_ofs":0, "light":"//the tile half size in pixels\nvec2 tile_vec=vec2(140,70);\nfloat z_scale = 1.0;\n//compute a 3D postion fot thelight\nvec3 light_3d = vec3(-LIGHT_VEC.x,LIGHT_HEIGHT,LIGHT_VEC.y);\n\n//rotate the normal map to the same coordinates as the pseudo 3d ponit\n//this could be optimized\nfloat r = asin(tile_vec.y/tile_vec.x);\nmat3 rot_mat = mat3( vec3(1,0,0), vec3(0,cos(r),-sin(r)), vec3(0,sin(r),cos(r)));\nvec3 n = rot_mat * NORMAL;\nn.y=-n.y;\n\n//compute diffuse light\nfloat dp = max(dot(normalize(n),-normalize(light_3d)),0);\nLIGHT=vec4(vec3(dp),1.0)*COLOR*LIGHT_COLOR;\n", "light_ofs":0, "vertex":"//pass the x1 in local sprite coordinates.\n//the sprite center (small red cross) is 0,0\nVAR1.xy=SRC_VERTEX;", "vertex_ofs":0 } + +[resource] + +shader/shader = SubResource( 1 ) +shader/shading_mode = 0 +shader_param/normal = ExtResource( 1 ) + |