X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?p=vrfileman;a=blobdiff_plain;f=src%2Fmeshgen.cc;h=7664aea4562374e6c417a34d4acf8c231297a47a;hp=412f763f039caae88401321fa9f71bcee3a6192a;hb=c5daeff5edca4efa63ef7ae10722c047ab120be0;hpb=dd39621d642e417f1e343cbf813205a658272639 diff --git a/src/meshgen.cc b/src/meshgen.cc index 412f763..7664aea 100644 --- a/src/meshgen.cc +++ b/src/meshgen.cc @@ -16,6 +16,8 @@ static Vec3 sphvec(float theta, float phi) void gen_sphere(Mesh *mesh, float rad, int usub, int vsub, float urange, float vrange) { + if(urange == 0.0 || vrange == 0.0) return; + if(usub < 4) usub = 4; if(vsub < 2) vsub = 2; @@ -49,7 +51,7 @@ void gen_sphere(Mesh *mesh, float rad, int usub, int vsub, float urange, float v *varr++ = pos * rad; *narr++ = pos; *tarr++ = normalize(sphvec(theta + 0.1f, (float)M_PI / 2.0f) - sphvec(theta - 0.1f, (float)M_PI / 2.0f)); - *uvarr++ = Vec2(u * urange, v * vrange); + *uvarr++ = Vec2(u / urange, v / vrange); if(i < usub && j < vsub) { int idx = i * vverts + j; @@ -597,9 +599,9 @@ void gen_box(Mesh *mesh, float xsz, float ysz, float zsz, int usub, int vsub) Mesh m; gen_plane(&m, 1, 1, usub, vsub); + xform.translate(Vec3(0, 0, 0.5)); xform.rotate(Vec3(face_angles[i][1], face_angles[i][0], 0)); dir_xform = xform; - xform.translate(Vec3(0, 0, 0.5)); m.apply_xform(xform, dir_xform); mesh->append(m);