Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClément Foucault <foucault.clem@gmail.com>2018-12-23 17:20:06 +0300
committerClément Foucault <foucault.clem@gmail.com>2019-01-11 18:00:23 +0300
commit9177bb33f68f66609b29e1e53a90552cae8026b3 (patch)
tree666aacdcceabeadb05c8cb6e890ab84be2a62069 /source/blender/draw/engines/workbench/shaders/workbench_forward_transparent_accum_frag.glsl
parent1459a7048958de229f35a23a1a760c28a06a5f44 (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.glsl6
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 */