File: s_53.html

package info (click to toggle)
povray 1%3A3.6.1-12
  • links: PTS
  • area: non-free
  • in suites: lenny, squeeze
  • size: 31,084 kB
  • ctags: 20,310
  • sloc: ansic: 110,032; cpp: 86,573; sh: 13,595; pascal: 5,942; asm: 2,994; makefile: 1,753; ada: 1,637
file content (400 lines) | stat: -rw-r--r-- 17,786 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400

<!--  This file copyright Persistence of Vision Raytracer Pty. Ltd. 2003-2004  -->
<html> 
<head>
  
<!--  NOTE: In order to users to help find information about POV-Ray using  -->
 
<!--  web search engines, we ask you to *not* let them index documentation  -->
 
<!--  mirrors because effectively, when searching, users will get hundreds  -->
 
<!--  of results containing the same information! For this reason, the two  -->
 
<!--  meta tags below disable archiving and indexing of this page by all  -->
 
<!--  search engines that support these meta tags.  -->
 
 <meta content="noarchive" name="robots">
   
 <meta content="noindex" name="robots">
   
 <meta content="no-cache" http-equiv="Pragma">
   
 <meta content="0" http-equiv="expires">
   
<title>2.1.5 The Early History of POV-Ray</title>
 <link href="povray35.css" rel="stylesheet" type="text/css"> 
</head>
 <body> 
<table class="NavBar" width="100%">
  
 <tr>
   
  <td align="left" nowrap="" valign="middle" width="32">
    <a href="s_52.html"><img alt="previous" border="0" src="prev.png"></a> 
   
  </td>
   
  <td align="left" valign="middle" width="30%">
    <a href="s_52.html">2.1.4 Features</a> 
  </td>
   
  <td align="center" valign="middle">
    <strong class="NavBar">POV-Ray 3.6 for UNIX documentation</strong><br> <strong>2.1.5 
   The Early History of POV-Ray</strong> 
  </td>
   
  <td align="right" valign="middle" width="30%">
    <a href="s_54.html">2.1.6 How Do I Begin?</a> 
  </td>
   
  <td align="right" nowrap="" valign="middle" width="32">
    <a href="s_54.html"><img alt="next" border="0" src="next.png"></a> 
   
  </td>
   
 </tr>
  
</table>
 
<h3><a name="s02_01_05">2.1.5 </a>The Early History of POV-Ray</h3>

<dl class="famousquote">
 
 <dt>
   <em>You know you have been raytracing too long when ...<br> ... You hear a name beginning with the letter K and 
  wonder if it's David Buck's middle name. </em> 
 <dd>
   <em>-- Alex McLeod</em> 
</dl>

<p>
  OK, here's a not-so brief history of POV-Ray (from the horse's mouth, so to speak): 
</p>

<p>
  Back in 1986 or so, I had an Amiga. A friend who also has an Amiga downloaded the C code for a raytracer for Unix 
 from the Internet and brought it over. I thought it looked interesting and I ported it to the Amiga and wrote the 
 drivers to display it with Amiga graphics. The program only rendered untextured spheres with a planar floor in black 
 and white, but I was still impressed by it. I played with it a bit adding support for color, but I eventually decided 
 that I could do a better job writing a raytracer from scratch, so I scrapped the C program and started my own - 
 DKBTrace had begun. 
</p>

<p>
  I decided to start with general quadric surfaces since they could represent spheres, ellipsoids, cylinders, planes, 
 and more. I worked out the ray-quadric intersection calculations and used some calculus to work out the surface normal 
 to a quadric surface at a point. For the program structure, I decided to use an object-oriented style since I had 
 learned Smalltalk at university and it fit nicely. To make modeling more flexible, I added CSG and procedural 
 textures. In the end, I had an interesting little raytracer and I decided to release it as freeware since I was 
 planning to return to university to start my Master's degree and didn't have time to develop a commercial raytracer. 
 Besides, there were already commercial renders for the Amiga that had user interfaces (not just text files) and I felt 
 I couldn't sell it as a commercial product. I called it DKBTrace and released it to local BBS'es and to the Internet. 
</p>

<p>
  DKBTrace was an Amiga-only program, but it attracted quite a lot of interest. I released several versions of it 
 adding in new features, better primitives, more texturing options, etc. Eventually I released version 2.01. 
