|
xine-lib
1.2.10
|
#include <math.h>#include <stdlib.h>#include <stdio.h>#include "goom_config.h"#include "goom_graphic.h"#include "ifs.h"#include "goom_tools.h"Data Structures | |
| struct | _ifsPoint |
| struct | Similitude_Struct |
| struct | Fractal_Struct |
| struct | _IFS_DATA |
Macros | |
| #define | MODE_ifs |
| #define | PROGCLASS "IFS" |
| #define | HACK_INIT init_ifs |
| #define | HACK_DRAW draw_ifs |
| #define | ifs_opts xlockmore_opts |
| #define | DEFAULTS |
| #define | SMOOTH_COLORS |
| #define | LRAND() ((long) (goom_random(goomInfo->gRandom) & 0x7fffffff)) |
| #define | NRAND(n) ((int) (LRAND() % (n))) |
| #define | MAXRAND (((float)(RAND_MAX<16)+((float)RAND_MAX)+1.0f)/127.0f) |
| #define | FIX 12 |
| #define | UNIT ( 1<<FIX ) |
| #define | MAX_SIMI 6 |
| #define | MAX_DEPTH_2 10 |
| #define | MAX_DEPTH_3 6 |
| #define | MAX_DEPTH_4 4 |
| #define | MAX_DEPTH_5 2 |
| #define | DBL_To_F_PT(x) (F_PT)( (DBL)(UNIT)*(x) ) |
| #define | RAND() goom_random(goomInfo->gRandom) |
| #define | MOD_MER 0 |
| #define | MOD_FEU 1 |
| #define | MOD_MERVER 2 |
Typedefs | |
| typedef struct _ifsPoint | IFSPoint |
| typedef float | DBL |
| typedef int | F_PT |
| typedef struct Similitude_Struct | SIMI |
| typedef struct Fractal_Struct | FRACTAL |
| typedef struct _IFS_DATA | IfsData |
Functions | |
| static DBL | Gauss_Rand (PluginInfo *goomInfo, DBL c, DBL A, DBL S) |
| static DBL | Half_Gauss_Rand (PluginInfo *goomInfo, DBL c, DBL A, DBL S) |
| static void | Random_Simis (PluginInfo *goomInfo, FRACTAL *F, SIMI *Cur, int i) |
| static void | free_ifs_buffers (FRACTAL *Fractal) |
| static void | free_ifs (FRACTAL *Fractal) |
| static void | init_ifs (PluginInfo *goomInfo, IfsData *data) |
| static void | Transform (SIMI *Simi, F_PT xo, F_PT yo, F_PT *x, F_PT *y) |
| static void | Trace (FRACTAL *F, F_PT xo, F_PT yo, IfsData *data) |
| static void | Draw_Fractal (IfsData *data) |
| static IFSPoint * | draw_ifs (PluginInfo *goomInfo, int *nbpt, IfsData *data) |
| static void | release_ifs (IfsData *data) |
| static void | ifs_update (PluginInfo *goomInfo, Pixel *data, Pixel *back, int increment, IfsData *fx_data) |
| static void | ifs_vfx_apply (VisualFX *_this, Pixel *src, Pixel *dest, PluginInfo *goomInfo) |
| static void | ifs_vfx_init (VisualFX *_this, PluginInfo *info) |
| static void | ifs_vfx_free (VisualFX *_this) |
| VisualFX | ifs_visualfx_create (void) |
| #define DEFAULTS |
| #define FIX 12 |
| #define HACK_DRAW draw_ifs |
| #define HACK_INIT init_ifs |
| #define ifs_opts xlockmore_opts |
| #define LRAND | ( | ) | ((long) (goom_random(goomInfo->gRandom) & 0x7fffffff)) |
| #define MAX_DEPTH_2 10 |
| #define MAX_DEPTH_3 6 |
| #define MAX_DEPTH_4 4 |
| #define MAX_DEPTH_5 2 |
| #define MAX_SIMI 6 |
| #define MAXRAND (((float)(RAND_MAX<16)+((float)RAND_MAX)+1.0f)/127.0f) |
| #define MOD_FEU 1 |
| #define MOD_MER 0 |
| #define MOD_MERVER 2 |
| #define MODE_ifs |
| #define NRAND | ( | n | ) | ((int) (LRAND() % (n))) |
| #define PROGCLASS "IFS" |
| #define RAND | ( | ) | goom_random(goomInfo->gRandom) |
| #define SMOOTH_COLORS |
| #define UNIT ( 1<<FIX ) |
| typedef float DBL |
| typedef int F_PT |
| typedef struct Fractal_Struct FRACTAL |
| typedef struct Similitude_Struct SIMI |
|
static |
References Similitude_Struct::A, Similitude_Struct::A2, _IFS_DATA::Buf, Fractal_Struct::Buffer1, Fractal_Struct::Buffer2, Similitude_Struct::c_x, Similitude_Struct::c_y, Fractal_Struct::Components, Similitude_Struct::Ct, Similitude_Struct::Ct2, _IFS_DATA::Cur_F, Fractal_Struct::Cur_Pt, _IFS_DATA::Cur_Pt, Similitude_Struct::Cx, Similitude_Struct::Cy, DBL_To_F_PT, Fractal_Struct::Nb_Simi, Similitude_Struct::r, Similitude_Struct::R, Similitude_Struct::r2, Similitude_Struct::R2, _IFS_DATA::Root, Similitude_Struct::St, Similitude_Struct::St2, Trace(), and Transform().
Referenced by draw_ifs().
|
static |
References Similitude_Struct::A, Similitude_Struct::A2, Fractal_Struct::Buffer1, Fractal_Struct::Buffer2, Similitude_Struct::c_x, Similitude_Struct::c_y, Fractal_Struct::Col, Fractal_Struct::Components, Fractal_Struct::Count, _IFS_DATA::Cur_Pt, Draw_Fractal(), Fractal_Struct::Nb_Simi, NULL, Similitude_Struct::r, Similitude_Struct::r2, Random_Simis(), _IFS_DATA::Root, and Fractal_Struct::Speed.
Referenced by ifs_update().
|
static |
References free_ifs_buffers().
Referenced by init_ifs(), and release_ifs().
|
static |
References Fractal_Struct::Buffer1, Fractal_Struct::Buffer2, and NULL.
Referenced by free_ifs(), and init_ifs().
|
static |
References LRAND, MAXRAND, and NRAND.
Referenced by Random_Simis().
|
static |
References LRAND, and MAXRAND.
Referenced by Random_Simis().
|
static |
References ALPHA, BLEU, draw_ifs(), emms, height, _PLUGIN_INFO::_SIZE_TYPE::height, MOD_FEU, MOD_MER, MOD_MERVER, mode(), movd_m2r, movd_r2m, paddusb_r2r, punpckldq_r2r, RAND, ROUGE, _PLUGIN_INFO::screen, VERT, width, _PLUGIN_INFO::_SIZE_TYPE::width, _ifsPoint::x, and _ifsPoint::y.
Referenced by ifs_vfx_apply().
|
static |
VISUAL_FX WRAPPER FOR IFS
References _VISUAL_FX::fx_data, _PLUGIN_INFO::ifs_incr, ifs_update(), init_ifs(), _IFS_DATA::initalized, and _PLUGIN_INFO::update.
Referenced by ifs_visualfx_create().
|
static |
References _VISUAL_FX::fx_data, and release_ifs().
Referenced by ifs_visualfx_create().
|
static |
References _VISUAL_FX::fx_data, _IFS_DATA::initalized, NULL, and _IFS_DATA::Root.
Referenced by ifs_visualfx_create().
| VisualFX ifs_visualfx_create | ( | void | ) |
References ifs_vfx_apply(), ifs_vfx_free(), ifs_vfx_init(), and _VISUAL_FX::init.
Referenced by goom_init().
|
static |
References Fractal_Struct::Buffer1, Fractal_Struct::Buffer2, Fractal_Struct::Col, Fractal_Struct::Components, Fractal_Struct::Count, Fractal_Struct::Cur_Pt, Fractal_Struct::Depth, Fractal_Struct::dr2_mean, Fractal_Struct::dr_mean, free_ifs(), free_ifs_buffers(), height, _PLUGIN_INFO::_SIZE_TYPE::height, Fractal_Struct::Height, Fractal_Struct::Lx, Fractal_Struct::Ly, MAX_DEPTH_2, MAX_DEPTH_3, MAX_DEPTH_4, MAX_DEPTH_5, Fractal_Struct::Max_Pt, MAX_SIMI, Fractal_Struct::Nb_Simi, NRAND, NULL, Fractal_Struct::r_mean, Random_Simis(), _IFS_DATA::Root, _PLUGIN_INFO::screen, Fractal_Struct::Speed, width, _PLUGIN_INFO::_SIZE_TYPE::width, and Fractal_Struct::Width.
Referenced by ifs_vfx_apply().
|
static |
References Similitude_Struct::A, Similitude_Struct::A2, Similitude_Struct::c_x, Similitude_Struct::c_y, Fractal_Struct::dr2_mean, Fractal_Struct::dr_mean, Gauss_Rand(), Half_Gauss_Rand(), Similitude_Struct::r, Similitude_Struct::r2, and Fractal_Struct::r_mean.
Referenced by draw_ifs(), and init_ifs().
|
static |
References free_ifs(), NULL, and _IFS_DATA::Root.
Referenced by ifs_vfx_free().
References _IFS_DATA::Buf, Fractal_Struct::Components, _IFS_DATA::Cur_F, _IFS_DATA::Cur_Pt, Fractal_Struct::Depth, FIX, Fractal_Struct::Lx, Fractal_Struct::Ly, Fractal_Struct::Nb_Simi, Transform(), _ifsPoint::x, and _ifsPoint::y.
Referenced by Draw_Fractal().
References Similitude_Struct::Ct, Similitude_Struct::Ct2, Similitude_Struct::Cx, Similitude_Struct::Cy, FIX, Similitude_Struct::R, Similitude_Struct::R2, Similitude_Struct::St, and Similitude_Struct::St2.
Referenced by Draw_Fractal(), and Trace().
1.8.17