Skip to content

Commit cad7b7c

Browse files
committed
Reformat: xrParticles
1 parent 848c60d commit cad7b7c

16 files changed

+3374
-3312
lines changed

src/xrParticles/noise.cpp

Lines changed: 170 additions & 163 deletions
Original file line numberDiff line numberDiff line change
@@ -6,197 +6,204 @@
66
#ifndef _EDITOR
77
#include <xmmintrin.h>
88

9-
__forceinline int iFloor_SSE( float const x )
9+
__forceinline int iFloor_SSE(float const x)
1010
{
11-
return _mm_cvtt_ss2si( _mm_set_ss( x ) );
11+
return _mm_cvtt_ss2si(_mm_set_ss(x));
1212
}
1313
#endif
14-
14+
1515
//==============================================================================
1616
// Perlin's noise from Texturing and Modeling...
1717
#define B 256
1818

19-
#define DOT(a,b) ( a[0]*b[0] + a[1]*b[1] + a[2]*b[2])
20-
#define AT(rx,ry,rz) (rx*q[0] + ry*q[1] + rz*q[2] );
21-
#define S_CURVE(t) ( t*t*(3.f-2.f*t) )
22-
#define LERP(t, a, b) ( a + t*(b-a) )
19+
#define DOT(a, b) (a[0] * b[0] + a[1] * b[1] + a[2] * b[2])
20+
#define AT(rx, ry, rz) (rx * q[0] + ry * q[1] + rz * q[2]);
21+
#define S_CURVE(t) (t * t * (3.f - 2.f * t))
22+
#define LERP(t, a, b) (a + t * (b - a))
2323

2424
#ifndef _EDITOR
25-
#define PN_SETUP(i,b0,b1,r0,r1) \
26-
t = vec[i] + 10000.f;\
27-
tt = iFloor_SSE(t); \
28-
b0 = tt & (B-1);\
29-
b1 = (b0+1) & (B-1);\
30-
r0 = t - float(tt);\
31-
r1 = r0 - 1.f;
25+
#define PN_SETUP(i, b0, b1, r0, r1) \
26+
t = vec[i] + 10000.f; \
27+
tt = iFloor_SSE(t); \
28+
b0 = tt & (B - 1); \
29+
b1 = (b0 + 1) & (B - 1); \
30+
r0 = t - float(tt); \
31+
r1 = r0 - 1.f;
3232
#else
3333

34-
#define PN_SETUP(i,b0,b1,r0,r1) \
35-
t = vec[i] + 10000.f;\
36-
b0 = iFloor(t) & (B-1);\
37-
b1 = (b0+1) & (B-1);\
38-
r0 = t - iFloor(t);\
39-
r1 = r0 - 1.f;
34+
#define PN_SETUP(i, b0, b1, r0, r1) \
35+
t = vec[i] + 10000.f; \
36+
b0 = iFloor(t) & (B - 1); \
37+
b1 = (b0 + 1) & (B - 1); \
38+
r0 = t - iFloor(t); \
39+
r1 = r0 - 1.f;
4040

4141
#endif
4242

43-
static int p[B+B+2];
44-
static float g[B+B+2][3];
43+
static int p[B + B + 2];
44+
static float g[B + B + 2][3];
4545

4646
//--------------------------------------------------------------------
47-
void noise3Init()
47+
void noise3Init()
4848
{
49-
int i, j, k;
50-
float v[3], s;
51-
int rnd;
52-
53-
srand(1);
54-
55-
for(i = 0; i < B; i++ )
56-
{
57-
do
58-
{
59-
for(j = 0; j < 3; j++)
60-
{
61-
rnd = rand();
62-
v[j] = float((rnd % (B+B)) - B) / B;
63-
}
64-
s = DOT(v,v);
65-
} while ( s > 1.0 );
66-
s = _sqrt(s);
67-
for (j = 0; j < 3; j++)
68-
g[i][j] = v[j] / s;
69-
}
70-
71-
for (i = 0; i < B; i++)
72-
p[i] = i;
73-
74-
for (i = B; i > 0; i -= 2)
75-
{
76-
rnd = rand();
77-
k = p[i];
78-
p[i] = p[ (j = rnd%B) ];
79-
p[j] = k;
80-
}
81-
82-
for (i = 0; i < B+2; i++)
83-
{
84-
p[B+i] = p[i];
85-
for (j = 0; j < 3; j++)
86-
g[B+i][j] = g[i][j];
87-
}
49+
int i, j, k;
50+
float v[3], s;
51+
int rnd;
52+
53+
srand(1);
54+
55+
for (i = 0; i < B; i++)
56+
{
57+
do
58+
{
59+
for (j = 0; j < 3; j++)
60+
{
61+
rnd = rand();
62+
v[j] = float((rnd % (B + B)) - B) / B;
63+
}
64+
s = DOT(v, v);
65+
} while (s > 1.0);
66+
s = _sqrt(s);
67+
for (j = 0; j < 3; j++)
68+
g[i][j] = v[j] / s;
69+
}
70+
71+
for (i = 0; i < B; i++)
72+
p[i] = i;
73+
74+
for (i = B; i > 0; i -= 2)
75+
{
76+
rnd = rand();
77+
k = p[i];
78+
p[i] = p[(j = rnd % B)];
79+
p[j] = k;
80+
}
81+
82+
for (i = 0; i < B + 2; i++)
83+
{
84+
p[B + i] = p[i];
85+
for (j = 0; j < 3; j++)
86+
g[B + i][j] = g[i][j];
87+
}
8888
}
8989