</p>

<p>
  Sometime around 1987 or 1988, I was contacted by Aaron Collins. He had found the C code for DKBTrace and ported it 
 to the PC. He also added a Phong lighting model and a few more goodies. I was interested in what he had done, so I 
 contacted him to see if he wanted to help develop a new version of the program. This one would be portable across more 
 platforms (at university I had access to Unix workstations). We eventually came up with version 2.l2 which was the 
 last version of DKBTrace ever released (1989). 
</p>

<p>
  While Aaron and I were working up to version 2.12, there was a group of people on CompuServe who were very excited 
 about DKBTrace and were creating all sorts of neat scenes for it. They were also expressing frustration that Aaron and 
 I weren't able to add new features into DKBTrace fast enough. They started talking about building a whole new 
 raytracer from scratch that they could control and add the features they wanted. At that time, I was starting to 
 pursue other areas and was starting to drift away from raytracing. So, I posted a message on CompuServe with the 
 following offer: We could form a team to develop a new raytracer using DKBTrace as a base. I had three requirements 
 for this team. The resulting code had to be freeware with the source code freely available, it had to remain portable 
 between different platforms, and it had to have a different name than DKBTrace. 
</p>

<p>
  The name DKBTrace was, of course, based on my initials: David Kirk Buck (there's some little known trivia for you). 
 With a package developed by a team of people, it was inappropriate to use my initials. I was also starting to drift 
 away from raytracing (as I mentioned) and I didn't want people thinking that I was the head of the team forever. The 
 name that was proposed was &quot;Persistance Of Vision Raytracer&quot; which was shortened to POV-Ray. It worked in 
 three ways. It was the result of a persistent vision of the developers, it was a reference to the Salvador Dali work 
 which depicted a distorted but realistic world, and the term &quot;persistance of vision&quot; in biology referred to 
 the ability to see an image that was presented briefly - almost an after image. 
</p>

<p>
  In 1989, then, DKBTrace 2.12 was officially released and the POV-Ray project had begun. I worked with the team for 
 a few years after that. I was responsible for the Amiga port among other things. Drew Wells was the project leader. 
 Aaron Collins dropped out of the project around that time as well. Other early members included Chris Young, Steve 
 Anger, Tim Wegner, Dan Farmer, Bill Pulver (IBM drivers), and Alexander Enzmann (quartics and cool math stuff). Chris 
 Cason joined shortly after (my apologies if I left anyone out - lots of people were involved). The reference to Robert 
 Skinner in the credits for POV-Ray was because we had a hard time finding a good noise function. In another raytracer, 
 he had a great noise function written by Robert Skinner, so we asked for and received permission to use it in POV-Ray. 
</p>

<p>
  There was so much demand for us to release a new version that we created POV-Ray 0.5 and released it. It was 
 basically an enhanced DKBTrace with a similar grammar but many more features. Eventually, we released POV-Ray 1.0 
 which had the new grammar and lots of new stuff. Drew dropped out later and Chris Young took over as project leader. 
</p>

<p>
  It was around that time that I started to drift away from the POV-Ray team. The project had momentum and could 
 continue on without me. I was getting into different areas (physically based modeling and animation) and no longer had 
 the time to continue with POV-Ray. Around the release of version 2.0, I left the project and the POV-Ray team 
 developed it to its current state. Chris Cason is now the project leader. 
</p>

<p>
  Even though I'm no longer on the POV-Ray development team, I still like to follow its progress. I haven't built my 
 own scene by hand for years now (although I occasionally use Moray). I still enjoy the one thing that drove me back in 
 the DKBTrace days - I love seeing the works of other people who used my software. Even though I can no longer call 
 POV-Ray &quot;my software&quot;, I still enjoy admiring the artwork people create with it. I'm constantly amazed at 
 what people can do. It was always the feedback from user community that drove me. 
</p>

<p>
  David Buck,<br> david [at] simberon.com<br><br> august 2001 
</p>

<h4><a name="s02_01_05_01">2.1.5.1 </a>The Original Creation Message</h4>

<pre>
11906 S16/Raytraced Images
   07-Mar-91 18:56:37
Sb: DKB Development
Fm: David Buck 70521,1371
To: All

Greetings all.  This is my first posting to this group, so you'll
have to excuse me if I make any mistakes in this post.

Finally, after several weeks of waiting, I've received my CompuServe
account.  It's nice to see that people are enjoying my raytracer
(DKB, of course). I have noticed, however, that you are less than
satisfied at the support I've been able to provide &lt;grin&gt;.
True, I'm the first to admit that the support is poor.  I have 
little time these days to work on graphics - it takes long enough
to answer all the questions I get asked on a daily basis from all
across the world.

My motivation for releasing the raytracer as Freely Distributable
software in the first place was to allow people to have some fun
with a program I'd developed for just that purpose.  I don't 
consider it to be a professional package - I know it's nowhere near
that good.  I didn't make it shareware, however, because I knew I
wouldn't have much time for support.  I didn't want the hassles of
maintaining user lists, sending updates and notices, etc.

There has recently been a proposal in this forum that you write
your own raytracer to use instead of DKB.  Perhaps I can make that
prospect a little bit easier.  Suppose we take DKB and use it as a
base for a completely new system (the name &quot;Renderdog&quot; has
been tossed around, but I'm not fond of that one &lt;g&gt;). I would
like to propose the name &quot;Software Taskforce on Animation and
Rendering&quot; or STAR.  I would imagine that there would be
several packages developed such as:

 STAR Light  - the raytracer
 STAR Guider - an animation system
 STAR Maker - a user interface for StarLight

If you decide to do this, I would like to place a few rules on the
packages (or at least those developed from DKB):

  - they will remain freely distributable
  - support and maintenance of this new product will be undertaken
    by the STAR team (including but not limited to myself)
  - the programs will remain as portable as possible

What do you think of this proposal?

David Buck
</pre>

<h4><a name="s02_01_05_02">2.1.5.2 </a>The Name</h4>

<p>
  More on how POV-Ray came to its name. 
</p>

<pre>
**************************************************************
from Chris Young, to whom I asked if POV's name was related
to the title of a sci-fi book I had just found on a flea market.
**************************************************************
 
Varley is one of my favorite authors and I've owned that book 
long before POV-Ray existed.  POV-Ray was originally going to be 
called Starlight or StarLite or something similar but somebody 
else, I don't know who, said we'd get in trademark trouble over 
some existing product.  Drew Wells was team leader and he picked 
Persistence of Vision based on the properties of the human visual 
system. I also felt there was a double meaning in that POV-Ray 
was the continuation (or persistance) of David K. Buck's DKB-Trace.  
I warned Drew about Varley's book but book titles aren't as messy 
as product names.  Note also that Public Broadcasting System has 
a documentary series called POV but that stands for Point Of View 
which is the filmmaking term for hand-held camera, cinema-verite 
style used in many documentaries.
 
I wanted to take our team name from the Fractint Stone Soup Group 
and call us the Crystal Soup Group but I got voted down.
 
        Chris Young, POV-Team Coordinator
</pre>

<pre>

**************************************************************
from unknown source
**************************************************************
 
After the recent thread on the starting time I POV-Ray I did
a search and found this post to this very news group from
David Buck himself. The message places the birth of the POV-Ray
project to be in May of 1991. A very historic event!
 
I hope I'm not stepping on toes by re-posting
it  :-)
 
Harold
 
Sun, 19 Feb 1995 19:14:44 GMT
(STEERPIKE) says:
&gt;I had always presumed that Persistance of Vision was a pun on
&gt;the name of Salvador Dali's painting &quot;The Persistance of
&gt;Memory&quot;. Is this right, and if not, how did POV-Ray come to 
&gt; have such a poetic name? :)
 
