This project was an assignment of the Computer Graphics course at [ITBA] 1 in 2008. See copyright notes at the bottom.
It features a 3D scene rendering engine based in [ray tracing] 2.
Examples of scenes rendered by the raytracer program can be found in the img
directory of this repository, as well as documentation in the doc
directory.
- Positionable camera
- Anti-aliasing through stochastic sampling
- Point lights
- Reflection
- Refraction
- Penumbra
- Octrees
- Bounding volumes
- Shapes: Sphere, TriangleSet, IndexedTriangleSet, IndexedTriangleStripSet, IndexedTriangleFanSet
- Material: diffuse and specular color, ambient intensity, transparency, shininess
- Transform operations: scale, rotation and traslation
- Partially supports X3D format for input representing 3D scene
- Supports PNG, JPG, BMP and other image formats for output
bin
: Reserved for .class filesbuild.xml
: Apache Ant build fileCOPYING
: GNU General Public Licensedoc
: Documentation (in Spanish)img
: Examples of 3D scenes rendered by the raytracer programlib
: Required external librariesraytracer.bat
: Script for running the raytracer program on Windowsraytracer.jar
: Main raytracer .jar fileraytracer.sh
: Script for running the raytracer program on POSIX systemsREADME.markdown
: This README filesrc
: Source code, fully written in Java
java -Djava.library.path=lib -jar raytracer.jar [options]
Options:
-i <filename>
: Input filename (X3D only)-o <filename>
: Output filename (in any image format supported by Java image libraries)-s <width>x<height>
: Output image size-progress
: Show progress bar (rendered pixels out of total pixels) on standard output-show
: Show a window with output image-as <N>
: Anti-aliasing parameter (square root of the number of rays traced per pixel)-p <N>
: Penumbra parameter (number of rays traced per pixel)
Copyright (c) 2008
- Rafael Martín Bigio <[email protected]>
- Santiago Andrés Coffey <[email protected]>
- Andrés Santiago Gregoire <[email protected]>
The following additional provisions apply to third party software
included as part of this product:
- Java3D library: Copyright (c) 1996-2008 Sun Microsystems, Inc.
Licensed under the GNU General Public License (GPL), version 2,
with the CLASSPATH exception. See <http://java3d.java.net/>
- XJ3D library: Copyright (c) 2001-2007 Web3D Consortium.
Licensed under the GNU LGPL v2.1. See <http://www.xj3d.org/>
Raytracer is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Raytracer is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Raytracer. If not, see <http://www.gnu.org/licenses/>.