The variable layer editing shader was made OpenGL 2.0 compatible.
Fixed a bug in the scaling of colors for the variable layer editing.
This commit is contained in:
parent
006173342c
commit
8aae5bdb28
@ -1700,8 +1700,8 @@ void main()
|
|||||||
float lod = clamp(0.5 * log2(max(dx_vtc*dx_vtc, dy_vtc*dy_vtc)), 0., 1.);
|
float lod = clamp(0.5 * log2(max(dx_vtc*dx_vtc, dy_vtc*dy_vtc)), 0., 1.);
|
||||||
// Sample the Z texture. Texture coordinates are normalized to <0, 1>.
|
// Sample the Z texture. Texture coordinates are normalized to <0, 1>.
|
||||||
vec4 color =
|
vec4 color =
|
||||||
(1. - lod) * texture2DLod(z_texture, vec2(z_texture_col, z_texture_row_to_normalized * (z_texture_row + 0.5 )), 0.) +
|
(1. - lod) * texture2D(z_texture, vec2(z_texture_col, z_texture_row_to_normalized * (z_texture_row + 0.5 )), -10000.) +
|
||||||
lod * texture2DLod(z_texture, vec2(z_texture_col, z_texture_row_to_normalized * (z_texture_row * 2. + 1.)), 1.);
|
lod * texture2D(z_texture, vec2(z_texture_col, z_texture_row_to_normalized * (z_texture_row * 2. + 1.)), 10000.);
|
||||||
// Mix the final color.
|
// Mix the final color.
|
||||||
gl_FragColor =
|
gl_FragColor =
|
||||||
vec4(intensity_specular, intensity_specular, intensity_specular, 1.) +
|
vec4(intensity_specular, intensity_specular, intensity_specular, 1.) +
|
||||||
|
@ -657,7 +657,7 @@ int generate_layer_height_texture(
|
|||||||
cell_first = clamp(0, ncells1-1, int(ceil(lo * z_to_cell1)));
|
cell_first = clamp(0, ncells1-1, int(ceil(lo * z_to_cell1)));
|
||||||
cell_last = clamp(0, ncells1-1, int(floor(hi * z_to_cell1)));
|
cell_last = clamp(0, ncells1-1, int(floor(hi * z_to_cell1)));
|
||||||
for (int cell = cell_first; cell <= cell_last; ++ cell) {
|
for (int cell = cell_first; cell <= cell_last; ++ cell) {
|
||||||
coordf_t idxf = (0.5 * hscale + (h - slicing_params.layer_height)) * coordf_t(palette_raw.size()) / hscale;
|
coordf_t idxf = (0.5 * hscale + (h - slicing_params.layer_height)) * coordf_t(palette_raw.size()-1) / hscale;
|
||||||
int idx1 = clamp(0, int(palette_raw.size() - 1), int(floor(idxf)));
|
int idx1 = clamp(0, int(palette_raw.size() - 1), int(floor(idxf)));
|
||||||
int idx2 = std::min(int(palette_raw.size() - 1), idx1 + 1);
|
int idx2 = std::min(int(palette_raw.size() - 1), idx1 + 1);
|
||||||
coordf_t t = idxf - coordf_t(idx1);
|
coordf_t t = idxf - coordf_t(idx1);
|
||||||
|
Loading…
Reference in New Issue
Block a user