25 Commits

Author SHA1 Message Date
Josh Holtrop
b0dfa2ee1f bool sub-objects using relative coordinates, shape definitions using relative coordinates, this allows transform blocks in each, and shape references to combine absolute transform with the relative transform
git-svn-id: svn://anubis/fart/trunk@287 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-07-09 19:37:05 +00:00
Josh Holtrop
b4a2c8ef8e allowing transform blocks inside boolean shapes, but using a shape reference to a boolean shape does not propagate transform properly
git-svn-id: svn://anubis/fart/trunk@286 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-07-09 18:33:26 +00:00
Josh Holtrop
c1f39da3e2 added shape definition processing and shape cloning capabilities
git-svn-id: svn://anubis/fart/trunk@284 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-07-09 17:11:14 +00:00
Josh Holtrop
91e490b65a added shapes/shapes.h, shapes/BoolShape, made Intersect, Union, and Subtract derive from BoolShape, made BoolShape::setMaterial() call setMaterial() on sub-shapes so that materials applied to boolean objects will be applied to all sub-objects
git-svn-id: svn://anubis/fart/trunk@212 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-03-12 02:59:35 +00:00
Josh Holtrop
60b29d658d modified shapes and Scene to return surface normal in the intersect object
git-svn-id: svn://anubis/fart/branches/2009-03-09_intersect_returning_normals@200 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-03-09 23:17:31 +00:00
Josh Holtrop
e233056880 added Color::operator*=(), added jitter computation to reflectance and transparency recursion, recursing now but there is still a jitter or recursion issue
git-svn-id: svn://anubis/fart/trunk@182 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-03-03 04:30:46 +00:00
Josh Holtrop
ef25fe4a5b added Subtract, including Union and Subtract in Shape.h
git-svn-id: svn://anubis/fart/trunk@158 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-27 22:43:49 +00:00
Josh Holtrop
16f38f1f27 added sample Intersect object to sample scene, added Color::magenta constant
git-svn-id: svn://anubis/fart/trunk@155 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-24 03:35:20 +00:00
Josh Holtrop
bcbec65a8f converted shapes/Intersect::intersect() to using BoolIntersectionList
git-svn-id: svn://anubis/fart/trunk@152 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-24 03:04:26 +00:00
Josh Holtrop
25d6432dbd trying to get a custom comparator to sort my IntersectionList after a merge()
git-svn-id: svn://anubis/fart/trunk@149 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-23 22:26:46 +00:00
Josh Holtrop
56278a8337 changed IntersectionList into a class so i could add merge()
git-svn-id: svn://anubis/fart/trunk@148 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-23 21:39:56 +00:00
Josh Holtrop
0c7f85db96 updating IntersectList to new Shape::IntersectionList format
git-svn-id: svn://anubis/fart/branches/2009-02-23_Shape_IntersectList_Update@144 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-23 20:24:30 +00:00
Josh Holtrop
cda03ad45a moved main/Material to util/Material
git-svn-id: svn://anubis/fart/trunk@136 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-19 18:45:52 +00:00
Josh Holtrop
2b1603cf26 updated shapes/Cyl::getNormalAt(), added Cyl.h to shapes/Shape.h include list
git-svn-id: svn://anubis/fart/trunk@133 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-19 18:15:49 +00:00
Josh Holtrop
4b0f506522 added Color::yellow, finished shapes/Box, added a couple boxes to sample scene
git-svn-id: svn://anubis/fart/trunk@121 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-17 05:36:48 +00:00
Josh Holtrop
7f9b8b913a added Shape::~Shape() to work around compiler warnings
git-svn-id: svn://anubis/fart/trunk@101 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-11 17:11:30 +00:00
Josh Holtrop
0fc1e468fe removed test directory, converted Shape's material handle to a refptr<Material> instead of a Material *, made refptr<T>::operator*() and operator->() const members
git-svn-id: svn://anubis/fart/trunk@96 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-10 01:09:07 +00:00
Josh Holtrop
41b4354d52 trying to get Phong shading model working, having very large color values come back though
git-svn-id: svn://anubis/fart/trunk@72 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-01-30 20:53:13 +00:00
Josh Holtrop
9041ec6a1c shapes/Shape.h now including specific shape headers (after base class definition), test/tests.cc fixed compiler warning, main/Scene drawing demo Plane, util/Transform not needlessly re-initializing m_matrix
git-svn-id: svn://anubis/fart/trunk@62 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-01-28 21:41:19 +00:00
Josh Holtrop
83bb409ef9 added Shape::IntersectList for returning a list of intersection points instead of intersections distances; build currently broken; need to update Scene to take into effect this change
git-svn-id: svn://anubis/fart/trunk@56 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-01-27 18:48:04 +00:00
Josh Holtrop
e8fd42f81f broke traceRay() out into getRayHits()
git-svn-id: svn://anubis/fart/trunk@51 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-01-27 00:11:14 +00:00
Josh Holtrop
7d7ec130e0 added operators +, - to Vector, added inverse transform instance variable to shapes/Shape, changed Sphere to use its inverse transform when calculating intersections and normals, removed simplistic lighting from main/Scene
git-svn-id: svn://anubis/fart/trunk@47 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-01-26 14:02:15 +00:00
Josh Holtrop
761925220b added getNormalAt() to Shape & Sphere, trying to get basic lighting
git-svn-id: svn://anubis/fart/trunk@44 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-01-23 18:09:27 +00:00
Josh Holtrop
c32e826ee3 added --field-of-view and m_vfov to Scene
git-svn-id: svn://anubis/fart/trunk@36 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-01-23 14:43:49 +00:00
Josh Holtrop
206ede3304 initial import from /gvsu/cs658 repository
git-svn-id: svn://anubis/fart/trunk@2 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-01-18 01:44:28 +00:00