Commit: 42f2ec08d295557b45231aea49be0884df7c3820 Author: Antonio Vazquez Date: Thu Feb 22 18:35:09 2018 +0100 Branches: greasepencil-object https://developer.blender.org/rB42f2ec08d295557b45231aea49be0884df7c3820
Fix error in VFX Pixelate modifier The location must be multiplied by ModelViewProjection matrix. =================================================================== M source/blender/draw/engines/gpencil/shaders/gpencil_pixel_frag.glsl =================================================================== diff --git a/source/blender/draw/engines/gpencil/shaders/gpencil_pixel_frag.glsl b/source/blender/draw/engines/gpencil/shaders/gpencil_pixel_frag.glsl index 5a5310f7b9e..a109ea88613 100644 --- a/source/blender/draw/engines/gpencil/shaders/gpencil_pixel_frag.glsl +++ b/source/blender/draw/engines/gpencil/shaders/gpencil_pixel_frag.glsl @@ -1,3 +1,4 @@ +uniform mat4 ModelViewProjectionMatrix; uniform mat4 ProjectionMatrix; uniform mat4 ViewMatrix; @@ -22,10 +23,11 @@ vec2 nsize = max(size, 3.0); void main() { vec2 uv = vec2(gl_FragCoord.xy); + vec4 nloc = ModelViewProjectionMatrix * vec4(loc, 1.0); - float dx = (ProjectionMatrix[3][3] == 0.0) ? (nsize[0] / (loc.z * defaultpixsize)) : (nsize[0] / defaultpixsize); - float dy = (ProjectionMatrix[3][3] == 0.0) ? (nsize[1] / (loc.z * defaultpixsize)) : (nsize[1] / defaultpixsize); - + float dx = (ProjectionMatrix[3][3] == 0.0) ? (nsize[0] / (nloc.z * defaultpixsize)) : (nsize[0] / defaultpixsize); + float dy = (ProjectionMatrix[3][3] == 0.0) ? (nsize[1] / (nloc.z * defaultpixsize)) : (nsize[1] / defaultpixsize); + dx = max(abs(dx), 3.0); dy = max(abs(dy), 3.0); _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org https://lists.blender.org/mailman/listinfo/bf-blender-cvs