CGTalk > Technical > Graphics Programming
Login register
Thread Closed share thread « Previous Thread | Next Thread »
 
Thread Tools Search this Thread Display Modes
Old 11-13-2003, 09:52 AM   #1
stew
Lord of the posts
 
stew's Avatar
portfolio
Stefan Werner
Senior Software Engineer
Germany
 
Join Date: Aug 2003
Posts: 892
Ever wrote your own renderer?

Did you ever write a renderer, just for kicks? I know many computer graphics courses have the assignment of implementing a raytracer, but how about the rest of us? Share your results!

I started writing my own raytracer, it just rendered its first diffuse sphere. It's @#%} slow (Java), but it's mine, all mine I'm going to use this to add some practice to all the theory I sucked in my head from various textbooks, web sites and papers.

Did anyone here ever write a REYES renderer? There are lots of hobby raytracers on the net (mine to be added soon...) but hardly any REYES renderers.

Last edited by stew : 11-13-2003 at 09:59 AM.
 
Old 11-13-2003, 11:13 AM   #2
DaKrunch
Know-it-All
 
DaKrunch's Avatar
portfolio
Davide Pesare
Artist wrangler
Pixar Animation Studios
San Francisco, USA
 
Join Date: Apr 2002
Posts: 365
i did write a software renderer, but it was for an exam and i had about 2 weeks, between other exams, so it's not very interesting!

all i can say is that it barely works and imports models (unanimated) from Max and Maya.

lots to work yet!
__________________
Davide Pesare

There are only 10 types of people in the world those who understand trinary, those who don't, and those who mistake it for binary.
 
Old 11-13-2003, 10:24 PM   #3
pgregory
Veteran
Project Lead
 
Join Date: Nov 2002
Posts: 93
Send a message via ICQ to pgregory Send a message via AIM to pgregory
Yes, I wrote a Reyes renderer in my free time purely for fun. It took quite a while >3 years, but that was mostly because it was a learning exercise and I didn't plan it at all, it just evolved. The main reason for writing it for me was that at the time there was no Renderman renderer on Windows (BMRT was Linux only then) and I wanted to play around with the neat features like programmable shading and programmable displacement. As it turned our, ther renderer itself has taken up all of my free time since, so I've never really had time to play with it.

The good thing about going Reyes/Renderman for me was the breadth of learning needed to do it properly. In addition to the obvious rendering related stuff, I had to force myself to learn something about compiler development for the shader compiler. Virtual machine design for the shader VM. RIB parsing, memory management, etc.

It is available now as an Open Source project if you want to take a look (http://www.aqsis.com).

Cheers

PaulG
 
Old 11-14-2003, 09:37 AM   #4
rendermaniac
.
Simon Bunker
Shader Writer / TD
Australia
 
Join Date: Jan 2003
Posts: 1,040
Here's my extremely poor attempt. it does spheres and almost does planes (never finished that bit). Plus it's written in Javascript as I was doing boring temp work at the time (about 2 years ago - there are much better implementations around).

http://www.rendermania.com/maniac.html

Paul's Aqsis is an incredible piece of software and there is now a pretty healthy community around it. I for one am really glad he created it.

Simon
__________________
http://www.rendermania.com/
 
Old 11-15-2003, 11:37 AM   #5
stew
Lord of the posts
 
stew's Avatar
portfolio
Stefan Werner
Senior Software Engineer
Germany
 
Join Date: Aug 2003
Posts: 892
pgregory: I use Aqsis and am very grateful that you make it availalbe to everyone.

I didn't dive into its source code yet, but I plan to do that in order to see how REYES looks like from the inside. I know the basic idea of a REYES renderer, but I don't think I'd be able to write my own implementation of it (yet) since I don't know how to approach the dicing.

rendermaniac: Neat! Is there any language that hasn't a raytracer been written in? I've seen raytracers in Perl, Haskell and even bash!

In the mean time, my raytracer grew to a size of 15 classes and is playing little 400x300 animations at 5fps (multiple spheres with Blinn/Lambert shading and a moving point light). Coming up next: A proper scene graph organization and triangles. Should this be a thread in a WIP forum then?
 
Old 11-15-2003, 03:21 PM   #6
M-J
Veteran
Student
 
Join Date: Jun 2002
Posts: 58
interesting subject :-)

i'd really love to program my own renderer, but i wouldn't know where to start. i mean, did you use any books for reference? are there any good books out there at all that teach how you would write your own renderer?
 
Old 11-15-2003, 03:55 PM   #7
stew
Lord of the posts
 
stew's Avatar
portfolio
Stefan Werner
Senior Software Engineer
Germany
 
