diff options
Diffstat (limited to 'test/dynamic_light')
-rw-r--r-- | test/dynamic_light/config.lua | 7 | ||||
-rw-r--r-- | test/dynamic_light/main.lua | 61 | ||||
-rw-r--r-- | test/dynamic_light/treestump.png | bin | 4518 -> 0 bytes | |||
-rw-r--r-- | test/dynamic_light/treestump_diffuse.png | bin | 581 -> 0 bytes | |||
-rw-r--r-- | test/dynamic_light/treestump_lines.png | bin | 324 -> 0 bytes |
5 files changed, 0 insertions, 68 deletions
diff --git a/test/dynamic_light/config.lua b/test/dynamic_light/config.lua deleted file mode 100644 index cf4d721..0000000 --- a/test/dynamic_light/config.lua +++ /dev/null @@ -1,7 +0,0 @@ -local config = {} - -config.width = 500 -config.height = 400 -config.fps = 60 - -return config diff --git a/test/dynamic_light/main.lua b/test/dynamic_light/main.lua deleted file mode 100644 index 0920687..0000000 --- a/test/dynamic_light/main.lua +++ /dev/null @@ -1,61 +0,0 @@ -local shader = [[ -extern Image diffuse; -extern number mx; -extern number my; - -vec4 effect(vec4 color, Image texture, vec2 texture_coords, vec2 pixel_coords) -{ - vec3 light_vec = vec3(mx ,my,1); - vec3 light_direction = light_vec - vec3(pixel_coords, 0); - float distance = length(light_direction); - light_direction = normalize(light_direction); - - vec3 normal = Texel(texture, texture_coords).xyz; - normal.y = 1 - normal.y; - normal = normalize(mix(vec3(-1), vec3(1), normal)); - - //float attenuation = 1/(7e-5*pow(distance, 2)); - float attenuation = 5000/pow(distance, 2); - //float attenuation = 1; - - float diffuse_term = clamp(attenuation * dot(normal, light_direction), 0.0, 1.0); - - vec3 dark_color = vec3(0.0, 0.0, 1); - //vec3 light_color = vec3(0.6, 0.6, 0.0); - vec3 light_color = vec3(0.8, 0.8, 0.0); - vec3 ambient = mix(dark_color, light_color, diffuse_term) * 0.20; - - // the shaded cel has a light value of 0.5, the light cel has a light value of 1 - float cel_diffuse_term = smoothstep(0.49, 0.52, diffuse_term)/2 + 0.5; - //float cel_diffuse_term = step(0.5, diffuse_term)/2 + 0.5; - - return vec4((cel_diffuse_term * Texel(diffuse, texture_coords).rgb) + ambient, Texel(texture, texture_coords).a); - //return vec4(ambient+Texel(diffuse, texture_coords).rgb/100, Texel(texture, texture_coords).a); - -} -]] - -local jg = jin.graphics -local effect = jg.Shader(shader) -local diffuse = jg.Image("treestump_diffuse.png") -local img = jg.Image("treestump.png") - -jin.core.onEvent = function(e) - if e.type == "quit" then - jin.core.quit() - end -end - -jin.core.onUpdate = function() - local mx, my = jin.mouse.position() - my = 400 - my - effect:send("number", "mx", mx) - effect:send("number", "my", my) -end - -jin.core.onDraw = function() - effect:send("Image", "diffuse", diffuse); - jg.use(effect) - jg.draw(img, 250, 200, 5, 5) - -end diff --git a/test/dynamic_light/treestump.png b/test/dynamic_light/treestump.png Binary files differdeleted file mode 100644 index 45d8d28..0000000 --- a/test/dynamic_light/treestump.png +++ /dev/null diff --git a/test/dynamic_light/treestump_diffuse.png b/test/dynamic_light/treestump_diffuse.png Binary files differdeleted file mode 100644 index 272e6a2..0000000 --- a/test/dynamic_light/treestump_diffuse.png +++ /dev/null diff --git a/test/dynamic_light/treestump_lines.png b/test/dynamic_light/treestump_lines.png Binary files differdeleted file mode 100644 index 293a757..0000000 --- a/test/dynamic_light/treestump_lines.png +++ /dev/null |