diff --git a/screenshot/fixed_gas_giant.png b/screenshot/fixed_gas_giant.png new file mode 100644 index 0000000..513c7c8 Binary files /dev/null and b/screenshot/fixed_gas_giant.png differ diff --git a/src/planet.cpp b/src/planet.cpp index 99dbafb..932f85d 100644 --- a/src/planet.cpp +++ b/src/planet.cpp @@ -28,7 +28,7 @@ void Planet::SetPosition(vector3d p) { } void Planet::SetRadius(double radius) { - radius = radius; + this->radius = radius; dGeomSphereSetRadius(geom, radius); } @@ -64,7 +64,7 @@ static void subdivide(vector3d& v1, vector3d& v2, vector3d& v3, vector3d& v4, in ff9 = (r*v9).z > 0; #endif - subdivide(v1, v5, v8, v8, depth); + subdivide(v1, v5, v9, v8, depth); subdivide(v5, v2, v6, v9, depth); subdivide(v9, v6, v3, v7, depth); subdivide(v8, v9, v7, v4, depth); @@ -113,7 +113,7 @@ static void DrawLovelyRoundCube(double radius) { //glDisable(GL_CULL_FACE); glEnable(GL_NORMALIZE); - subdivide(p1, p2, p3, p3, 4); + subdivide(p1, p2, p3, p4, 4); subdivide(p4, p3, p7, p8, 4); subdivide(p1, p4, p8, p5, 4); subdivide(p2, p1, p5, p6, 4); @@ -185,7 +185,7 @@ void DrawBlob(float latitude, float longitude, float a, float b) { glBegin(GL_TRIANGLE_FAN); PutPolarPoint(latitude, longitude); - for(double theta = 2*M_PI; theta > 2; theta -= 0.1) { + for(double theta = 2*M_PI; theta > 0; theta -= 0.1) { double _lat = latitude + a * cos(theta); double _long = longitude + b * sin(theta); PutPolarPoint(_lat, _long); @@ -514,7 +514,7 @@ void Planet::DrawGasGiant(void) { while(n-- > 0) { ggdef.hoopCol.GenCol(col, rng); SetMaterialColor(col); - DrawHoop(rng(0,9*M_PI)-0.45*M_PI, rng(0.25), ggdef.hoopWobble, rng); + DrawHoop(rng(0.9*M_PI)-0.45*M_PI, rng(0.25), ggdef.hoopWobble, rng); } n = rng(ggdef.blobMin, ggdef.blobMax);