Returned changes for 'Fix Randomize gradient floating point error'
because of unexpected side effect. Worked around the problem another way
This commit is contained in:
parent
44b1608ce0
commit
1a98ff484b
@ -65,14 +65,18 @@ var
|
|||||||
hsv: array[0..2] of double;
|
hsv: array[0..2] of double;
|
||||||
pal: TColorMap;
|
pal: TColorMap;
|
||||||
begin
|
begin
|
||||||
|
rgb[0] := 0;
|
||||||
|
rgb[1] := 0;
|
||||||
|
rgb[2] := 0;
|
||||||
|
|
||||||
inc(MainSeed);
|
inc(MainSeed);
|
||||||
RandSeed := Mainseed;
|
RandSeed := Mainseed;
|
||||||
nodes := random((MaxNodes - 1) - (MinNodes - 2)) + (MinNodes - 1);
|
nodes := random((MaxNodes - 1) - (MinNodes - 2)) + (MinNodes - 1);
|
||||||
n := 256 div nodes;
|
n := 256 div nodes;
|
||||||
b := 0;
|
b := 0;
|
||||||
hsv[0] := (random(MaxHue - (MinHue - 1)) + MinHue) / 100;
|
hsv[0] := 0.01 * (random(MaxHue - (MinHue - 1)) + MinHue);
|
||||||
hsv[1] := (random(MaxSat - (MinSat - 1)) + MinSat) / 100;
|
hsv[1] := 0.01 * (random(MaxSat - (MinSat - 1)) + MinSat);
|
||||||
hsv[2] := (random(MaxLum - (MinLum - 1)) + MinLum) / 100;
|
hsv[2] := 0.01 * (random(MaxLum - (MinLum - 1)) + MinLum);
|
||||||
hsv2rgb(hsv, rgb);
|
hsv2rgb(hsv, rgb);
|
||||||
Pal[0][0] := Round(rgb[0] * 255);
|
Pal[0][0] := Round(rgb[0] * 255);
|
||||||
Pal[0][1] := Round(rgb[1] * 255);
|
Pal[0][1] := Round(rgb[1] * 255);
|
||||||
@ -80,9 +84,9 @@ begin
|
|||||||
repeat
|
repeat
|
||||||
a := b;
|
a := b;
|
||||||
b := b + n;
|
b := b + n;
|
||||||
hsv[0] := (random(MaxHue - (MinHue - 1)) + MinHue) / 100;
|
hsv[0] := 0.01 * (random(MaxHue - (MinHue - 1)) + MinHue);
|
||||||
hsv[1] := (random(MaxSat - (MinSat - 1)) + MinSat) / 100;
|
hsv[1] := 0.01 * (random(MaxSat - (MinSat - 1)) + MinSat);
|
||||||
hsv[2] := (random(MaxLum - (MinLum - 1)) + MinLum) / 100;
|
hsv[2] := 0.01 * (random(MaxLum - (MinLum - 1)) + MinLum);
|
||||||
hsv2rgb(hsv, rgb);
|
hsv2rgb(hsv, rgb);
|
||||||
if b > 255 then b := 255;
|
if b > 255 then b := 255;
|
||||||
Pal[b][0] := Round(rgb[0] * 255);
|
Pal[b][0] := Round(rgb[0] * 255);
|
||||||
|
@ -83,11 +83,12 @@ var
|
|||||||
f, p, q, t, v: double;
|
f, p, q, t, v: double;
|
||||||
begin
|
begin
|
||||||
try
|
try
|
||||||
rgb[0] := 0;
|
// rgb[0] := 0;
|
||||||
rgb[1] := 0;
|
// rgb[1] := 0;
|
||||||
rgb[2] := 0;
|
// rgb[2] := 0;
|
||||||
|
|
||||||
j := floor(hsv[0]);
|
j := floor(hsv[0]);
|
||||||
|
|
||||||
f := hsv[0] - j;
|
f := hsv[0] - j;
|
||||||
v := hsv[2];
|
v := hsv[2];
|
||||||
p := hsv[2] * (1 - hsv[1]);
|
p := hsv[2] * (1 - hsv[1]);
|
||||||
|
Loading…
Reference in New Issue
Block a user