POV-Ray : Newsgroups : povray.general : Version 0.1 of my Ray Tracer released Server Time
18 Nov 2024 03:15:55 EST (-0500)
  Version 0.1 of my Ray Tracer released (Message 1 to 10 of 28)  
Goto Latest 10 Messages Next 10 Messages >>>
From: Micha Riser
Subject: Version 0.1 of my Ray Tracer released
Date: 24 Oct 2002 16:09:00
Message: <3db8535b@news.povray.org>
Finally I got my little ray-tracer to a stage where I think that releasing 
it to the public could make sense. Its web home is at
 
 http://www.povworld.org/raytracer/

You find there the (more or less well commented) source and a more detailed 
description of its features with some example pictures. You can also have a 
look at the API there. The ray-tracer is written in C++. It comes with some 
features that I would like to see in a future version of POV-Ray. 

Note that this is a realease for programmers only. The ray tracer does not 
come with a parser so the only way to create new scenes is by programming 
them. That is also why providing pre-compiled binaries does not make much 
sense.

If there is enough interest in discussing about the source code or further 
developping of it I can set up an appropriate communicating media. Maybe 
this project is interesting for you if you are not familiar with the POV 
3.5 code, you prefer object-oriented programming and you do not want to 
wait for POV-Ray 4 to come out of the planing stage.

Feature List:

# Object
    * Box
    * Sphere
    * Plane
    * ''fast'' Isosurface using polynom-extrapolation

# Bounding Boxes
    * Hierarchy

# CSG
    * Union
    * ''fast'' Merge and Intersection, speed in the same order as union
    * CSG copy by reference

# Pigment
    * Patterns
    * Pigment Maps
    * Camera-is-a-Pigment principle

# Texture
    * Phong
    * Transparency

# Media
    * absorbing, emitting, scattering
    * Density Mapping
    * ''fast'' Media using advanced integration technique and light cache   
      (experimental!)

# Light Source
    * Point Light

# Output
    * Write to PPM format file

As said you find some more info on 
http://www.povworld.org/raytracer/features/.

Happy programming!

- Micha Riser

-- 
objects.povworld.org - The POV-Ray Objects Collection
book.povworld.org    - The POV-Ray Book Project


Post a reply to this message

From: Warp
Subject: Re: Version 0.1 of my Ray Tracer released
Date: 24 Oct 2002 16:18:23
Message: <3db8558e@news.povray.org>
How about some example images and their render times?

-- 
#macro M(A,N,D,L)plane{-z,-9pigment{mandel L*9translate N color_map{[0rgb x]
[1rgb 9]}scale<D,D*3D>*1e3}rotate y*A*8}#end M(-3<1.206434.28623>70,7)M(
-1<.7438.1795>1,20)M(1<.77595.13699>30,20)M(3<.75923.07145>80,99)// - Warp -


Post a reply to this message

From: Micha Riser
Subject: Re: Version 0.1 of my Ray Tracer released
Date: 24 Oct 2002 16:26:21
Message: <3db8576d@news.povray.org>
Warp wrote:

>   How about some example images and their render times?
> 
There are example images on:
http://www.povworld.org/raytracer/node6.html
http://www.povworld.org/raytracer/node12.html
http://www.povworld.org/raytracer/node16.html
http://www.povworld.org/raytracer/node21.html

For the render times: If you compile the source you get a binary which can 
make the scenes showed on the pages above.. so you can see yourself.

-- 
objects.povworld.org - The POV-Ray Objects Collection
book.povworld.org    - The POV-Ray Book Project


Post a reply to this message

From: Sir Charles W  Shults III
Subject: Re: Version 0.1 of my Ray Tracer released
Date: 24 Oct 2002 16:55:41
Message: <3db85e4d$1@news.povray.org>
None of the links work.

Cheers!

Chip Shults
My robotics, space and CGI web page - http://home.cfl.rr.com/aichip


Post a reply to this message

From: Micha Riser
Subject: Re: Version 0.1 of my Ray Tracer released
Date: 24 Oct 2002 16:56:53
Message: <3db85e95@news.povray.org>
Sorry, I got the links wrong, should be:
 http://www.povworld.org/raytracer/features/node6.html
 http://www.povworld.org/raytracer/features/node12.html
 http://www.povworld.org/raytracer/features/node16.html
 http://www.povworld.org/raytracer/features/node21.html

-- 
objects.povworld.org - The POV-Ray Objects Collection
book.povworld.org    - The POV-Ray Book Project


