diff --git a/Nasal/canvas/api.nas b/Nasal/canvas/api.nas index c6afbf777..2087254c6 100644 --- a/Nasal/canvas/api.nas +++ b/Nasal/canvas/api.nas @@ -701,12 +701,34 @@ var Path = { } }; +# Image +# ============================================================================== +# Class for an image element on a canvas +# +var Image = { + new: func(parent, id) + { + var m = { + parents: [Image, Element.new(parent, "image", id, arg)] + }; + m.color = _createColorNodes(m._node, "color"); + m.sourceRect = m._node.getNode("source", 1); + return m; + }, + + setFile: func(file) + { + me.set("file", file); + } +}; + # Element factories used by #Group elements to create children Group._element_factories = { "group": Group.new, "map": Map.new, "text": Text.new, - "path": Path.new + "path": Path.new, + "image": Image.new }; # Canvas diff --git a/Shaders/cinema.frag b/Shaders/cinema.frag index a1ab1bf85..d3033f078 100644 --- a/Shaders/cinema.frag +++ b/Shaders/cinema.frag @@ -59,7 +59,7 @@ void main() { vec3 dirt = vec3(1.0); if (filmWear) { - dirt = texture2D(film_tex, initialCoords + vec2(0.0, osg_SimulationTime * 7.7)).rgb; + dirt = texture2D(film_tex, initialCoords*vec2( 1.0, fg_BufferSize.y / fg_BufferSize.x ) + vec2(0.0, osg_SimulationTime * 7.7)).rgb; } vec4 color = texture2D( lighting_tex, c1 );