X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?p=csgray;a=blobdiff_plain;f=src%2Fcsgray.h;h=5d0cf2652f89cb3249ac7e77d0fe99024100ef30;hp=651b64e52036564c822203b593996141e3631f16;hb=33b3cb144e8762bbb67424fd68374f92d85cdc3d;hpb=d7bf88ecc329f85167bcb420909773ba21078001 diff --git a/src/csgray.h b/src/csgray.h index 651b64e..5d0cf26 100644 --- a/src/csgray.h +++ b/src/csgray.h @@ -12,8 +12,8 @@ void csg_fov(float fov); int csg_load(const char *fname); int csg_save(const char *fname); -void csg_add_object(csg_object *parent, csg_object *child); -void csg_remove_object(csg_object *parent, csg_object *child); +void csg_add_object(csg_object *o); +int csg_remove_object(csg_object *o); void csg_free_object(csg_object *o); csg_object *csg_null(float x, float y, float z); @@ -26,12 +26,21 @@ csg_object *csg_union(csg_object *a, csg_object *b); csg_object *csg_intersection(csg_object *a, csg_object *b); csg_object *csg_subtraction(csg_object *a, csg_object *b); +void csg_ambient(float r, float g, float b); + void csg_emission(csg_object *o, float r, float g, float b); void csg_color(csg_object *o, float r, float g, float b); void csg_roughness(csg_object *o, float r); void csg_opacity(csg_object *o, float p); +void csg_metallic(csg_object *o, int m); + +void csg_reset_xform(csg_object *o); +void csg_translate(csg_object *o, float x, float y, float z); +void csg_rotate(csg_object *o, float angle, float x, float y, float z); +void csg_scale(csg_object *o, float x, float y, float z); +void csg_lookat(csg_object *o, float x, float y, float z, float tx, float ty, float tz, float ux, float uy, float uz); -void csg_render_pixel(int x, int y, float *color); +void csg_render_pixel(int x, int y, int width, int height, float aspect, float *color); void csg_render_image(float *pixels, int width, int height); #endif /* CSGRAY_H_ */