The POV-Ray project started in May 1991 when I first proposed the
idea to a group of people on CompuServe.  They liked my DKBTrace
raytracer but didn't like the fact that I was too slow adding new
features to it.  They were going to re-write a raytracer from
scratch, but I suggested that after version 2.12 of DKBTrace, they
could take the code as is and develop it from there into a new
raytracer.  The first name was STAR - an acronym for something or
other.  Then someone in the group came up with &quot;Persistance of
Vision&quot;.  We liked it because of its reference to Dali (I
believe the painting was actually called Persistance of Vision - am
I mistaken?).  Moreover, it seemed to symbolize the team who 
&quot;Persisted&quot; to achieve their &quot;Vision&quot;.  The 
third reference was to the phychological effect that seeing an image
flashed on a screen causes you to retain that image in short term
memory.  Thus, your memory was a representation of reality but not
really reality. They all seemed to fit together to make a nice name.
Early on, we were abbreviating the name to PVRay, but we were
concerned about a commercial product called PV-Wave.  We agreed to
change the abbreviation to POV-Ray and standardize on the spelling.
 
&gt;David Buck
</pre>

<h4><a name="s02_01_05_03">2.1.5.3 </a>A Historic 'Version History'</h4>

<p>
  The version history as it was included in PV-Ray 0.5 BETA. Notice the name changes... 
