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
|
feeaa34d62
|
tweaked Scene::calculateLightContribution() and scenes/cyls.fart slightly
git-svn-id: svn://anubis/fart/trunk@189 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-03-07 18:38:40 +00:00 |
|
Josh Holtrop
|
24ef1eca3c
|
added scenes/trans-boxes.fart, changed Scene to consider all back-faces as front-faces by inverting the normal vector, fixed bug in Scene::calculateLightContribution() which was messing up shadow values and back-face intensities for transparent objects
git-svn-id: svn://anubis/fart/trunk@187 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-03-06 19:12:26 +00:00 |
|
Josh Holtrop
|
f9cf1381a6
|
working on shadows but they are appearing in weird places...
git-svn-id: svn://anubis/fart/trunk@185 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-03-04 02:03:21 +00:00 |
|
Josh Holtrop
|
7d0b4c5646
|
moved Lighting::computePhong() into Scene, removed Lighting module
git-svn-id: svn://anubis/fart/trunk@184 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-03-04 00:16:32 +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
|
1f00625379
|
made verbose the default option
git-svn-id: svn://anubis/fart/trunk@181 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-03-03 03:22:12 +00:00 |
|
Josh Holtrop
|
0462a2e7bc
|
working on Scene::process*() functions to load the scene from a file
git-svn-id: svn://anubis/fart/trunk@164 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-02-28 19:59:22 +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
|
c78e5941c8
|
stubbed out recursion, changed Scene::getRayHits() to Scene::getRayClosestHit()
git-svn-id: svn://anubis/fart/trunk@160 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-02-28 16:16:40 +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
|
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
|
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
|
94548d4418
|
Light.h including concrete light type class definitions
git-svn-id: svn://anubis/fart/trunk@139 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-02-20 16:35:48 +00:00 |
|
Josh Holtrop
|
5949a813df
|
moved processNode(), processChildren(), and load() into main/Scene-load.cc
git-svn-id: svn://anubis/fart/trunk@138 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-02-20 16:33:05 +00:00 |
|
Josh Holtrop
|
354edb9662
|
removed extraneous parse() function from Scene.cc
git-svn-id: svn://anubis/fart/trunk@137 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-02-19 22:00:51 +00:00 |
|
Josh Holtrop
|
52103bf543
|
added static const cyan color, added cone to sample scene
git-svn-id: svn://anubis/fart/trunk@134 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-02-19 18:30:02 +00:00 |
|
Josh Holtrop
|
b9cc1fe9f9
|
added Scene::processNode() and Scene::processChildren()
git-svn-id: svn://anubis/fart/trunk@126 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-02-18 01:10:57 +00:00 |
|
Josh Holtrop
|
30932d00e9
|
Scene::load() calling parse() now
git-svn-id: svn://anubis/fart/trunk@125 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-02-17 23:40:09 +00:00 |
|
Josh Holtrop
|
f3e522262b
|
removed knowledge of domain types from parser, removed process() from Node, added a global refptr<Node> object, took parse(fileName) out of Scene class
git-svn-id: svn://anubis/fart/trunk@123 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-02-17 22:59:53 +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
|
6f2851f279
|
yyparse() now a friend function to Scene, light constructors not taking position arguments any more
git-svn-id: svn://anubis/fart/trunk@104 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-02-12 03:56:09 +00:00 |
|
Josh Holtrop
|
8a112009a6
|
converted shapes and lights collection in Scene to be refptrs instead of real pointers
git-svn-id: svn://anubis/fart/trunk@102 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-02-11 17:23:01 +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
|
78fd509d0f
|
back up to default ambient of (0.1, 0.1, 0.1), Phong shading working
git-svn-id: svn://anubis/fart/trunk@76 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-01-31 22:42:14 +00:00 |
|
Josh Holtrop
|
c4509d0594
|
added an ambient color component to Material, changed Lighting to use it
git-svn-id: svn://anubis/fart/trunk@75 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-01-31 22:34:36 +00:00 |
|
Josh Holtrop
|
7181a894a4
|
capping colors in main/Lighting; colors are maxing out too easily, might need a better reduction method
git-svn-id: svn://anubis/fart/trunk@74 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-01-31 18:29:28 +00:00 |
|
Josh Holtrop
|
6fbdf46122
|
fixed bug in util/Vector::reflect(), Phong shading getting much closer
git-svn-id: svn://anubis/fart/trunk@73 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-01-31 00:17:09 +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
|
04b8ea5f9e
|
added main/Material module
git-svn-id: svn://anubis/fart/trunk@68 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-01-30 02:20:29 +00:00 |
|
Josh Holtrop
|
f087488b39
|
using Color instead of Vector where appropriate, updated main/Light to use diffuse and specular lights
git-svn-id: svn://anubis/fart/trunk@67 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-01-30 01:25:57 +00:00 |
|
Josh Holtrop
|
47dd5a31fe
|
fixed strange compile warning in fart.cc by making constructor arguments to Scene::Scene() consts
git-svn-id: svn://anubis/fart/trunk@64 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-01-29 14:49:41 +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
|
fa353392c6
|
updating main/Scene to accept points back instead of distances from intersect()
git-svn-id: svn://anubis/fart/trunk@57 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-01-27 23:03:24 +00:00 |
|
Josh Holtrop
|
f4781e2889
|
updated getRayHits(), fixed bug in Scene::ShapeDistance(Shape *, double)
git-svn-id: svn://anubis/fart/trunk@53 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-01-27 01:34:00 +00:00 |
|
Josh Holtrop
|
ecace9f5e8
|
added Scene::ShapeDistance construct
git-svn-id: svn://anubis/fart/trunk@52 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-01-27 00:47:21 +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
|
dad8497bf4
|
multisampling working
git-svn-id: svn://anubis/fart/trunk@46 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-01-25 23:01:46 +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
|
801f61f48c
|
Ray-Sphere intersections are working, no lighting/shading/materials/reflectance
git-svn-id: svn://anubis/fart/trunk@43 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-01-23 17:20:23 +00:00 |
|
Josh Holtrop
|
20eafaf9f4
|
fixed view plane distance calculation to use tan() and convert degrees to radians
git-svn-id: svn://anubis/fart/trunk@41 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-01-23 16:44:39 +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
|
97b9fa9eab
|
added getInverse() to util/Transform, fixed transform_*() functions
git-svn-id: svn://anubis/fart/trunk@39 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-01-23 15:28:53 +00:00 |
|
Josh Holtrop
|
7d461477b3
|
added operator<<(ostream, Ray) to util/Ray, main/Scene now calculating rays
git-svn-id: svn://anubis/fart/trunk@38 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-01-23 15:15:35 +00:00 |
|
Josh Holtrop
|
f03b19a022
|
added messages to main/Scene, util/Matrix constructor sets matrix to identity
git-svn-id: svn://anubis/fart/trunk@37 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-01-23 14:57:47 +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 |
|