]> Dogcows Code - chaz/rasterize/blobdiff - config.h
refactor triangle group into a separate class
[chaz/rasterize] / config.h
index a1d7fb9636dfb899bfcd0b90e5cf45f5a0e75ae3..593043940e31b6d99d399aa27b27e54fc7510336 100644 (file)
--- a/config.h
+++ b/config.h
 #endif
 
 /*
- * PRE_NORMALS
- * If enabled, normals are pre-computed while the triangles are loading.
- * Otherwise, the normals are computed during rasterization.  The behavior of
- * this option is effected by its precise value:
- *   1 Normals are computed per-face, according to the right-hand rule and
- *     counter-clockwise winding of the verticies.
- *   2 Normals are computed per-vertex; the normal for a vertex that is shared
- *     between two or more faces will be the average of the normals of the
- *     faces.  There is a performance penalty for this setting.
- *   3 Same as 2, but the normals will be cached so that they will not need to
- *     be computed the next time the mesh is loaded.
+ * CACHE_GEOMETRY
+ * If enabled, models will be saved to a quick-loading binary format after
+ * they are loaded.  Or, if a cached version of a model is discovered when a
+ * model is requested to be loaded, it is loaded from the cache instead.  This
+ * provides a decent speed improvement in cases where the model would
+ * otherwise be loaded from some kind of text format which would load slowly.
  */
-#if PRE_NORMALS
-#define IF_PRE_NORMALS(X) X
+#if CACHE_GEOMETRY
+#define IF_CACHE_GEOMETRY(X) X
 #else
-#define IF_PRE_NORMALS(X)
+#define IF_CACHE_GEOMETRY(X)
+#endif
+
+/*
+ * CALC_NORMALS
+ * If enabled, per-vertex normals are calculated for models that don't come
+ * with pre-computed normals.  This occurs at loading time.  The normals are
+ * calculated by averaging the true normals of all the faces shared by each
+ * vertex.  Otherwise, only per-face normals are calculated for such models,
+ * also at loading time.
+ */
+#if CALC_NORMALS
+#define IF_CALC_NORMALS(X) X
+#else
+#define IF_CALC_NORMALS(X)
 #endif
 
 /*
This page took 0.018368 seconds and 4 git commands to generate.