</p>

<pre>
Persistence of Vision Raytracer Version History
-------------------------------------------------

 PV-Ray was originally DKBTrace Ver. 2.12 written by David Buck. He 
donated the rights to his source code so the PV-Team could enhance
this raytracer as a group project similar to Fractint. The source
code for PV-Ray will always be freely distributable subject to the
restrictions in the header files. Thanks David, for your generous
gift!
	
Version 0.02 BETA Release 7/29/91 (as STAR-Light)
----------------------------------
 First version is still basically DKBTrace 2.12 with a few new
 features.
 
 - Materials mapping added by Drew Wells.(see matmap.dat)
 - ONION &amp; LEOPARD textures added by Scott Taylor.
 - Time to trace display added by Bill Pulver.
 - Grayscale display (+g) for IBM-PC's added by Scott Taylor.
 - Small wood texture bug fixed to create true cylinders.
 - Verbose now displays more info including file being traced.
 - Option +vO added to enable old-style terse verbose.
 - Texture.c broken into smaller modules.
 - PAINTED1, 2, &amp; 3 added for developers.
 - BUMPY1, 2, &amp; 3 added for developers.
  
PvRay Version 0.5 BETA Release 9/07/91
----------------------------------
 Many more changes this time around, including...

- Many enhancements from Alexander Enzmann
   - Bezier bicubic subpatches
   - Polynomial surfaces
   - New mapping types (sphere, etc.)
   - Sturmian sequences
   - Clipping shapes
   - (have I forgotten anything??)
- Lots of hard work and enhancements by Aaron Collins
- Height fields by Doug Muir
- Bump Mapping by Doug Muir and Drew Wells
- Interpolation by Girish T. Hagan adapted for mapping by Drew Wells
- # and ; are now ignored. 
- case_sensitive keywords and commandline option added by Drew Wells
  &gt; case_sensitive_yes -- All words checked for exact case.
                             Keywords must be in upper case.
                             (*Old DKB Style*)
  &gt; case_sensitive_no  -- Case is ignored for all words.
  &gt; case_sensitive_opt -- DEFAULT - All words checked for exact
                             case except keywords. Keywords will be
                             accepted in upper and/or lower case. 
  &gt; command line -- /ty = yes, /tn = no, /to = opt
- cnvdat.c to convert old dat files included with pvsrc.
- C++ style commenting - // ignore to end of line. 
  and /* ignore between braces */ nesting not allowed.
- New default style verbose trace info (+v1) 
- Old-new style verbose (+v0)
- Verbose trace info outputs to stderr so that stats can be
  redirected to file.
- New stats display outputs to stdout for better redirection.
- New lighting routines by David Buck.
- The declared colors Red, Green, and Blue in colors.dat are now
  CRed, CBlue, CGreen.
- The declared quadric Sphere in shapes.dat is now QSphere.
- Textures.dat has been cleaned up and commented.
</pre>
 <br> 
<table class="NavBar" width="100%">
  
 <tr>
   
  <td align="left" nowrap="" valign="middle" width="32">
    <a href="s_52.html"><img alt="previous" border="0" src="prev.png"></a> 
   
  </td>
   
  <td align="left" valign="middle" width="30%">
    <a href="s_52.html">2.1.4 Features</a> 
  </td>
   
  <td align="center" valign="middle">
    <strong>2.1.5 The Early History of POV-Ray</strong> 
  </td>
   
  <td align="right" valign="middle" width="30%">
    <a href="s_54.html">2.1.6 How Do I Begin?</a> 
  </td>
   
  <td align="right" nowrap="" valign="middle" width="32">
    <a href="s_54.html"><img alt="next" border="0" src="next.png"></a> 
   
  </td>
   
 </tr>
  
</table>
 </body> </html>