diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2018-12-23 17:20:06 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2019-01-11 18:00:23 +0300 |
commit | 9177bb33f68f66609b29e1e53a90552cae8026b3 (patch) | |
tree | 666aacdcceabeadb05c8cb6e890ab84be2a62069 /source/blender/draw/engines/workbench/shaders/workbench_forward_transparent_accum_frag.glsl | |
parent | 1459a7048958de229f35a23a1a760c28a06a5f44 (diff) |
Workbench: Support node texture "closest" interpolation option
This makes it possible to paint pixel art using the workbench.
Cubic interpolation is not supported but could be added if needed.
Diffstat (limited to 'source/blender/draw/engines/workbench/shaders/workbench_forward_transparent_accum_frag.glsl')
-rw-r--r-- | source/blender/draw/engines/workbench/shaders/workbench_forward_transparent_accum_frag.glsl | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/source/blender/draw/engines/workbench/shaders/workbench_forward_transparent_accum_frag.glsl b/source/blender/draw/engines/workbench/shaders/workbench_forward_transparent_accum_frag.glsl index aed86937e0d..93da32dd765 100644 --- a/source/blender/draw/engines/workbench/shaders/workbench_forward_transparent_accum_frag.glsl +++ b/source/blender/draw/engines/workbench/shaders/workbench_forward_transparent_accum_frag.glsl @@ -2,6 +2,7 @@ uniform float ImageTransparencyCutoff = 0.1; uniform sampler2D image; uniform bool imageSrgb; +uniform bool imageNearest; uniform mat4 ProjectionMatrix; uniform mat4 ViewMatrixInverse; @@ -35,13 +36,10 @@ void main() vec4 diffuse_color; #ifdef V3D_SHADING_TEXTURE_COLOR - diffuse_color = texture(image, uv_interp); + diffuse_color = workbench_sample_texture(image, uv_interp, imageSrgb, imageNearest); if (diffuse_color.a < ImageTransparencyCutoff) { discard; } - if (imageSrgb) { - diffuse_color = srgb_to_linearrgb(diffuse_color); - } #else diffuse_color = vec4(materialDiffuseColor, 1.0); #endif /* V3D_SHADING_TEXTURE_COLOR */ |