cubemapper

annotate src/meshgen.h @ 0:8fc9e1d3aad2

initial commit
author John Tsiombikas <nuclear@member.fsf.org>
date Thu, 27 Jul 2017 20:36:12 +0300
parents
children 2bfafdced01a
rev   line source
nuclear@0 1 #ifndef MESHGEN_H_
nuclear@0 2 #define MESHGEN_H_
nuclear@0 3
nuclear@0 4 #include <gmath/gmath.h>
nuclear@0 5
nuclear@0 6 class Mesh;
nuclear@0 7
nuclear@0 8 void gen_sphere(Mesh *mesh, float rad, int usub, int vsub, float urange = 1.0, float vrange = 1.0);
nuclear@0 9 void gen_geosphere(Mesh *mesh, float rad, int subdiv, bool hemi = false);
nuclear@0 10 void gen_torus(Mesh *mesh, float mainrad, float ringrad, int usub, int vsub, float urange = 1.0, float vrange = 1.0);
nuclear@0 11 void gen_cylinder(Mesh *mesh, float rad, float height, int usub, int vsub, int capsub = 0, float urange = 1.0, float vrange = 1.0);
nuclear@0 12 void gen_cone(Mesh *mesh, float rad, float height, int usub, int vsub, int capsub = 0, float urange = 1.0, float vrange = 1.0);
nuclear@0 13 void gen_plane(Mesh *mesh, float width, float height, int usub = 1, int vsub = 1);
nuclear@0 14 void gen_heightmap(Mesh *mesh, float width, float height, int usub, int vsub, float (*hf)(float, float, void*), void *hfdata = 0);
nuclear@0 15 void gen_box(Mesh *mesh, float xsz, float ysz, float zsz, int usub = 1, int vsub = 1);
nuclear@0 16
nuclear@0 17 void gen_revol(Mesh *mesh, int usub, int vsub, Vec2 (*rfunc)(float, float, void*), void *cls = 0);
nuclear@0 18 void gen_revol(Mesh *mesh, int usub, int vsub, Vec2 (*rfunc)(float, float, void*), Vec2 (*nfunc)(float, float, void*), void *cls);
nuclear@0 19
nuclear@0 20 /* callback args: (float u, float v, void *cls) -> Vec2 XZ offset u,v in [0, 1] */
nuclear@0 21 void gen_sweep(Mesh *mesh, float height, int usub, int vsub, Vec2 (*sfunc)(float, float, void*), void *cls = 0);
nuclear@0 22
nuclear@0 23 #endif // MESHGEN_H_