Josh Holtrop
|
5590c533ce
|
Fixed boolean objects to determine if rays start inside or outside the boolean; changed constructors to accept a list of shapes instead of just two shapes; changed parser to accept any number of top-level shapes inside of a boolean shape block; changed scenes/die.fart to reflect this change (a drastic simplification)
git-svn-id: svn://anubis/fart/trunk@215 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-03-15 19:51:21 +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
|
72a5023539
|
updated Makefiles to not print the "*.dep: No such file or directory" warnings
git-svn-id: svn://anubis/fart/trunk@204 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-03-10 01:54:23 +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
|
9972ebdb41
|
fixed nasty bug in shapes/Cyl where intersection results were being allowed if they were negative
git-svn-id: svn://anubis/fart/trunk@192 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-03-08 16:03:52 +00:00 |
|
Josh Holtrop
|
14b6735c1c
|
minor formatting
git-svn-id: svn://anubis/fart/trunk@191 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-03-08 15:29:50 +00:00 |
|
Josh Holtrop
|
1ad08d9998
|
cleaning up shapes/Cyl a bit
git-svn-id: svn://anubis/fart/trunk@190 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-03-07 19:17:47 +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
|
84f6b04cd7
|
removed static const Material::white (had a problem with C++ since the order that the static const constructors were being called in was not correct according to the order that the code depended on them), made Shape constructor use a common default material instead of recreating one every time
git-svn-id: svn://anubis/fart/trunk@174 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-03-02 00:17:56 +00:00 |
|
Josh Holtrop
|
9ef826df43
|
fixed bug in shapes/Plane which would return negative results, fixed bug in main/Scene which would not check for shape to be non-null after calling getRayClosestHit()
git-svn-id: svn://anubis/fart/trunk@161 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-02-28 17:07:30 +00:00 |
|
Josh Holtrop
|
5035c80d94
|
Subtract working, but reflected normals being returned... and where did my plane and cyl go?
git-svn-id: svn://anubis/fart/trunk@159 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-02-28 00:06:12 +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
|
5af3f0deca
|
i think i have union working, need to test after transparency is working
git-svn-id: svn://anubis/fart/trunk@157 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-02-27 22:29:27 +00:00 |
|
Josh Holtrop
|
27cea5e702
|
added Union shape based on Intersect
git-svn-id: svn://anubis/fart/trunk@156 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-02-27 18:34:08 +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
|
f7eb4cd4b9
|
finished implementing shapes/Intersect::intersect()
git-svn-id: svn://anubis/fart/trunk@154 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-02-24 03:22:15 +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
|
2e6c62a032
|
working on Intersect::intersect()
git-svn-id: svn://anubis/fart/trunk@151 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-02-24 02:17:22 +00:00 |
|
Josh Holtrop
|
7d64dd745d
|
got Shape::IntersectionList::merge() to sort the result with IntersectionComparator successfully
git-svn-id: svn://anubis/fart/trunk@150 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-02-24 00:38:09 +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
|
ab2832a660
|
fixed compile issues with switch to new Shape::IntersectionList
git-svn-id: svn://anubis/fart/branches/2009-02-23_Shape_IntersectList_Update@145 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-02-23 20:26:45 +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
|
e23d5cdca4
|
added shapes/Intersect, need to rework IntersectList
git-svn-id: svn://anubis/fart/trunk@142 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-02-23 05:51:51 +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
|
7f9547c010
|
fixed bug in shapes/Cyl intersection routine for top cap distance
git-svn-id: svn://anubis/fart/trunk@135 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-02-19 18:34:32 +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
|
39e77678ee
|
updated Cyl intersection routine
git-svn-id: svn://anubis/fart/trunk@132 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-02-19 18:03:23 +00:00 |
|
Josh Holtrop
|
d8648b0770
|
working on shapes/Cyl
git-svn-id: svn://anubis/fart/trunk@131 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-02-19 04:35:51 +00:00 |
|
Josh Holtrop
|
561098001a
|
added shapes/Cyl, needs finishing
git-svn-id: svn://anubis/fart/trunk@130 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-02-18 23:06:45 +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
|
22519b5a0c
|
fixed bug in shapes/Plane, added shapes/Box
git-svn-id: svn://anubis/fart/trunk@119 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-02-17 05:20:38 +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
|
31a7f0fedf
|
updated subdir Makefiles, added parser directory and parser/Makefile
git-svn-id: svn://anubis/fart/trunk@78 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-02-04 18:35:32 +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
|
18c0c8d45f
|
added diffuse and specular colors to Material, switched all "private:" to "protected:"
git-svn-id: svn://anubis/fart/trunk@69 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-01-30 02:26:46 +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
|
a52b456bfa
|
updated Makefile to use -O1 in CXXFLAGS instead of -O3; -O2 and above currently break the app
git-svn-id: svn://anubis/fart/trunk@61 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-01-28 18:51:14 +00:00 |
|
Josh Holtrop
|
ca3087eac5
|
shapes returning transformed normals
git-svn-id: svn://anubis/fart/trunk@60 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-01-28 15:06:48 +00:00 |
|
Josh Holtrop
|
7a4bb7dbc2
|
added LinearSolver to util/Solver module; added shapes/Plane module
git-svn-id: svn://anubis/fart/trunk@59 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-01-28 15:02:05 +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
|
5213df1af3
|
added shapes/Shape.cc
git-svn-id: svn://anubis/fart/trunk@54 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-01-27 18:15:06 +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
|
d88f1ab5fd
|
fixed bug in QuadraticSolver, cheap lighting working
git-svn-id: svn://anubis/fart/trunk@45 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-01-23 23:56:39 +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
|
a1c81e5adc
|
sphere drawing, but stretched horizontally... have to figure that out yet
git-svn-id: svn://anubis/fart/trunk@40 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-01-23 16:00:43 +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
|
73cdd1a5a1
|
improving Ray, Sphere, Solver, Scene a bit
git-svn-id: svn://anubis/fart/trunk@35 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-01-23 14:37:18 +00:00 |
|