Post a reply to this message

From: Andrew Coppin
Subject: Re: Version 0.1 of my Ray Tracer released
Date: 25 Oct 2002 06:16:09
Message: <3db919e9@news.povray.org>
Cool... Someone else has done this...

I have also made a raytracer - in Java of all things! (Well, the original
was made with Smalltalk - but who else actually has that?) Again, the only
way to make it render things is to write [miles of] Java code to generate
the appropreate datastructures. I suspect my little effort isn't nearly as
full-featured as yours - but then, I had to reinvent raytracing from first
principles! Considering I've never had a propper algebra lesson in my entire
life, I'm pretty dam impressed I got the ray/shape intersection tests to
work at all!!! (Actually, waaaaay back I tried emailling one of the POV-Team
members about the math, but never got an answer. Hardly suprising - they
probably get daft emails like this every second wednesday...)

It's currently on my webpage. I won't go into features, URL, etc unless
someone else is actually interested. (Unlike yours, mine doesn't do anything
new that POV-Ray doesn't do.)

Andrew.

PS. Isn't building a raytracer with OOP so confusing? Which kind of "object"
are you talking about... ;-)

PPS. If I were God, POV_Ray's SDL would be object-oriented (in the
programming sense).


Post a reply to this message

From: Christopher James Huff
Subject: Re: Version 0.1 of my Ray Tracer released
Date: 25 Oct 2002 09:43:59
Message: <chrishuff-BF6127.09371925102002@netplex.aussie.org>
In article <3db919e9@news.povray.org>,
 "Andrew Coppin" <orp### [at] btinternetcom> wrote:

> I have also made a raytracer - in Java of all things! (Well, the original
> was made with Smalltalk - but who else actually has that?)

You mean your original raytracer? Because "the original" raytracer was a 
piece of twine. ;-)

If you mean your original, it sounds interesting...I've always been 
interested in Smalltalk. I know of another raytracer written in 
Objective C, which is basically a halfway point between Smalltalk and C.


> Again, the only
> way to make it render things is to write [miles of] Java code to generate
> the appropreate datastructures. I suspect my little effort isn't nearly as
> full-featured as yours - but then, I had to reinvent raytracing from first
> principles! Considering I've never had a propper algebra lesson in my entire
> life, I'm pretty dam impressed I got the ray/shape intersection tests to
> work at all!!! (Actually, waaaaay back I tried emailling one of the POV-Team
> members about the math, but never got an answer. Hardly suprising - they
> probably get daft emails like this every second wednesday...)

Try a post on one of these newsgroups, maybe advanced-users.


> PS. Isn't building a raytracer with OOP so confusing? Which kind of "object"
> are you talking about... ;-)

Do what I did for my tracer: physical things are "shapes", objects are 
bundles of information/behavior. Gets rid of the ambiguity nice and 
neatly.


> PPS. If I were God, POV_Ray's SDL would be object-oriented (in the
> programming sense).

It already comes close in some ways. I think it could be made into a 
prototype-based OO language with little modification.

-- 
Christopher James Huff <cja### [at] earthlinknet>
http://home.earthlink.net/~cjameshuff/
POV-Ray TAG: chr### [at] tagpovrayorg
http://tag.povray.org/


Post a reply to this message

From: Micha Riser
Subject: Re: Version 0.1 of my Ray Tracer released
Date: 25 Oct 2002 11:43:58
Message: <3db966bd@news.povray.org>
Andrew Coppin wrote:

> I have also made a raytracer - in Java of all things! (Well, the original

Actually I have written it in Java first as well - I needed to learn java 
for my study. But it was a factor 3-10 slower than the c++ version.

> was made with Smalltalk - but who else actually has that?) Again, the only
> way to make it render things is to write [miles of] Java code to generate
> the appropreate datastructures. I suspect my little effort isn't nearly as
> full-featured as yours - but then, I had to reinvent raytracing from first
> principles! Considering I've never had a propper algebra lesson in my
> entire life, I'm pretty dam impressed I got the ray/shape intersection

While I already had algreba courses I pretty figgured out all the 
neccessary transformations for ray tracing myself... The nice thing was 
that when I came to think about how isosurfaces and volumetric media works 
I could perfectly make usage of the root finding and numerical integration 
techniques that I had been taught just before.

Actually I just today started having a graphic course which will bring me a 
bit deeper into the things and algorithms behind rendering.