Join Date: Aug 2003
Posts: 892
http://www.google.com/search?q=how+to+write+a+raytracer will give you a number of points to start from. In addition to that, a good textbook on computer graphics will be very helpful to give you some background knowledge. I own "Advanced Animation and Rendering Techniques" from Watt/Watt, but there are a number of other choices.
 
Old 11-15-2003, 11:56 PM   #8
Hugh
Compositor
 
Hugh's Avatar
Hugh Macdonald
2D Supervisor
Nvizible
United Kingdom
 
Join Date: Nov 2002
Posts: 1,465
Quote:
Originally posted by stew
rendermaniac: Neat! Is there any language that hasn't a raytracer been written in? I've seen raytracers in Perl, Haskell and even bash!


Haskell! Now there's a language I never want to have to work in again.... Two years of learning it at uni was quite enough for me (I wasn't purely doing Haskell for 2 years... did do other stuff too, but it felt like it )

Anyone written a raytracer in assembly? (Or even directly in binary!)
__________________
Hugh Macdonald
nvizible
 
Old 11-16-2003, 01:34 AM   #9
stew
Lord of the posts
 
stew's Avatar
portfolio
Stefan Werner
Senior Software Engineer
Germany
 
Join Date: Aug 2003
Posts: 892
Quote:
Originally posted by Hugh
Anyone written a raytracer in assembly? (Or even directly in binary!)

People did that, yes. I have seen a web page with an assembly raytracer for the C64, and I'd be surprised if there weren't assembly language raytracers for other platforms as well.

OK...I couldn't find a raytracer for the Palm Pilot. I guess I have to do that one myself.
 
Old 11-16-2003, 01:35 PM   #10
rendermaniac
.
Simon Bunker
Shader Writer / TD
Australia
 
Join Date: Jan 2003
Posts: 1,040
Andrew Glassner - Introduction to Raytracing and Realistic Raytracing by Peter Shirley are pretty good for information about raytracing in particular.

Principles of Digital Image Synthesis agains by Glassner is meant to cover a lot fo good stuff, but it aint cheap!

I am not so sure for REYES. I think the original paper describing the method is available.

Simon
__________________
http://www.rendermania.com/
 
Old 11-16-2003, 04:32 PM   #11
stew
Lord of the posts
 
stew's Avatar
portfolio
Stefan Werner
Senior Software Engineer
Germany
 
Join Date: Aug 2003
Posts: 892
I don't think the original REYES paper is available anywhere outside the ($) ACM Library.
 
Old 11-17-2003, 11:10 PM   #12
Garma
No light please, thanks
 
Garma's Avatar
It will stay hidden.
Student
Delft, Netherlands
 
Join Date: Apr 2003
Posts: 3,396
Re: Ever wrote your own renderer?

Quote:
Originally posted by stew
I started writing my own raytracer, it just rendered its first diffuse sphere. It's @#%} slow (Java), but it's mine, all mine I'm going to use this to add some practice to all the theory I sucked in my head from various textbooks, web sites and papers.




why oh why Java? If there's one thing at which java is total CRAP it's graphics. At least switch to C++! If you can write your own raytracer in java, c++ is no big deal.

Indeed I did a couple of exercises of a course I was following. It was cool, but I got a little crazy from all the math.
 
Old 12-04-2003, 11:09 PM   #13
Donovan Keith
Expert
 
Donovan Keith's Avatar
Donovan Keith
Animator / Teacher / TD
Los Angeles, USA
 
Join Date: Aug 2002
Posts: 209
Quote:
Originally posted by stew

OK...I couldn't find a raytracer for the Palm Pilot. I guess I have to do that one myself.


It's not freely available, but one of the programmers of Cinema 4D ported the cinema raytracer to the palm. This was something like 3-4 years ago. It could only render a perfect sphere and was limited to black and white output (like the palm displays at the time).
FWIW,

Donovan Keith
 
Old 12-05-2003, 10:44 PM   #14
rendermaniac
.
Simon Bunker
Shader Writer / TD
Australia
 
Join Date: Jan 2003
Posts: 1,040
You can get a raytracer for PocketPC here http://www.yasrt.org/ (not quite Paml Pilot, but close). And Playstation 2 (well running Linux).

Simon
__________________
http://www.rendermania.com/
 
Old 12-15-2003, 07:37 PM   #15
MadMax334
Veteran
 
Join Date: Sep 2003
Posts: 40
do u have the name of the paper i have access to the acm library
 
Thread Closed share thread


Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
CGSociety
Society of Digital Artists
www.cgsociety.org

Powered by vBulletin
Copyright 2000 - 2006,
Jelsoft Enterprises Ltd.
Minimize Ads
Forum Jump
Miscellaneous

All times are GMT. The time now is 04:47 AM.


Powered by vBulletin
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd.