]> Dogcows Code - chaz/rasterize/blobdiff - config.h
add texture mapping with perspective correction
[chaz/rasterize] / config.h
index cc552c2907a885854a55d21580d0daa06bfa819f..8cc0ffdfc82098f718ba38ccfbc73e0aeeef5212 100644 (file)
--- a/config.h
+++ b/config.h
@@ -24,7 +24,7 @@
 /*
  * BLENDING
  * If enabled, the blending function Crgb = (1 - Sa)Drgb + (Sa)Srgb is
- * applied when determing color on the raster.
+ * applied when calculating final colors on the raster.
  */
 #if BLENDING
 #define IF_BLENDING(X) X
 #define IF_SMOOTH_COLOR(X)
 #endif
 
+/*
+ * TEXTURING
+ * If enabled, a texture will be used to color models that have texture
+ * coordinates.  The color from the texture will actually be multiplied
+ * (i.e. mixed) with the regular color associated with the geometry.  Also,
+ * Phong interpolation lighting (LIGHTING >= 3) is required to get actual
+ * texturing; otherwise, only the color at the origin point of the texture
+ * will be used.
+ */
+#if TEXTURING
+#define IF_TEXTURING(X) X
+#else
+#define IF_TEXTURING(X)
+#endif
+
+/*
+ * PERSPECTIVE_FIX
+ * If enabled, texturing will have correct perspective on triangles which
+ * show depth.  You typically always want this, so it's enabled by default.
+ * This option is useful only if TEXTURING is also enabled.
+ */
+#ifndef PERSPECTIVE_FIX
+#define PERSPECTIVE_FIX 1
+#endif
+#if PERSPECTIVE_FIX
+#define IF_PERSPECTIVE_FIX(X) X
+#else
+#define IF_PERSPECTIVE_FIX(X)
+#endif
+
 /*
  * VERBOSITY
  * If enabled, a description of what is happening will be printed to stdout.
This page took 0.020023 seconds and 4 git commands to generate.