> PS. Isn't building a raytracer with OOP so confusing? Which kind of
> "object" are you talking about... ;-)

Well, I called the objects' base class 'Object3D'. When you are talking of 
'classes' and 'instances' about OOP there is no name conflict.

- Micha

-- 
objects.povworld.org - The POV-Ray Objects Collection
book.povworld.org    - The POV-Ray Book Project


Post a reply to this message

From: Andrew Coppin
Subject: Re: Version 0.1 of my Ray Tracer released
Date: 25 Oct 2002 12:08:16
Message: <3db96c70@news.povray.org>
> > I have also made a raytracer - in Java of all things! (Well, the
original
> > was made with Smalltalk - but who else actually has that?)
>
> You mean your original raytracer? Because "the original" raytracer was a
> piece of twine. ;-)

<groans>

Yes, I ment *my* original. And actually, it's just occurred to me - the
*very* _first_ prototype of it was actually done with Borland's Turbo Pascal
5.5 for DOS. (Anyone remember that ol' thing?)

> If you mean your original, it sounds interesting...I've always been
> interested in Smalltalk. I know of another raytracer written in
> Objective C, which is basically a halfway point between Smalltalk and C.

C hurts my head. I tried to make an interpreter for my own OOP language that
I designed... But pointers to arrays of pointers to pointers to functions is
just _not_ fun.

> (Actually, waaaaay back I tried emailling one of the POV-Team
> > members about the math, but never got an answer. Hardly suprising - they
> > probably get daft emails like this every second wednesday...)
>
> Try a post on one of these newsgroups, maybe advanced-users.

Mmm... will maybe do that sometime... although it's not strictly
POV-related...

> > PS. Isn't building a raytracer with OOP so confusing? Which kind of
"object"
> > are you talking about... ;-)
>
> Do what I did for my tracer: physical things are "shapes", objects are
> bundles of information/behavior. Gets rid of the ambiguity nice and
> neatly.

The way my tracer works, a "shape" described the 3-dimensional form of an
object; a "texture" basically maps points to surfaces, and a "surface"
described the object's surface characteristics. (I.e., by the wonder of
polymorphism, subclasses of Surface implements light-sourcing, reflection,
refraction one day, etc.) And "object" itself is the combination of a shape
and a texture. So anyway, I just renamed it to "item"... (Java doesn't like
you declaring classes called "Object"; could have done "Object3D" or
something, but "Item" is less typing ;-)

> > PPS. If I were God, POV_Ray's SDL would be object-oriented (in the
> > programming sense).
>
> It already comes close in some ways. I think it could be made into a
> prototype-based OO language with little modification.

I thought about writing some sorta thingy that would parse an input file in
my own custom-designed language, and spit out a result in ordinary POV-Ray
SDL. But I don't understand POV-Ray's SDL well enought to do it. (Ahhhh...
tell the trueth: you can't write a parser to save your life! :-(

Andrew.


Post a reply to this message

From: Andrew Coppin
Subject: Re: Version 0.1 of my Ray Tracer released
Date: 25 Oct 2002 12:11:18
Message: <3db96d26@news.povray.org>
> Actually I have written it in Java first as well - I needed to learn java
> for my study. But it was a factor 3-10 slower than the c++ version.

I'll bet! (The speed part, that is.) Don't like Java much, but it's the only
way to reach a larger audience...

> While I already had algreba courses I pretty figgured out all the
> neccessary transformations for ray tracing myself... The nice thing was
> that when I came to think about how isosurfaces and volumetric media works
> I could perfectly make usage of the root finding and numerical integration
> techniques that I had been taught just before.
>
> Actually I just today started having a graphic course which will bring me
a
> bit deeper into the things and algorithms behind rendering.

Ah, now we did do a term studying computer graphics... Everyone thought the
guy was joking when we said our assignment was to write a program to draw an
antialiased STRAIGHT LINE using Bresenham's Algorithm... Ahh, memories...
(What am I on? It was only 5 months ago!)

> > PS. Isn't building a raytracer with OOP so confusing? Which kind of
> > "object" are you talking about... ;-)
>
> Well, I called the objects' base class 'Object3D'. When you are talking of
> 'classes' and 'instances' about OOP there is no name conflict.

Yeah, but Java has a class called "Object". Like you say, "Object3D" would
work fine; I chose "Item" instead - it works better in English as well as in
code...

Andrew.


Post a reply to this message

Goto Latest 10 Messages Next 10 Messages >>>

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.