]> Dogcows Code - chaz/rasterize/blobdiff - raster.h
fixes for compiling with mingw32
[chaz/rasterize] / raster.h
index ef358e71855b96d05eaef150f6a526e0d12dac12..7ed8e33f533f90d3d071b664cda153ac95a4ea88 100644 (file)
--- a/raster.h
+++ b/raster.h
@@ -11,6 +11,7 @@
 #include "color.h"
 #include "common.h"
 #include "light.h"
+#include "model.h"
 #include "tri.h"
 
 
@@ -37,6 +38,12 @@ void raster_destroy(raster_t* p);
 void raster_printstats(raster_t* p);
 
 
+/*
+ * Get the color value at a particular point.
+ */
+color_t raster_color(const raster_t* p, vec_t pt);
+
+
 /*
  * Set the viewport rectangle.  This effectively sets up a clipping rectangle
  * where nothing is drawn outside of the rectangle.  The default viewport is
@@ -69,11 +76,21 @@ void raster_projection(raster_t* p, const mat_t* transform);
  */
 void raster_eye(raster_t* p, vec_t eye);
 
+/*
+ * Set the ambient light for the scene.
+ */
+void raster_ambient(raster_t* p, color_t ambient);
+
 /*
  * Add a light to the scene.
  */
 void raster_light(raster_t* p, light_t light);
 
+/*
+ * Set the material properties for the scene.
+ */
+void raster_material(raster_t* p, color_t specular, scal_t shininess);
+
 
 /*
  * Save the raster to a PPM file.
@@ -86,13 +103,35 @@ int raster_export_ppm(const raster_t* p, const char* filename);
 int raster_export_bmp(const raster_t* p, const char* filename);
 
 
+/*
+ * Load the raster from an image file.  The file extension is used to
+ * determine which importer is actually called.
+ */
+raster_t* raster_import(const char* filename);
+
+/*
+ * Load the raster from a PPM file.
+ */
+raster_t* raster_import_ppm(const char* filename);
+
+/*
+ * Load the raster from a BMP file.
+ */
+raster_t* raster_import_bmp(const char* filename);
+
+
 /*
  * Fill the entire raster with a solid color and reset the raster statistics.
  */
 void raster_clear(raster_t* p, color_t fill);
 
 /*
- * Draw a smooth gradient triangle to the raster.
+ * Draw a model to the raster.
+ */
+void raster_draw_model(raster_t* p, const model_t* model);
+
+/*
+ * Draw a triangle to the raster.
  */
 void raster_draw_tri(raster_t* p, const tri_t* triangle);
 
This page took 0.020414 seconds and 4 git commands to generate.