9090
//--------------------------------------------------------------------
9191

92-
float noise3(const Fvector& vec)
92+
float noise3(const Fvector& vec)
9393
{
94-
int bx0, bx1;
95-
int by0, by1;
96-
int bz0, bz1;
97-
int b00, b10, b01, b11;
98-
float rx0, rx1;
99-
float ry0, ry1;
100-
float rz0, rz1;
101-
float *q;
102-
float sx, sy, sz;
103-
float a, b, c, d, t, u, v;
104-
int i, j, tt;
105-
106-
PN_SETUP(0, bx0, bx1, rx0, rx1);
107-
PN_SETUP(1, by0, by1, ry0, ry1);
108-
PN_SETUP(2, bz0, bz1, rz0, rz1);
109-
110-
i = p[bx0];
111-
j = p[bx1];
112-
113-
b00 = p[ i+by0 ];
114-
b10 = p[ j+by0 ];
115-
b01 = p[ i+by1 ];
116-
b11 = p[ j+by1 ];
117-
118-
sx = S_CURVE(rx0);
119-
sy = S_CURVE(ry0);
120-
sz = S_CURVE(rz0);
121-
122-
q = g[ b00+bz0 ]; u = AT(rx0, ry0, rz0);
123-
q = g[ b10+bz0 ]; v = AT(rx1, ry0, rz0);
124-
a = LERP( sx, u, v );
125-
126-
q = g[ b01+bz0 ]; u = AT(rx0, ry1, rz0);
127-
q = g[ b11+bz0 ]; v = AT(rx1, ry1, rz0);
128-
b = LERP( sx, u, v );
129-
130-
c = LERP(sy, a, b);
131-
132-
q = g[ b00+bz1 ]; u = AT(rx0, ry0, rz1);
133-
q = g[ b10+bz1 ]; v = AT(rx1, ry0, rz1);
134-
a = LERP( sx, u, v );
135-
136-
q = g[ b01+bz1 ]; u = AT(rx0, ry1, rz1);
137-
q = g[ b11+bz1 ]; v = AT(rx1, ry1, rz1);
138-
b = LERP( sx, u, v );
139-
140-
d = LERP(sy, a, b);
141-
142-
return 1.5f * LERP(sz, c, d);
94+
int bx0, bx1;
95+
int by0, by1;
96+
int bz0, bz1;
97+
int b00, b10, b01, b11;
98+
float rx0, rx1;
99+
float ry0, ry1;
100+
float rz0, rz1;
101+
float* q;
102+
float sx, sy, sz;
103+
float a, b, c, d, t, u, v;
104+
int i, j, tt;
105+
106+
PN_SETUP(0, bx0, bx1, rx0, rx1);
107+
PN_SETUP(1, by0, by1, ry0, ry1);
108+
PN_SETUP(2, bz0, bz1, rz0, rz1);
109+
110+
i = p[bx0];
111+
j = p[bx1];
112+
113+
b00 = p[i + by0];
114+
b10 = p[j + by0];
115+
b01 = p[i + by1];
116+
b11 = p[j + by1];
117+
118+
sx = S_CURVE(rx0);
119+
sy = S_CURVE(ry0);
120+
sz = S_CURVE(rz0);
121+
122+
q = g[b00 + bz0];
123+
u = AT(rx0, ry0, rz0);
124+
q = g[b10 + bz0];
125+
v = AT(rx1, ry0, rz0);
126+
a = LERP(sx, u, v);
127+
128+
q = g[b01 + bz0];
129+
u = AT(rx0, ry1, rz0);
130+
q = g[b11 + bz0];
131+
v = AT(rx1, ry1, rz0);
132+
b = LERP(sx, u, v);
133+
134+
c = LERP(sy, a, b);
135+
136+
q = g[b00 + bz1];
137+
u = AT(rx0, ry0, rz1);
138+
q = g[b10 + bz1];
139+
v = AT(rx1, ry0, rz1);
140+
a = LERP(sx, u, v);
141+
142+
q = g[b01 + bz1];
143+
u = AT(rx0, ry1, rz1);
144+
q = g[b11 + bz1];
145+
v = AT(rx1, ry1, rz1);
146+
b = LERP(sx, u, v);
147+
148+
d = LERP(sy, a, b);
149+
150+
return 1.5f * LERP(sz, c, d);
143151
}
144152

