logo of the SSW institute
Institut für Systemsoftware
Johannes Kepler Universität Linz
Fachbereich Informatik
logo of the Cristian Doppler Research Association
Christian Doppler Labor
Monitoring and Evolution of Very-Large-Scale Software Systems

Home

General
Staff
Contact
Partners
Alumni

Research
Areas
Projects
Papers
Books
Reports
Awards

Teaching
Lectures
Exams
B.Projects
M.Theses
PhD Theses
Go Abroad

Misc
Library
Seminars
Gallery
Links
Search

Webmaster


logo of the Johannes Kepler University (JKU)

Raytracer


Abstract

Raytracing is a technique which generates a three dimensional picture from a textual description of the spacial arrangement of different kinds of figures. The textual presentations describes the spacial ordering of the figures, the number and placement of light sources, as well as the view point of the observer.

The program calculates each pixel by following the path of the light starting from the eye of the observer. Each figure which intersects the beam is considered in its reflection behaviour. Each figure has an individually definable surface with its own colour, texture, and reflection.

The Raytracer is implemented in Oberon-2 and is extensible. One may introduce arbitrary additional figures. A new figure has to supply two procedures. One which calculates the resulting direction of the light beam after a reflection, and second a procedure which returns the beams hit position within the figures texture.

An example

SOURCE DEFINITION

CALCULATED PICTURE

World.Define
    World.Title "Example1.Bmp"
    World.LookAt <0.0 0.0 50.0>
    World.Observer <0.0 -500.0 170.0>
    World.ViewUp <0.0 0.0 1.0>
    World.Eye 57.0
    World.View 150 150
    World.Background (0.0 0.0 0.3)
    World.Ambient (0.2 0.2 0.2);
    World.Lamp <200.0 -400.0 200.0> (1.0 1.0 1.0) 8000.0
    World.Surface "Metall"
    World.Sphere <0.0 -50.0 120.0> 120.0
    World.Surface "Oberon"
    World.Polygon
      <220.0 220.0 0.0>
      <-220.0 220.0 0.0>
      <-220.0 -220.0 0.0>
      <220.0 -220.0 0.0> ~

Contact

Programmer: Klaus Mittmannsgruber
Email: klaus.mittmannsgruber@jk.uni-linz.ac.at

Supervisor: Dipl.-Ing. Markus A. Hof
Email: hof@ssw.uni-linz.ac.at

Download

Documentation and sources are available via ftp.