Renderer splitup completed
This commit is contained in:
@ -29,19 +29,19 @@ type
|
||||
|
||||
type
|
||||
TColorMapColor = Record
|
||||
Red : Integer;
|
||||
Green: Integer;
|
||||
Blue : Integer;
|
||||
Red : Int64;
|
||||
Green: Int64;
|
||||
Blue : Int64;
|
||||
// Count: Integer;
|
||||
end;
|
||||
PColorMapColor = ^TColorMapColor;
|
||||
TColorMapArray = array[0..255] of TColorMapColor;
|
||||
|
||||
TBucket = Record
|
||||
Red : Integer;
|
||||
Green: Integer;
|
||||
Blue : Integer;
|
||||
Count: Integer;
|
||||
Red : Int64;
|
||||
Green: Int64;
|
||||
Blue : Int64;
|
||||
Count: Int64;
|
||||
end;
|
||||
PBucket = ^TBucket;
|
||||
TBucketArray = array of TBucket;
|
||||
@ -51,15 +51,15 @@ type
|
||||
private
|
||||
bm: TBitmap;
|
||||
|
||||
oversample: Integer;
|
||||
oversample: Int64;
|
||||
filter_width: Integer;
|
||||
filter: array of array of extended;
|
||||
|
||||
image_Width: Integer;
|
||||
image_Height: Integer;
|
||||
BucketWidth: Integer;
|
||||
BucketHeight: Integer;
|
||||
BucketSize: Integer;
|
||||
BucketWidth: Int64;
|
||||
BucketHeight: Int64;
|
||||
BucketSize: Int64;
|
||||
gutter_width: Integer;
|
||||
|
||||
sample_density: extended;
|
||||
@ -358,7 +358,7 @@ end;
|
||||
procedure TRenderer64.SetPixels;
|
||||
var
|
||||
i: integer;
|
||||
nsamples: Integer;
|
||||
nsamples: Int64;
|
||||
nrbatches: Integer;
|
||||
points: TPointsArray;
|
||||
begin
|
||||
@ -372,8 +372,8 @@ begin
|
||||
if FStop then
|
||||
Exit;
|
||||
|
||||
if (i and $F = 0) and assigned(FOnProgress) then
|
||||
FOnProgress(i / nrbatches);
|
||||
if (i and $F = 0) then
|
||||
Progress(i / nrbatches);
|
||||
|
||||
// generate points
|
||||
case Compatibility of
|
||||
@ -387,8 +387,7 @@ begin
|
||||
AddPointsToBucketsAngle(points);
|
||||
end;
|
||||
|
||||
if assigned(FOnProgress) then
|
||||
FOnProgress(1);
|
||||
Progress(1);
|
||||
end;
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
@ -456,8 +455,7 @@ begin
|
||||
if FStop then
|
||||
Break;
|
||||
|
||||
if assigned(FOnProgress) then
|
||||
FOnProgress(i / Image_Height);
|
||||
Progress(i / Image_Height);
|
||||
|
||||
Row := PLongintArray(bm.scanline[YOffset + i]);
|
||||
for j := 0 to Image_Width - 1 do begin
|
||||
@ -539,7 +537,7 @@ begin
|
||||
else if (bi > 255) then
|
||||
bi := 255;
|
||||
|
||||
Row[j] := RGB(bi, gi, ri);
|
||||
Row[j] := RGB(bi, gi, ri) + (ai shl 24);
|
||||
end;
|
||||
|
||||
Inc(bucketpos, 2 * gutter_width);
|
||||
@ -547,8 +545,7 @@ begin
|
||||
end;
|
||||
bm.PixelFormat := pf24bit;
|
||||
|
||||
if assigned(FOnProgress) then
|
||||
FOnProgress(1);
|
||||
Progress(1);
|
||||
end;
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
Reference in New Issue
Block a user