fixed problem with rotated flames
This commit is contained in:
parent
e6423e4f5d
commit
8b0e9e46c2
@ -55,8 +55,8 @@ type
|
|||||||
filter_width: Integer;
|
filter_width: Integer;
|
||||||
filter: array of array of extended;
|
filter: array of array of extended;
|
||||||
|
|
||||||
image_Width: Integer;
|
image_Width: Int64;
|
||||||
image_Height: Integer;
|
image_Height: Int64;
|
||||||
BucketWidth: Integer;
|
BucketWidth: Integer;
|
||||||
BucketHeight: Integer;
|
BucketHeight: Integer;
|
||||||
BucketSize: Integer;
|
BucketSize: Integer;
|
||||||
@ -74,6 +74,7 @@ type
|
|||||||
|
|
||||||
bounds: array[0..3] of extended;
|
bounds: array[0..3] of extended;
|
||||||
size: array[0..1] of extended;
|
size: array[0..1] of extended;
|
||||||
|
FRotationCenter: array[0..1] of extended;
|
||||||
ppux, ppuy: extended;
|
ppux, ppuy: extended;
|
||||||
nrSlices: int64;
|
nrSlices: int64;
|
||||||
Slice: int64;
|
Slice: int64;
|
||||||
@ -350,14 +351,14 @@ begin
|
|||||||
if FStop then
|
if FStop then
|
||||||
Exit;
|
Exit;
|
||||||
|
|
||||||
px := points[i].x - FCP.Center[0];
|
px := points[i].x - FRotationCenter[0];
|
||||||
py := points[i].y - FCP.Center[1];
|
py := points[i].y - FRotationCenter[1];
|
||||||
|
|
||||||
nx := px * ca + py * sa;
|
nx := px * ca + py * sa;
|
||||||
ny := -px * sa + py * ca;
|
ny := -px * sa + py * ca;
|
||||||
|
|
||||||
px := nx + FCP.Center[0] - bx;
|
px := nx + FRotationCenter[0] - bx;
|
||||||
py := ny + FCP.Center[1] - by;
|
py := ny + FRotationCenter[1] - by;
|
||||||
|
|
||||||
if ((px < 0) or (px > wx) or
|
if ((px < 0) or (px > wx) or
|
||||||
(py < 0) or (py > wy)) then
|
(py < 0) or (py > wy)) then
|
||||||
@ -413,7 +414,6 @@ end;
|
|||||||
procedure TRendererMM64.CreateBMFromBuckets(YOffset: Integer);
|
procedure TRendererMM64.CreateBMFromBuckets(YOffset: Integer);
|
||||||
var
|
var
|
||||||
i, j: integer;
|
i, j: integer;
|
||||||
|
|
||||||
alpha: double;
|
alpha: double;
|
||||||
// r,g,b: double;
|
// r,g,b: double;
|
||||||
ai, ri, gi, bi: Integer;
|
ai, ri, gi, bi: Integer;
|
||||||
@ -600,6 +600,9 @@ var
|
|||||||
begin
|
begin
|
||||||
FStop := False;
|
FStop := False;
|
||||||
|
|
||||||
|
FRotationCenter[0] := fcp.center[0];
|
||||||
|
FRotationCenter[1] := fcp.center[1];
|
||||||
|
|
||||||
image_height := fcp.Height;
|
image_height := fcp.Height;
|
||||||
image_Width := fcp.Width;
|
image_Width := fcp.Width;
|
||||||
oversample := fcp.spatial_oversample;
|
oversample := fcp.spatial_oversample;
|
||||||
|
Loading…
Reference in New Issue
Block a user