1 #ifndef param_header
2 #define param_header
3
4 #include <stdio.h>
5
6 #include "vector.h"
7 #include "thread_group.h"
8
9 //----------------------------------
10 // Simulation Parameters
11 //----------------------------------
12 #ifndef PROJECT_DEFINED
13
14 #define MULTI_PASS
15 //#define SINGLE_PASS
16 //#define MULTI_THREAD
17 //#define MULTI_THREAD_RD
18
19 //#define SIMD_VECTOR
20
21 //#define FACING_PARTICLES
22
23
24 #endif
25
26 #define MESH_PARTICLES
27
28 #define INIT //uses an initialization function for changing OGL context thread binding
29
30 extern Thread_Group thread_group;
31 extern Thread_Group thread_render;
32
33 extern FILE* file;
34
35 //#define TEST_MODE
36
37 //----------------------------------
38 // Frame rate Parameters
39 //----------------------------------
40 #define MAX_FPS 30
41 #define MAX_SPS 100
42
43 #define MAX_FPS_INV ( 1.0f / MAX_FPS )
44 #define MAX_SPS_INV ( 1.0f / MAX_SPS )
45
46 //----------------------------------
47 // Particle Parameters
48 //----------------------------------
49 #define PARTICLE_RADIUS 0.5f
50 #define PARTICLE_MASS 5.0f
51
52 //inital cube of particles dimensions
53 #define INIT_NUM_X 3
54 #define INIT_NUM_Y 40
55 #define INIT_NUM_Z 3
56
57 extern int init_num_x;
58 extern int init_num_y;
59 extern int init_num_Z;
60
61 extern int total_particles;
62
63 #define MAX_SEP ( 5.0f * PARTICLE_RADIUS )
64 #define INTERSECTION_SIZE ( 2.0f * PARTICLE_RADIUS )
65
66 #define GRAVITY ( -9.81f )
67 #define GRAVITY_FORCE ( GRAVITY * PARTICLE_MASS )
68
69 #define DRAG_FAC 0.5f
70 #define DRAG_FORCE_CUT 1.0f
71 #define MASS_FAC 0.5f
72
73 #define MAX_PUSH ( 20.000f * GRAVITY * PARTICLE_MASS )
74 #define MAX_PULL ( 00.001f * GRAVITY * PARTICLE_MASS )
75
76 extern vector3 g_gravity_force;
77
78
79 //----------------------------------
80 // Constraint Parameters
81 //----------------------------------
82 #define CONSTRAINT_SIZE 7.0f
83 #define CONSTRAINT_HEIGHT 15.0f
84 #define CONSTRAINT_THICKNESS 01.0f
85
86 #define HEIGHT_OFFSET 10.0f
87
88 //----------------------------------
89 // Force Ball Variables
90 //----------------------------------
91 #define FB_MAX_DISTANCE (PARTICLE_RADIUS * 10.0f)
92 #define FB_MAX_PUSH (MAX_PUSH * 0.5f)
93
94 #endif
syntax highlighted by Code2HTML,
v. 0.9.1