From 4dde640671a8278ff6c41ef21f03ba351828009c Mon Sep 17 00:00:00 2001
From: Tavian Barnes <tavianator@gmail.com>
Date: Sat, 17 Dec 2011 16:43:19 -0500
Subject: Make triangles smooth.

---
 libdimension/dimension/objects.h | 22 ++++++++++++++++++----
 1 file changed, 18 insertions(+), 4 deletions(-)

(limited to 'libdimension/dimension')

diff --git a/libdimension/dimension/objects.h b/libdimension/dimension/objects.h
index 001cb3d..9ce9e46 100644
--- a/libdimension/dimension/objects.h
+++ b/libdimension/dimension/objects.h
@@ -26,14 +26,28 @@
 #include <stdbool.h>
 
 /**
- * A triangle.
+ * A triangle, with normals interpolated between the points.
+ * @param[in] a   The first corner of the triangle.
+ * @param[in] b   The second corner of the triangle.
+ * @param[in] c   The third corner of the triangle.
+ * @param[in] na  The normal at \p a.
+ * @param[in] nb  The normal at \p b.
+ * @param[in] nc  The normal at \p c.
+ */
+dmnsn_object *dmnsn_new_triangle(
+  dmnsn_vector a, dmnsn_vector b, dmnsn_vector c,
+  dmnsn_vector na, dmnsn_vector nb, dmnsn_vector nc
+);
+
+/**
+ * A flat triangle, without normal interpolation.
  * @param[in] a  The first corner of the triangle.
  * @param[in] b  The second corner of the triangle.
  * @param[in] c  The third corner of the triangle.
  */
-dmnsn_object *dmnsn_new_triangle(dmnsn_vector a,
-                                 dmnsn_vector b,
-                                 dmnsn_vector c);
+dmnsn_object *dmnsn_new_flat_triangle(
+  dmnsn_vector a, dmnsn_vector b, dmnsn_vector c
+);
 
 /**
  * A plane.
-- 
cgit v1.2.3