Mercurial > love-experiments
diff src/scripts/graphics.lua @ 1131:b3305085b712
Remove love_ScreenSize from shaders.
PixelEffects would fail to load when screen_coords were unused.
Reopens issue #435: "PixelEffects have flipped screen_coords.y".
| author | vrld <vrld@vrld.org> |
|---|---|
| date | Mon, 01 Oct 2012 21:39:52 +0200 |
| parents | 06e20ce294cd |
| children | 448da0a19ddb |
line wrap: on
line diff
--- a/src/scripts/graphics.lua Tue Sep 11 16:11:26 2012 +0200 +++ b/src/scripts/graphics.lua Mon Oct 01 21:39:52 2012 +0200 @@ -1284,21 +1284,20 @@ end -- PIXEL EFFECTS + local GLSL_HEADER_LINE_COUNT = 6 + local GLSL_HEADER = [[#version 120 + #define number float + #define Image sampler2D + #define extern uniform + #define Texel texture2D + uniform sampler2D _tex0_;]] + local GLSL_FOOTER = [[void main() { + // fix weird crashing issue in OSX when _tex0_ is unused within effect() + float dummy = texture2D(_tex0_, vec2(.5)).r; + gl_FragColor = effect(gl_Color, _tex0_, gl_TexCoord[0].xy, gl_FragCoord.xy); + }]] function love.graphics._effectCodeToGLSL(code) - local header = [[#version 120 - #define number float - #define Image sampler2D - #define extern uniform - #define Texel texture2D - uniform sampler2D _tex0_; - uniform vec2 love_ScreenSize;]] - local footer = [[void main() { - // fix weird crashing issue in OSX when _tex0_ is unused within effect() - float dummy = texture2D(_tex0_, vec2(.5)).r; - gl_FragColor = effect(gl_Color, _tex0_, gl_TexCoord[0].xy, love_ScreenSize - gl_FragCoord.xy); - }]] - - return table.concat{header, "\n", code, footer} + return table.concat{GLSL_HEADER, "\n", code, GLSL_FOOTER} end function love.graphics._transformGLSLErrorMessages(message) @@ -1314,7 +1313,8 @@ linenumber, what, message = l:match("^%w+: 0:(%d+):%s*(%w+)%([^%)]+%)%s*(.+)$") end if linenumber and what and message then - lines[#lines+1] = ("Line %d: %s: %s"):format(linenumber - 7, what, message) + linenumber = linenumber - GLSL_HEADER_LINE_COUNT + lines[#lines+1] = ("Line %d: %s: %s"):format(linenumber, what, message) end end -- did not match any known error messages
