SesillaAndromeda
30-12-2012, 11:00 AM
Hi all,
Could someone help me to convert this code to Delphi?
Thanks in advance
Sesilla
struct vec3 {
float x, y, z;
}
void Calc(vec3 *&dest, const vec3 &v0, const vec3 &v1, const vec3 &v2, int level){
if (level){
level--;
vec3 v3 = normalize(v0 + v1);
vec3 v4 = normalize(v1 + v2);
vec3 v5 = normalize(v2 + v0);
Calc(dest, v0, v3, v5, level);
Calc(dest, v3, v4, v5, level);
Calc(dest, v3, v1, v4, level);
Calc(dest, v5, v4, v2, level);
} else {
*dest++ = v0;
*dest++ = v1;
*dest++ = v2;
}
}
void Test(){
const int nV = 8;
vec3 *V = new vec3[nV];
vec3 *D = V;
vec3 px0(1, 0, 0);
vec3 px1(0, 1, 0);
vec3 px2(0, 0, 1);
Calc(D, px0, px1, px2, 5);
}
Could someone help me to convert this code to Delphi?
Thanks in advance
Sesilla
struct vec3 {
float x, y, z;
}
void Calc(vec3 *&dest, const vec3 &v0, const vec3 &v1, const vec3 &v2, int level){
if (level){
level--;
vec3 v3 = normalize(v0 + v1);
vec3 v4 = normalize(v1 + v2);
vec3 v5 = normalize(v2 + v0);
Calc(dest, v0, v3, v5, level);
Calc(dest, v3, v4, v5, level);
Calc(dest, v3, v1, v4, level);
Calc(dest, v5, v4, v2, level);
} else {
*dest++ = v0;
*dest++ = v1;
*dest++ = v2;
}
}
void Test(){
const int nV = 8;
vec3 *V = new vec3[nV];
vec3 *D = V;
vec3 px0(1, 0, 0);
vec3 px1(0, 1, 0);
vec3 px2(0, 0, 1);
Calc(D, px0, px1, px2, 5);
}