Changeset View
Changeset View
Standalone View
Standalone View
source/blender/draw/engines/overlay/shaders/paint_vertcol_vert.glsl
- This file was moved from source/blender/draw/modes/shaders/paint_vertex_vert.glsl.
| in vec3 pos; | in vec3 pos; | ||||
| in vec3 ac; /* active color */ | in vec3 ac; /* active color */ | ||||
| out vec3 finalColor; | out vec3 finalColor; | ||||
| vec3 srgb_to_linear_attr(vec3 c) | vec3 srgb_to_linear_attr(vec3 c) | ||||
| { | { | ||||
| c = max(c, vec3(0.0)); | c = max(c, vec3(0.0)); | ||||
| vec3 c1 = c * (1.0 / 12.92); | vec3 c1 = c * (1.0 / 12.92); | ||||
| vec3 c2 = pow((c + 0.055) * (1.0 / 1.055), vec3(2.4)); | vec3 c2 = pow((c + 0.055) * (1.0 / 1.055), vec3(2.4)); | ||||
| return mix(c1, c2, step(vec3(0.04045), c)); | return mix(c1, c2, step(vec3(0.04045), c)); | ||||
| } | } | ||||
| void main() | void main() | ||||
| { | { | ||||
| GPU_INTEL_VERTEX_SHADER_WORKAROUND | |||||
| vec3 world_pos = point_object_to_world(pos); | vec3 world_pos = point_object_to_world(pos); | ||||
| gl_Position = point_world_to_ndc(world_pos); | gl_Position = point_world_to_ndc(world_pos); | ||||
| finalColor = srgb_to_linear_attr(ac); | finalColor = srgb_to_linear_attr(ac); | ||||
| #ifdef USE_WORLD_CLIP_PLANES | #ifdef USE_WORLD_CLIP_PLANES | ||||
| world_clip_planes_calc_clip_distance(world_pos); | world_clip_planes_calc_clip_distance(world_pos); | ||||
| #endif | #endif | ||||
| } | } | ||||