Differential D6287 Diff 19841 source/blender/gpu/shaders/material/gpu_shader_material_tex_image.glsl
Changeset View
Changeset View
Standalone View
Standalone View
source/blender/gpu/shaders/material/gpu_shader_material_tex_image.glsl
| Show First 20 Lines • Show All 61 Lines • ▼ Show 20 Lines | |||||
| void node_tex_image_nearest(vec3 co, sampler2D ima, out vec4 color, out float alpha) | void node_tex_image_nearest(vec3 co, sampler2D ima, out vec4 color, out float alpha) | ||||
| { | { | ||||
| ivec2 pix = ivec2(fract(co.xy) * textureSize(ima, 0).xy); | ivec2 pix = ivec2(fract(co.xy) * textureSize(ima, 0).xy); | ||||
| color = safe_color(texelFetch(ima, pix, 0)); | color = safe_color(texelFetch(ima, pix, 0)); | ||||
| alpha = color.a; | alpha = color.a; | ||||
| } | } | ||||
| /* @arg f: signed distance to texel center. */ | /** \param f: Signed distance to texel center. */ | ||||
| void cubic_bspline_coefs(vec2 f, out vec2 w0, out vec2 w1, out vec2 w2, out vec2 w3) | void cubic_bspline_coefs(vec2 f, out vec2 w0, out vec2 w1, out vec2 w2, out vec2 w3) | ||||
| { | { | ||||
| vec2 f2 = f * f; | vec2 f2 = f * f; | ||||
| vec2 f3 = f2 * f; | vec2 f3 = f2 * f; | ||||
| /* Bspline coefs (optimized) */ | /* Bspline coefs (optimized) */ | ||||
| w3 = f3 / 6.0; | w3 = f3 / 6.0; | ||||
| w0 = -w3 + f2 * 0.5 - f * 0.5 + 1.0 / 6.0; | w0 = -w3 + f2 * 0.5 - f * 0.5 + 1.0 / 6.0; | ||||
| w1 = f3 * 0.5 - f2 * 1.0 + 2.0 / 3.0; | w1 = f3 * 0.5 - f2 * 1.0 + 2.0 / 3.0; | ||||
| ▲ Show 20 Lines • Show All 277 Lines • Show Last 20 Lines | |||||