Class animation__3D (unit Animation_3D) |
Inherits from
TObject
constructor create(nf,ppf:integer; dest:TWinControl);
- ///////////////////////////////////////////////////////////////////////////// Animation base class (Abstract object) // /////////////////////////////////////////////////////////////////////////////
procedure activate(onoff:boolean);
enable/disable and timer stuff///////////////////////// Timer stuff /////////////////////////
procedure animate_palette(num:integer);
procedure calc_rotation(x,y,z:integer);
procedure compute_frame;
procedure Copy_to_screen;
procedure create_drawing_surface(w,h:integer);
screen stuff///////////////////////// Screen stuff /////////////////////////
destructor Destroy;
Timer.
procedure draw_frame(dest_DC:HDC);
procedure fill_palette_from_screen_colours(use_cols:integer);
function GetPalette : HPalette;
procedure setup_initial_state(i1,i2:integer);
initializtion and computation///////////////////////// Init & computation /////////////////////////
procedure setup_morphing_constants;
are we currently pausing between frames
procedure set_frame_speed(fps_:double);
procedure set_interframepause(d:integer);
procedure set_morphsteps(d:integer);
procedure set_offset(x,y,z:double);
ints for lookup tables ints for lookup tables
procedure set_palette_cycle(pc:integer);
procedure set_rot_speed(x,y,z:integer);
Getters and Setters///////////////////////// getters and setters /////////////////////////
procedure set_scale(x,y:double);
procedure Timer_event;
function TransformPoint(x,y,z:double) : TPoint;
unrolled matrix multiply unrolled matrix multiply
procedure update_frame_counters;
active : boolean;
callback : TNotifyEvent;
colours : integer;
palette variables
coloursm1 : integer;
data : pPointArray;
destination : TWinControl;
DIB_surface : DIBSurfaceObject;
screen variables
frame_number : integer;
frame_sp : frame_speed_obj;
interframe_count : integer;
interframe_pause : integer;
log_palette : TMyLogPalette;
main_counter : integer;
animation control
morph_count : integer;
morph_steps : integer;
num_frames : integer;
palette_cycle : integer;
pts_frame : integer;
rotyxz0_0 : double;
Matrix values.
rotyxz0_1 : double;
rotyxz0_2 : double;
rotyxz1_0 : double;
rotyxz1_1 : double;
rotyxz1_2 : double;
rotyxz2_1 : double;
rotyxz2_2 : double;
rotyxz2_3 : double;
Timer : THiResTimer;
Timing
xmid : integer;
xoff : double;
ints for lookup tables indices
xrspeed : integer;
3D variables
xscale : double;
ymid : integer;
yoff : double;
yrspeed : integer;
yscale : double;
zoff : double;
zrspeed : integer;
constructor create(nf,ppf:integer; dest:TWinControl);
///////////////////////////////////////////////////////////////////////////// Animation base class (Abstract object) // /////////////////////////////////////////////////////////////////////////////
procedure activate(onoff:boolean);
enable/disable and timer stuff
///////////////////////// Timer stuff /////////////////////////
procedure animate_palette(num:integer);
procedure calc_rotation(x,y,z:integer);
procedure compute_frame;
procedure Copy_to_screen;
procedure create_drawing_surface(w,h:integer);
screen stuff
///////////////////////// Screen stuff /////////////////////////
destructor Destroy;
Timer.ThreadPriority := tpIdle;
procedure draw_frame(dest_DC:HDC);
procedure fill_palette_from_screen_colours(use_cols:integer);
function GetPalette : HPalette;
procedure setup_initial_state(i1,i2:integer);
initializtion and computation
///////////////////////// Init & computation /////////////////////////
procedure setup_morphing_constants;
are we currently pausing between frames
procedure set_frame_speed(fps_:double);
procedure set_interframepause(d:integer);
procedure set_morphsteps(d:integer);
procedure set_offset(x,y,z:double);
ints for lookup tables
ints for lookup tables
procedure set_palette_cycle(pc:integer);
procedure set_rot_speed(x,y,z:integer);
Getters and Setters
///////////////////////// getters and setters /////////////////////////
procedure set_scale(x,y:double);
procedure Timer_event;
function TransformPoint(x,y,z:double) : TPoint;
unrolled matrix multiply
unrolled matrix multiply
procedure update_frame_counters;
active : boolean;
callback : TNotifyEvent;
colours : integer;
palette variables
coloursm1 : integer;
data : pPointArray;
destination : TWinControl;
DIB_surface : DIBSurfaceObject;
screen variables
frame_number : integer;
frame_sp : frame_speed_obj;
interframe_count : integer;
interframe_pause : integer;
log_palette : TMyLogPalette;
main_counter : integer;
animation control
morph_count : integer;
morph_steps : integer;
num_frames : integer;
palette_cycle : integer;
pts_frame : integer;
rotyxz0_0 : double;
Matrix values...
rotyxz0_1 : double;
rotyxz0_2 : double;
rotyxz1_0 : double;
rotyxz1_1 : double;
rotyxz1_2 : double;
rotyxz2_1 : double;
rotyxz2_2 : double;
rotyxz2_3 : double;
Timer : THiResTimer;
Timing
xmid : integer;
xoff : double;
ints for lookup tables indices
xrspeed : integer;
3D variables
xscale : double;
ymid : integer;
yoff : double;
yrspeed : integer;
yscale : double;
zoff : double;
zrspeed : integer;