145153
//--------------------------------------------------------------------
146-
float fractalsum3(const Fvector& v, float freq, int octaves)
154+
float fractalsum3(const Fvector& v, float freq, int octaves)
147155
{
148-
/* already initialized somewhere
149-
if (start) {
150-
start = 0;
151-
noise3Init();
152-
}
153-
*/
154-
155-
int i;
156-
float sum = 0.0;
157-
Fvector v_;
158-
float boost = freq;
159-
v_[0] = v[0]*freq;
160-
v_[1] = v[1]*freq;
161-
v_[2] = v[2]*freq;
162-
163-
for (i = 0; i < octaves; i++ )
164-
{
165-
sum += noise3(v_)/freq;
166-
freq *= 2.059f;
167-
v_[0] = v[0]*freq;
168-
v_[1] = v[1]*freq;
169-
v_[2] = v[2]*freq;
170-
}
171-
return sum*boost;
156+
/* already initialized somewhere
157+
if (start) {
158+
start = 0;
159+
noise3Init();
160+
}
161+
*/
162+
163+
int i;
164+
float sum = 0.0;
165+
Fvector v_;
166+
float boost = freq;
167+
v_[0] = v[0] * freq;
168+
v_[1] = v[1] * freq;
169+
v_[2] = v[2] * freq;
170+
171+
for (i = 0; i < octaves; i++)
172+
{
173+
sum += noise3(v_) / freq;
174+
freq *= 2.059f;
175+
v_[0] = v[0] * freq;
176+
v_[1] = v[1] * freq;
177+
v_[2] = v[2] * freq;
178+
}
179+
return sum * boost;
172180
}
173181

174182
//--------------------------------------------------------------------
175-
float turbulence3(const Fvector& v, float freq, int octaves)
183+
float turbulence3(const Fvector& v, float freq, int octaves)
176184
{
177-
/* Not used now
178-
if (start) {
179-
start = 0;
180-
noise3Init();
181-
}
182-
*/
183-
184-
int i;
185-
float sum = 0.0;
186-
Fvector v_;
187-
float boost = freq;
188-
v_[0] = v[0]*freq;
189-
v_[1] = v[1]*freq;
190-
v_[2] = v[2]*freq;
191-
192-
for (i = 0; i < octaves; i++ )
193-
{
194-
sum += _abs(noise3(v_))/freq;
195-
freq *= 2.059f;
196-
v_[0] = v[0]*freq;
197-
v_[1] = v[1]*freq;
198-
v_[2] = v[2]*freq;
199-
}
200-
return sum*boost;
185+
/* Not used now
186+
if (start) {
187+
start = 0;
188+
noise3Init();
189+
}
190+
*/
191+
192+
int i;
193+
float sum = 0.0;
194+
Fvector v_;
195+
float boost = freq;
196+
v_[0] = v[0] * freq;
197+
v_[1] = v[1] * freq;
198+
v_[2] = v[2] * freq;
199+
200+
for (i = 0; i < octaves; i++)
201+
{
202+
sum += _abs(noise3(v_)) / freq;
203+
freq *= 2.059f;
204+
v_[0] = v[0] * freq;
205+
v_[1] = v[1] * freq;
206+
v_[2] = v[2] * freq;
207+
}
208+
return sum * boost;
201209
}
202-

src/xrParticles/noise.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
#ifndef noiseH
22
#define noiseH
33

4-
float noise3(const Fvector& vec);
5-
float fractalsum3(const Fvector& v, float freq, int octaves);
6-
float turbulence3(const Fvector& v, float freq, int octaves);
4+
float noise3(const Fvector& vec);
5+
float fractalsum3(const Fvector& v, float freq, int octaves);
6+
float turbulence3(const Fvector& v, float freq, int octaves);
77

88
#endif

src/xrParticles/particle_actions.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,3 @@
33
#pragma hdrstop
44

55
#include "particle_actions.h"
6-

0 commit comments

Comments
 (0)