X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?p=csgray;a=blobdiff_plain;f=src%2Fcsgimpl.h;h=90242a4f4c973a3c7dcbcfee24095d8596b3e706;hp=ab92f1ed868865a31a30fa4057b6ac7820db99a8;hb=976be63b2cde40482a374865e03f9fabe18b87e3;hpb=3dd5ba3e29ccff62d188bb4e9e8d23d1879a6024 diff --git a/src/csgimpl.h b/src/csgimpl.h index ab92f1e..90242a4 100644 --- a/src/csgimpl.h +++ b/src/csgimpl.h @@ -21,6 +21,7 @@ struct object { float emr, emg, emb; float roughness; float opacity; + int metallic; float xform[16], inv_xform[16]; @@ -37,7 +38,7 @@ struct sphere { struct cylinder { struct object ob; - float rad; + float rad, height; }; struct plane { @@ -46,6 +47,11 @@ struct plane { float d; }; +struct box { + struct object ob; + float xsz, ysz, zsz; +}; + struct csgop { struct object ob; csg_object *a, *b; @@ -56,13 +62,19 @@ union csg_object { struct sphere sph; struct cylinder cyl; struct plane plane; + struct box box; struct csgop un, isect, sub; }; struct camera { float x, y, z; float tx, ty, tz; + float ux, uy, uz; float fov; + + float xform[16]; }; +int csg_dbg_pixel; + #endif /* CSGIMPL_H_ */