 |
 |
|
 |
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Some years ago I made a "Hardcore Povrayer Test" just for fun. Here it is
again, with small updates.
For each statement which you feel is true in your case (be sincere), take
one point. The number of points you get is your score. The maximum number
of points is 65.
(My personal score is "only" 37, so it *is* a tough test.)
* You have participated in the IRTC and got to the top 20 best images.
* You have won a price in the IRTC.
* You have made bicubic patches by hand (and they worked as you expected).
* You have made a pov-script that creates a smooth surface with bicubic patches
using some algorithm.
* You have made triangle meshes by hand.
* You have made a pov-script which generates triangle meshes using some
algorithm.
* You have used the quadric, cubic, quartic or poly primitives.
* You have used poly objects bigger than 4th degree.
* You have calculated the polynomial for that poly object by yourself
(instead of looking at the formula somwhere or just trying random values).
* You know the format of a PCM file.
* You have made one by hand.
* You have made a program which outputs a df3 file and used it in a scene.
* You know what a df3 file is and what's its format.
* You have made a patch for povray.
* Your patch is included in MegaPov or at least it's popular.
* Your patch was included in POV-Ray 3.5.
* You have made a popular tool for povray.
* You have used every object type, every camera type, every light source
type, every media type, etc. and know how to use them.
* You could write a torus-shaped isosurface by memory, without needing
to look anywhere for the function.
* Even if you don't remember the torus function, you could deduce it by
yourself, without looking it anywhere.
* You know what is the "sturmian root solver" thing which is used with the
'sturm' keyword in some objects (ie. you know the algorithm it uses).
* The intensity multiplier curves and light fading functions in the light
source section of the povray manual are very clear and you understand
them perfectly (and you might use them to choose your light source
types).
* You understand how photon mapping works (at algorithm level).
* You have found the 'average normal bug' by yourself in a povray version
previous than 3.1e.
* You know exactly what was causing it.
* You never include the povray include libraries (like colors.inc) because
they slow parsing, but always define your colors, textures, etc by
yourself.
* You only use the png format when working with povray.
* You always use it with alpha channel.
* It's very easy to you to make slope maps and actually you often use
them to make your textures.
* You know what the 'use_index' keyword is used for without looking at
the manual.
* You understand the matrix transformation and you can write them by hand.
* You know how to calculate the matrix from any number of consecutive
transformations (translate, scale, rotate).
* For any given identifier name you can tell by heart if it's a reserved
keyword (ie. an illegal identifier name) or not (of course without having
syntax highlighting to help you).
* You could make any of the Chris Colefax's includes or macros by yourself
if you wanted.
* You use frequency, phase, octaves, omega and lambda without problems
when creating your own textures.
* You can tell what does each one of them do (without looking at the
documentation).
* You understand the scattering function pictures in the media section of
the documentation.
* You remember all the keywords that can be put in a global_settings block and
you know what do they mean and how to use them.
* Making good-looking radiosity images is not a problem to you.
* You remember all the built-in float and vector identifiers.
* You use all the vector and string functions without problem.
* You know if some special feature is already implemented in the POV-Ray 3.5
standard include files (and thus you know you don't have to implement it
yourself).
* Functions, macros, arrays, loops and file-IO directives are a piece of cake.
* You never get the "camera is inside non-hollow object" warning. If you
ever get it, it's absolutely intentional.
* You have made a modeller for povray.
* You often debug your povray code using the text message streams.
* You can easily calculate the camera parameters when you want to put a
box right in front of the camera so that it completely and exactly fills
the viewing area.
* You know which .c and .h files you must change to add a keyword to the
parser.
* You can add a keyword and get it right the first time.
* You know which .c file contains the functionality for each aspect of
the renderer.
* You can find a bug in the renderer source code given just a description
of the symptoms and without using a debugger.
* You know BOTH reasons why a mesh can't be used in CSG.
* You know why refraction and media do work with meshes, even though CSG
doesn't.
* You know that 'merge' doesn't have to be a primitive CSG operation
and can recite the equivalent sequence of intersections, unions, and
inverses.
* You know that 'difference' isn't a primitive CSG operation and you
know how POV represents one internally.
* You understand how 'bounded_by' _really_ works.
* You know that a height_field has an inside and how it is defined.
* You've written your own include file and distributed it on the net. It has
got some popularity.
* You understand all the options to 'media' without having to look in
the manual.
* You know, without looking at the docs, how antialiasing methods 1 and 2 work
and what's their difference.
* You have made yourself an obfuscated signature in POV-Ray SDL in 4 lines
or less, and you use it by default when posting to the POV-Ray news server.
* You didn't know the answer to one of the above questions so you tried
to find it in the manual.
* You didn't know the answer to one of the above questions so you tried
to find it in the source code.
* You didn't know that 'merge' wasn't a primitive but now that you do
you have worked it out for yourself.
* You are a member of the POV-Team.
--
#macro N(D)#if(D>99)cylinder{M()#local D=div(D,104);M().5,2pigment{rgb M()}}
N(D)#end#end#macro M()<mod(D,13)-6mod(div(D,13)8)-3,10>#end blob{
N(11117333955)N(4254934330)N(3900569407)N(7382340)N(3358)N(970)}// - Warp -
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
On 31 Jan 2002 11:58:22 -0500, Warp wrote:
46. More if I can get multiple points for the .signature one. :) But
you're only really hardcore if you use that .signature on Usenet too.
Of course, it's impossible to get a perfect score, but I didn't even get
close. Too many "knows all the options to <complicated thing nobody ever
uses all the options for>" questions.
Also, while you're updating, the .c questions will have to change to .cpp.
--
#macro R(L P)sphere{L F}cylinder{L P F}#end#macro P(V)merge{R(z+a z)R(-z a-z)R(a
-z-z-z a+z)torus{1F clipped_by{plane{a 0}}}translate V}#end#macro Z(a F T)merge{
P(z+a)P(z-a)R(-z-z-x a)pigment{rgbf 1}hollow interior{media{emission 3-T}}}#end
Z(-x-x.2x)camera{location z*-10rotate x*90normal{bumps.02scale.05}}
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Warp <war### [at] tag povray org> wrote in message news:3c5977ae@news.povray.org...
>
> For each statement which you feel is true in your case (be sincere), take
> one point. The number of points you get is your score. The maximum number
> of points is 65.
> (My personal score is "only" 37, so it *is* a tough test.)
>
>
15 for me.
--
Tom Bates
(let's see if this doesn't get wrapped this time)
#macro T(B)#local m=mod(B,8);#local B=floor(B/8);m#end#local C=126981491245202;#
local D=115694168992822;sphere_sweep{b_spline 16#local i=0;#while(i<16)<T(C)-4,T
(D)-4,10-i/10>.1#local i=i+1;#end pigment{rgb 1}}light_source{-10,1} //Tom Bates
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
14!
Wow, I'm a genius!
I agree with Ron Parker that many questions aren't realistic,
those "know all about everything that is concerned with X"
may be true in some cases, but in most, you'll have to be
Einstein or Rain Man to do that...
--
Tim Nikias
Homepage: http://www.digitaltwilight.de/no_lights/index.html
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
"Tim Nikias" <tim### [at] gmx de> wrote:
> 14!
87178291200 ? ... wow ... thats a lot
--
#macro J(N A)#local a=mod(N 3);#local W=<int(mod(A,4)*2)int(-A/4)9>*2;#if
(!mod(a 2))sphere{W,2,2pigment{color rgb<a*5A/2W.x/A*5>}}#if(a<1)sphere{W
+<2,0>2 2pigment{color rgb<a*10A 10>}}#end#end#if(N>3)J(int(N/3)A+1)#end#
end blob{J(29229171 0)threshold 1translate<-6 3>}/******Jan Walzer******/
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Ron Parker <ron### [at] povray org> wrote:
: Too many "knows all the options to <complicated thing nobody ever
: uses all the options for>" questions.
I'm open to suggestions. :)
--
#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
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
In article <3c598dcb@news.povray.org> , Warp <war### [at] tag povray org> wrote:
> : Too many "knows all the options to <complicated thing nobody ever
> : uses all the options for>" questions.
>
> I'm open to suggestions. :)
How about "You modified POV-Ray to support real-time ray-tracing"?
Thorsten
____________________________________________________
Thorsten Froehlich, Duisburg, Germany
e-mail: tho### [at] trf de
Visit POV-Ray on the web: http://mac.povray.org
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
In article <3c5977ae@news.povray.org> , Warp <war### [at] tag povray org> wrote:
> (My personal score is "only" 37, so it *is* a tough test.)
Mine is 36 - I really should _use_ POV-Ray more often...
Thorsten
____________________________________________________
Thorsten Froehlich
e-mail: mac### [at] povray org
I am a member of the POV-Ray Team.
Visit POV-Ray on the web: http://mac.povray.org
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
25.
But, uhm:
* You didn't know the answer to one of the above questions so you tried to find
it in the manual.
So you get a point for cheating?
cu!
--
camera{location-z*3}#macro G(b,e)b+(e-b)*(C/50)#end#macro L(b,e,k,l)#local C=0
;#while(C<50)sphere{G(b,e),.1pigment{rgb G(k,l)}finish{ambient 1}}#local C=C+1
;#end#end L(y-x,y,x,x+y)L(y,-x-y,x+y,y)L(-x-y,-y,y,y+z)L(-y,y,y+z,x+y)L(0,x+y,
<.5,1,.5>,x)L(0,x-y,<.5,1,.5>,x) // ZK http://www.povplace.be.tf
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
On Thu, 31 Jan 2002 20:02:27 +0100, Zeger Knaepen wrote:
> 25.
> But, uhm:
> * You didn't know the answer to one of the above questions so you tried to find
> it in the manual.
>
> So you get a point for cheating?
Nope. You get a point for trying to better yourself. You don't get the
point for the question you had to look up the answer to. Thus, the best
score you can get is 64.
--
plane{-z,-3normal{crackle scale.2#local a=5;#while(a)warp{repeat x flip x}rotate
z*60#local a=a-1;#end translate-9*x}pigment{rgb 1}}light_source{-9red 1rotate 60
*z}light_source{-9rgb y rotate-z*60}light_source{9-z*18rgb z}text{ttf"arial.ttf"
"RP".01,0translate-<.6,.4,.02>pigment{bozo}}light_source{-z*3rgb-.2}//Ron Parker
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
in news:3c5977ae@news.povray.org Warp wrote:
23,
...and they let me fool around with the docs....
Ingo
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Zeger Knaepen <zeg### [at] student kuleuven ac be> wrote:
: * You didn't know the answer to one of the above questions so you tried to find
: it in the manual.
: So you get a point for cheating?
The meaning of that is that you didn't know the answer to some question
and thus you didn't take a point in that question, but it interested you
so much that you tried to find the answer.
--
#macro N(D)#if(D>99)cylinder{M()#local D=div(D,104);M().5,2pigment{rgb M()}}
N(D)#end#end#macro M()<mod(D,13)-6mod(div(D,13)8)-3,10>#end blob{
N(11117333955)N(4254934330)N(3900569407)N(7382340)N(3358)N(970)}// - Warp -
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Warp wrote:
> Some years ago I made a "Hardcore Povrayer Test" just for fun.
Hmmm... only 21, and cheating a bit! Hardcore is not for me... I will
better keep listening groove.
--
Jaime Vives Piqueres
La Persistencia de la Ignorancia
http://www.ignorancia.org
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Warp wrote:
>
> Some years ago I made a "Hardcore Povrayer Test" just for fun. Here it is
> again, with small updates.
>
> For each statement which you feel is true in your case (be sincere), take
> one point. The number of points you get is your score. The maximum number
> of points is 65.
> (My personal score is "only" 37, so it *is* a tough test.)
30, but with some questions i had doubts about the answer (and then
answered 'no').
A lot of questions are not very good, i picked out a few of them:
> * You never include the povray include libraries (like colors.inc) because
> they slow parsing, but always define your colors, textures, etc by
> yourself.
This is total crap of course, esp. with Povray 3.5
> * You only use the png format when working with povray.
Why does this qualify for a hardcore Pover?
> * You have made a modeller for povray.
Can you define 'modeller' please?
> * You know BOTH reasons why a mesh can't be used in CSG.
What is the second one?
I also have some suggestions:
* You have written isosurface functions by hand with more than X
characters (for 'X' use a reasonable value, for example 2000)
* You know the parameters of every internal function of Povray 3.5
(functions.inc) without looking it up. (that's a really hard one, maybe
just knowing every function is enough...)
* Your longest render was more than X days (X=5, 10, 20 or more)
--
Christoph Hormann <chr### [at] gmx de>
IsoWood include, radiosity tutorial, TransSkin and other
things on: http://www.schunter.etc.tu-bs.de/~chris/
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
25 ...
damn ...
maybe additional point for:
"you don't know .... but you know exactly where to find it in the docs ?"
--
#macro J(N A)#local a=mod(N 3);#local W=<int(mod(A,4)*2)int(-A/4)9>*2;#if
(!mod(a 2))sphere{W,2,2pigment{color rgb<a*5A/2W.x/A*5>}}#if(a<1)sphere{W
+<2,0>2 2pigment{color rgb<a*10A 10>}}#end#end#if(N>3)J(int(N/3)A+1)#end#
end blob{J(29229171 0)threshold 1translate<-6 3>}/******Jan Walzer******/
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
On Thu, 31 Jan 2002 21:09:41 +0100, Christoph Hormann wrote:
>> * You know BOTH reasons why a mesh can't be used in CSG.
>
> What is the second one?
Oh, sure, we tell you and then you tell someone else and pretty soon
everyone has an extra hardcore point.
It's because (at least in 3.1) All_Mesh_Intersections doesn't actually
return all of the intersections; it just returns the closest one.
> * Your longest render was more than X days (X=5, 10, 20 or more)
I rendered the sample scenes on my old Amiga when I started using POV;
some of those took days to render.
--
#local R=<7084844682857967,0787982,826975826580>;#macro L(P)concat(#while(P)chr(
mod(P,100)),#local P=P/100;#end"")#end background{rgb 1}text{ttf L(R.x)L(R.y)0,0
translate<-.8,0,-1>}text{ttf L(R.x)L(R.z)0,0translate<-1.6,-.75,-1>}sphere{z/9e3
4/26/2001finish{reflection 1}}//ron.parker@povray.org My opinions, nobody else's
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
In article <3C59A485.39D4EB53@gmx.de> , Christoph Hormann
<chr### [at] gmx de> wrote:
> * You have written isosurface functions by hand with more than X
> characters (for 'X' use a reasonable value, for example 2000)
Whatever size you pick up to the limit that functions allow, I have created
such a function ... not that alternating sequences of x-x+y-y+z-z or similar
combinations make a lot of sense ;-)
Thorsten
____________________________________________________
Thorsten Froehlich, Duisburg, Germany
e-mail: tho### [at] trf de
Visit POV-Ray on the web: http://mac.povray.org
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Ron Parker wrote:
>
> Oh, sure, we tell you and then you tell someone else and pretty soon
> everyone has an extra hardcore point.
>
> It's because (at least in 3.1) All_Mesh_Intersections doesn't actually
> return all of the intersections; it just returns the closest one.
I only know one reason: There is no 'inside' and 'outside' in a mesh.
This is perfectly sufficient. The problem with this questions is that you
can answer it on different levels, the logical and the programming level,
of course in the latter you can easily find several reasons.
>
> > * Your longest render was more than X days (X=5, 10, 20 or more)
>
> I rendered the sample scenes on my old Amiga when I started using POV;
> some of those took days to render.
>
The idea for this question is that a hardcore Pover devotes more
computational power to render jobs, whether the scene is complicated or
not is not the question IMO.
--
Christoph Hormann <chr### [at] gmx de>
IsoWood include, radiosity tutorial, TransSkin and other
things on: http://www.schunter.etc.tu-bs.de/~chris/
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
In article <3c5977ae@news.povray.org>, war### [at] tag povray org says...
I didn't pass one single question of the test, so I guess for me it is
0.
Who did worse??
:((
--
Regards,
Sander
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
On Thu, 31 Jan 2002 22:08:05 +0100, Christoph Hormann wrote:
>
>
> Ron Parker wrote:
>>
>> Oh, sure, we tell you and then you tell someone else and pretty soon
>> everyone has an extra hardcore point.
>>
>> It's because (at least in 3.1) All_Mesh_Intersections doesn't actually
>> return all of the intersections; it just returns the closest one.
>
> I only know one reason: There is no 'inside' and 'outside' in a mesh.
> This is perfectly sufficient. The problem with this questions is that you
> can answer it on different levels, the logical and the programming level,
> of course in the latter you can easily find several reasons.
Nope, those two are the only ones I know. The 'inside' vs. 'outside' thing
is basically programming, too, in the case of meshes where such is defined,
so I don't see the same dichotomy you do here.
--
plane{-z,-3normal{crackle scale.2#local a=5;#while(a)warp{repeat x flip x}rotate
z*60#local a=a-1;#end translate-9*x}pigment{rgb 1}}light_source{-9red 1rotate 60
*z}light_source{-9rgb y rotate-z*60}light_source{9-z*18rgb z}text{ttf"arial.ttf"
"RP".01,0translate-<.6,.4,.02>pigment{bozo}}light_source{-z*3rgb-.2}//Ron Parker
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Thorsten Froehlich wrote:
>
> > * You have written isosurface functions by hand with more than X
> > characters (for 'X' use a reasonable value, for example 2000)
>
> Whatever size you pick up to the limit that functions allow, I have created
> such a function ... not that alternating sequences of x-x+y-y+z-z or similar
> combinations make a lot of sense ;-)
Probably this should be changed to 'You have written and used in a
scene'. You are still allowed to answer yes of course... ;-)
--
Christoph Hormann <chr### [at] gmx de>
IsoWood include, radiosity tutorial, TransSkin and other
things on: http://www.schunter.etc.tu-bs.de/~chris/
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Ron Parker wrote:
>
> Nope, those two are the only ones I know. The 'inside' vs. 'outside' thing
> is basically programming, too, in the case of meshes where such is defined,
> so I don't see the same dichotomy you do here.
If you have a method to determine if some point is inside or outside the
object there is nothing further needed apart from the existing
intersection routines. This makes only one reason why a mesh can't be
used in CSG.
Or did i miss something essential?
--
Christoph Hormann <chr### [at] gmx de>
IsoWood include, radiosity tutorial, TransSkin and other
things on: http://www.schunter.etc.tu-bs.de/~chris/
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
y-y-y-n-y-n-n-n-n-y-n-n-y-n-n-n-n-y?-y-y-n-y-y-n-n-y?-y-n?-y-n-y-n-y?-y, but probably
worse-y-y-n-y-y-y-y-y, I think-y-y-n-y-n, but give me a piece of paper and could try
it-n, never looked at the source-n-n-n-n, just the obvious one-y-n, really?-y-y-y-y
but not for the popularity-y-y-n, not obfuscated-y-y: intersection {
sphere {
y-x/2,1 inverse}
sphere {
y+x/2,1 inverse}
inverse
pigment {
rgb 1 transmit 0.5}
}
-definitely no.
So, that would make it a... 36. Hmm, maybe I cheated a bit too much?
--
#local j=text{ttf"arial""JRG".2,0}#local J=0;#while(J<10)#local R=0;#while
(R<2)#local G=0;#while(G<1)#if(inside(j<R,G.1>))object{j scale.025translate
<R-1G-J/20J/-40+2>pigment{rgb<9J>}}#debug"O"#else#debug" "#end#local G=G+
.025;#end#local R=R+.05;#debug"\n"#end#local J=J+1;#end// JRG
Home: http://digilander.iol.it/jrgpov //New: Kitchen scene WIP
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
> I didn't pass one single question of the test, so I guess for me it is
> 0.
>
> Who did worse??
>
Zero, but i'd get a point if the first question read:
* You have participated in the IRTC and got to the top 21 best images.
Although I did once write some code to display triangle meshes. It even
performed simple shading...
does that count as a modeller?
So with a little cheating I get 2 points - more of a softcore pover I
think...that'd be my Channel 5 compared to Warp's Adult Channel ;>
Jim
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
On Thu, 31 Jan 2002 22:38:28 +0100, Christoph Hormann
<chr### [at] gmx de> wrote:
>If you have a method to determine if some point is inside or outside the
>object there is nothing further needed apart from the existing
>intersection routines. This makes only one reason why a mesh can't be
>used in CSG.
>Or did i miss something essential?
For CSG, you'll need all intersections, and in 3.1, the
All_Mesh_Intersections function returned just the closest one (for
speed reasons I guess).
Peter Popov ICQ : 15002700
Personal e-mail : pet### [at] vip bg
TAG e-mail : pet### [at] tag povray org
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Warp wrote:
>
> Some years ago I made a "Hardcore Povrayer Test" just for fun. Here it is
> again, with small updates.
>
> For each statement which you feel is true in your case (be sincere), take
> one point. The number of points you get is your score. The maximum number
> of points is 65.
> (My personal score is "only" 37, so it *is* a tough test.)
My score: About 10.
Tor Olav
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
On 31 Jan 2002 13:32:43 -0500, Warp <war### [at] tag povray org> wrote:
> I'm open to suggestions. :)
Does being a TAG member count? How about alpha and pre-beta testers?
How about coordinators (scene files, docs)?
Does writing a raytracer count? How about a 3D engine using other
methods of visualization (voxel geometry, point clouds, scanline)?
Maybe you should include the julia object in there in terms of trivia.
Well, that's pretty much it for now.
Peter Popov ICQ : 15002700
Personal e-mail : pet### [at] vip bg
TAG e-mail : pet### [at] tag povray org
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
> The meaning of that is that you didn't know the answer to some question
> and thus you didn't take a point in that question, but it interested you
> so much that you tried to find the answer.
oh, yes, forgot about that :)
cu!
--
camera{location-z*3}#macro G(b,e)b+(e-b)*(C/50)#end#macro L(b,e,k,l)#local C=0
;#while(C<50)sphere{G(b,e),.1pigment{rgb G(k,l)}finish{ambient 1}}#local C=C+1
;#end#end L(y-x,y,x,x+y)L(y,-x-y,x+y,y)L(-x-y,-y,y,y+z)L(-y,y,y+z,x+y)L(0,x+y,
<.5,1,.5>,x)L(0,x-y,<.5,1,.5>,x) // ZK http://www.povplace.be.tf
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Ok, I tried to make the test more rational and also divide it into more
readable sections. What do you think? What is your new score?
The maximum score (this time I think it's reachable) is 66.
I myself got a score of 48. (Ok, perhaps the test got a bit biased
torwards my own knowledge, but I tried to keep it as unbiased as possible;
judge by yourself :) )
POV-SDL:
-------
* Functions, macros, arrays, loops and file-IO directives are a piece of cake
to you.
* You don't like modellers because they don't allow you to create your
scenes algorithmically. It's a lot more interesting to find an algorithm
to create certain effect or surface than just doing it with the mouse.
* It's not unusual that the scene files you write take several minutes to
parse, even though the file itself only takes a few hundreds of lines.
* It sometimes happens that the scene you made takes a lot longer to parse
than to render, even at a very high resolution and lots of antialiasing.
* You have made yourself an obfuscated signature in POV-Ray SDL in 4 lines
or less, and you use it by default when posting to the POV-Ray news server.
* For any given identifier name you can tell by heart if it's a reserved
keyword (ie. an illegal identifier name) or not (of course without having
syntax highlighting to help you).
* You often debug your povray code using the text message streams.
* You've written your own include file and distributed it on the net. It has
got some popularity.
POV features:
------------
* You have made bicubic patches by hand, by writing plain coordinates (and
they worked as you expected).
* You have made a pov-script that creates a smooth surface with bicubic patches
using some algorithm.
* You know the principle behind joining several bicubic patches so that they
form a contiguous smooth surface (with no sharp edges).
* You know what is the relation between bicubic patches and bezier splines.
* You have made triangle meshes by hand, by writing plain coordinates.
* You have made a pov-script which generates triangle meshes using some
algorithm.
* These meshes you create usually use UV-mapping.
* You know the basic principle of smoothing a mesh, ie. make a mesh of
smooth triangles from a mesh of regular flat triangles.
* It's very easy to you to make slope maps and actually you often use
them to make your textures.
* You use frequency, phase, octaves, omega and lambda without problems
when creating your own textures.
* You can tell what does each one of them do.
* You understand the scattering function pictures in the media section of
the documentation.
* The intensity multiplier curves and light fading functions in the light
source section of the povray manual are very clear and you understand
them perfectly (and you might use them to choose your light source
types).
* Making good-looking radiosity images is not a problem to you.
* You could make any of the Chris Colefax's includes or macros by yourself
if you wanted.
* You know if some special feature is already implemented in the POV-Ray 3.5
standard include files (and thus you know you don't have to implement it
yourself).
* You never get the "camera is inside non-hollow object" warning. If you
ever get it, it's absolutely intentional.
* You know that a height_field has an inside and how it is defined.
* You know, without looking at the docs, how antialiasing methods 1 and 2 work
and what's their difference. You know why method 2 gives usually a much
better result but is slower.
Math:
----
* You have used the quadric, cubic, quartic or poly primitives.
* You have used poly objects bigger than 4th degree.
* You have calculated the polynomial for that poly object by yourself
(instead of looking at the formula somwhere or just trying random values).
* Making isosurfaces is not a problem to you. The only problem is just
figuring out the right function.
* You could write a torus-shaped isosurface by memory, without needing
to look anywhere for the function.
* Even if you don't remember the torus function, you could deduce it by
yourself, without looking it anywhere.
* You usually know when an isosurface function can be implemented as a
poly primitive, and you could convert the function to polynomial form and
construct the poly primitive from it (the torus function is one example
of this).
* You know what is the "sturmian root solver" thing which is used with the
'sturm' keyword in some objects (ie. you know the algorithm it uses) and
why it is needed sometimes.
* You understand the matrix transformation and you can write them by hand.
* You know how to calculate the matrix from any number of consecutive
transformations (translate, scale, rotate). (This means, for example,
that you could write a #macro which creates the matrix transformation from
any given set of other transformations.)
* You know how to use all the internal float, vector and string functions
without problem. You usually use them a lot.
* You can easily calculate the camera parameters when you want to put a
box right in front of the camera so that it completely and exactly fills
the viewing area.
Raytracing algorithms:
---------------------
* You know the principles of raytracing. For example, you know how to calculate
the intersection of a segment and a simple primitive like a sphere, and
how to calculate basic lighting for this intersection point. You might even
have written a simple raytracer some time.
* You understand why hidden surface removal, shadow testing, reflections and
refractions are so easy to implement in raytracing and so difficult to
implement in other rendering techniques. You know how they are implemented
in raytracing.
* You understand why non-linear transformations are next to impossible to
implement for any given primitive. You understand why, regardless of this,
any type of transformation is possible for pigments and such.
* You know how CSG operations are implemented in raytracing.
* You know that 'merge' doesn't have to be a primitive CSG operation
and can recite the equivalent sequence of intersections, unions, and
inverses.
* You know that 'difference' isn't a primitive CSG operation and you
know how POV represents one internally.
* You know BOTH reasons why a mesh can't be used in CSG.
* You know why refraction and media do work with meshes, even though CSG
doesn't.
* You understand how the stochastic radiosity algorithm used by POV-Ray
works at algorithmical level.
* You understand how photon mapping works at algorithmical level.
* You understand how dispersion works at algorithmical level.
Formats:
-------
* You have made a program which outputs a df3 file and used it in a scene.
* You know what a df3 file is and what's its format.
* You know the format of a PCM file.
* You have made one by hand.
The IRTC:
--------
* You participate in almost every IRTC contest.
* You have got to the top 20 best still images.
* You have won a price in the IRTC.
POV-Ray programming:
-------------------
* You have made a patch for povray.
* Your patch is included in MegaPov or at least it's popular.
* Your patch was included in POV-Ray 3.5.
* You have made a popular external tool for povray.
* You know which .cpp and .h files you must change to add a keyword to the
parser.
* You can add a keyword and get it right the first time.
* You know which .cpp file contains the functionality for each aspect of
the renderer.
* You can find a bug in the renderer source code given just a description
of the symptoms and without using a debugger.
* You are a member of the POV-Team.
--
#macro N(D)#if(D>99)cylinder{M()#local D=div(D,104);M().5,2pigment{rgb M()}}
N(D)#end#end#macro M()<mod(D,13)-6mod(div(D,13)8)-3,10>#end blob{
N(11117333955)N(4254934330)N(3900569407)N(7382340)N(3358)N(970)}// - Warp -
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
On 31 Jan 2002 18:39:34 -0500, Warp wrote:
54 this time.
--
#macro R(P)z+_(P)_(P)_(P+1)_(P+1)+z#end#macro Q(C,T)bicubic_patch{type 1u_steps
6v_steps 6R(1)R(3)R(5)R(7)pigment{rgb z}}#end#macro _(Y)#local X=asc(substr(C,Y
,1))-65;<T+mod(X,4)div(X,4)9>-2#end#macro O(T)Q("ABEFUQWS",T)Q("WSXTLOJN",T)#
end O(0)O(3)Q("JNKLCGCD",0)light_source{x 1}// ron### [at] povray org
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
In article <3c59d5b6@news.povray.org>, Warp <war### [at] tag povray org>
wrote:
> Ok, I tried to make the test more rational and also divide it into more
> readable sections. What do you think? What is your new score?
>
> The maximum score (this time I think it's reachable) is 66.
> I myself got a score of 48. (Ok, perhaps the test got a bit biased
> torwards my own knowledge, but I tried to keep it as unbiased as possible;
> judge by yourself :) )
I also got 48, not counting the ones mentioned below.
> * You've written your own include file and distributed it on the net. It has
> got some popularity.
Well...I've done a lot of work on the scene and include file collections
for 3.5, and I once released a macro collection, though nobody ever used
it...
> * It's very easy to you to make slope maps and actually you often use
> them to make your textures.
No...if I need that much control of surface features, I generally use
isosurfaces. ;-)
> * You know if some special feature is already implemented in the POV-Ray 3.5
> standard include files (and thus you know you don't have to implement it
> yourself).
I think I'll refrain from answering this one...
> * You have used the quadric, cubic, quartic or poly primitives.
Nope, I stick to isosurfaces. That count? I think it should...
> * You have used poly objects bigger than 4th degree.
I've used polynomials of greater than 4th degree in isosurfaces...
Hmm...you know how to do real blurred reflection, you can get the media
parameters right on the first try (or first few tries), you know the
difference between using a colored transparent texture and using
fade_color or media, you can explain why using a mesh is better than a
union of triangles, you've run into the "patterned textures in layered
textures" error, you've reached the depth limit in recursive macros, you
have used the POV-Ray scene description language for purposes which have
nothing to do with scene description...
--
Christopher James Huff <chr### [at] mac com>
POV-Ray TAG e-mail: chr### [at] tag povray org
TAG web site: http://tag.povray.org/
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
I got a 43.
--
Mark
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
On Fri, 01 Feb 2002 00:31:22 -0500, Christopher James Huff wrote:
> Hmm...you know how to do real blurred reflection, you can get the media
> parameters right on the first try (or first few tries), you know the
> difference between using a colored transparent texture and using
> fade_color or media, you can explain why using a mesh is better than a
> union of triangles, you've run into the "patterned textures in layered
> textures" error, you've reached the depth limit in recursive macros, you
> have used the POV-Ray scene description language for purposes which have
> nothing to do with scene description...
You had a hand in creating the current method used to do blurred reflection;
you've run into the "too many layers" error...
...you've gotten past it by creating a single-layered texture that looks just
like the one you couldn't get with layers...
...you've done that without using a texture_map;
you've used nested pigment_maps;
you understand what "form" and "metric" do in the 3.5 crackle pattern;
you understand why, given that A is #declared as a number, (A) and A aren't
always the same thing;
you've used 'radial' more than once in the same pigment;
you know all of the options to the repeat warp;
you've used one or more repeat warps to create your own infinitely-tileable
patterns;
...at least one of those patterns does not appear to be made of rectilinear
regions;
you know how to force the media code to take more samples in an interesting
area of the scene;
you understand why a plane makes a bad media container;
you know how to use type 5 scattering media;
you know how to simulate distance-dependent reflection;
you know how to use .df3 files to create arbitrary full-color solid pigments;
you've used multiple text objects to achieve a desired text effect...
--
#local R=<7084844682857967,0787982,826975826580>;#macro L(P)concat(#while(P)chr(
mod(P,100)),#local P=P/100;#end"")#end background{rgb 1}text{ttf L(R.x)L(R.y)0,0
translate<-.8,0,-1>}text{ttf L(R.x)L(R.z)0,0translate<-1.6,-.75,-1>}sphere{z/9e3
4/26/2001finish{reflection 1}}//ron.parker@povray.org My opinions, nobody else's
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
32
cu!
--
camera{location-z*3}#macro G(b,e)b+(e-b)*(C/50)#end#macro L(b,e,k,l)#local C=0
;#while(C<50)sphere{G(b,e),.1pigment{rgb G(k,l)}finish{ambient 1}}#local C=C+1
;#end#end L(y-x,y,x,x+y)L(y,-x-y,x+y,y)L(-x-y,-y,y,y+z)L(-y,y,y+z,x+y)L(0,x+y,
<.5,1,.5>,x)L(0,x-y,<.5,1,.5>,x) // ZK http://www.povplace.be.tf
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
"Warp" <war### [at] tag povray org> wrote in message
news:3c59d5b6@news.povray.org...
> Ok, I tried to make the test more rational and also divide it into more
> readable sections. What do you think? What is your new score?
>
> The maximum score (this time I think it's reachable) is 66.
> I myself got a score of 48. (Ok, perhaps the test got a bit biased
> torwards my own knowledge, but I tried to keep it as unbiased as possible;
> judge by yourself :) )
>
8 :-< (10 if I take the questions about itrc literally since my best
placing pic was
created in Vue d'espirit)
Warp, I suggest for the questions about top 20 and prize in irtc add the
requirement that the pic must have been created in pov-ray
Gail
--
#macro G(H,S)disc{0z.4pigment{onion color_map{[0rgb<sin(H/pi)cos(S/pi)*(H<6)
cos(S/pi)*(H>6)>*18][.4rgb 0]}}translate<H-5S-3,9>}#end G(3,5)G(2,5.5)G(1,5)
G(.6,4)G(.5,3)G(.6,2)G(1,1)G(2,.5)G(3,.7)G(3.2,1.6)G(3.1,2.5)G(2.2,2.5)G(9,5
)G(8,5.5)G(7,5)G(7,4)G(7.7,3.3)G(8.3,2.7)G(9,2)G(9,1)G(8,.5)G(7,1)//GS
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Peter Popov wrote:
>
> For CSG, you'll need all intersections, and in 3.1, the
> All_Mesh_Intersections function returned just the closest one (for
> speed reasons I guess).
I think i understand what you mean, so it's clearly a 'Povray internals'
question and not a 'Raytracing in general' one, of course it's perfectly
valid for the list though.
--
Christoph Hormann <chr### [at] gmx de>
IsoWood include, radiosity tutorial, TransSkin and other
things on: http://www.schunter.etc.tu-bs.de/~chris/
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
25 now for me (up 10 from 15).
including:
* You know BOTH reasons why a mesh can't be used in CSG.
(I do now)
--
Tom Bates
#macro T(B)#local m=mod(B,8);#local B=floor(B/8);m#end#local C=126981491245202;#
local D=115694168992822;sphere_sweep{b_spline 16#local i=0;#while(i<16)<T(C)-4,T
(D)-4,10-i/10>.1#local i=i+1;#end pigment{rgb 1}}light_source{-10,1} //Tom Bates
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
in news:slr### [at] fwi com Ron Parker wrote:
> you ....
After all this harcore stuff,
you actually renderd a complete scene, posted it, somebody even liked it
and publicly said he uses it as his desktop image.
Ingo
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Warp wrote:
>
> Ok, I tried to make the test more rational and also divide it into more
> readable sections. What do you think? What is your new score?
40
not counting those i have learned meanwhile (like the mesh-CSG question)
> The maximum score (this time I think it's reachable) is 66.
> I myself got a score of 48. (Ok, perhaps the test got a bit biased
> torwards my own knowledge, but I tried to keep it as unbiased as possible;
> judge by yourself :) )
>
You threw out several very nice questions i think, most ones added are not
bad, but generally quite easy, you should give Ron some more room for
improvements... ;-)
--
Christoph Hormann <chr### [at] gmx de>
IsoWood include, radiosity tutorial, TransSkin and other
things on: http://www.schunter.etc.tu-bs.de/~chris/
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
I got 24 in this one. Now to try the new version...
--
signature{
"Grey Knight" contact{ email "gre### [at] yahoo com" }
site_of_week{ url "http://digilander.iol.it/jrgpov" }
}
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
I got 25.
Some observations.
You never include the povray include libraries (like colors.inc) because
they slow parsing, but always define your colors, textures, etc by
yourself.
Not because they are too slow to load but because it's usually faster to
write what I want than to look it up in the includes.
You only use the png format when working with povray. You always use it
with alpha channel.
No, only when appropriate.
I'll credit myself with another point for that thank you ;)
You know if some special feature is already implemented in the POV-Ray 3.5
standard include files (and thus you know you don't have to implement it
yourself).
I'll be getting 3.5 when the source code comes out.
You often debug your povray code using the text message streams.
How else?
--
PoD.
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Christopher James Huff wrote:
> Well...I've done a lot of work on the scene and include file collections
> for 3.5, and I once released a macro collection, though nobody ever used
> it...
Actually, I was just looking at your site and saw a picture of a DNA
ring. If you still have the macro for generating that, I'd like it.
--
signature{
"Grey Knight" contact{ email "gre### [at] yahoo com" }
site_of_week{ url "http://digilander.iol.it/jrgpov" }
}
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
POV-SDL: 6
POV features: 9
Math: 9
Raytracing algorithms: 6
Formats: 1
The IRTC: 0
POV-Ray programming:1
Total: 32
That was informative; splitting it up into sections gives a better idea
of your area of expertise.
---
signature{
"Grey Knight" contact{ email "gre### [at] yahoo com" }
site_of_week{ url "http://digilander.iol.it/jrgpov" }
}
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
you're right...
my scores are:
POV-SDL: 6 / 8
POV Features: 11 / 19
Math: 6 / 12
Raytracing Algorithms: 7 / 11
Formats: 0 / 4 :-/
IRTC: 1 / 3
POV-Ray Programming: 0 / 9 :-/
Total: 31 / 66 ... Weird, my other post says 32 :)
(considering "I think I know why" is the same as "I know why")
cu!
--
camera{location-z*3}#macro G(b,e)b+(e-b)*(C/50)#end#macro L(b,e,k,l)#local C=0
;#while(C<50)sphere{G(b,e),.1pigment{rgb G(k,l)}finish{ambient 1}}#local C=C+1
;#end#end L(y-x,y,x,x+y)L(y,-x-y,x+y,y)L(-x-y,-y,y,y+z)L(-y,y,y+z,x+y)L(0,x+y,
<.5,1,.5>,x)L(0,x-y,<.5,1,.5>,x) // ZK http://www.povplace.be.tf
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Ron Parker wrote:
> you understand why a plane makes a bad media container;
Does not. It just depends upon what you are trying to accomplish.
--
Ken Tyler
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Christopher James Huff <chr### [at] mac com> wrote:
:> * You have used the quadric, cubic, quartic or poly primitives.
: Nope, I stick to isosurfaces. That count? I think it should...
No, it doesn't count.
The idea behind that question is that using polys is more challenging
and requires a bit more mathematical knowledge.
Anyone can make a torus-shaped isosurface knowing the torus function.
However, try to convert that function to polynomial form and construct the
equivalent quartic. That's a bit more challenging math.
(I know. I have even made a webpage about the issue.)
--
#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
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Oh, good point; it's the percentage that matters, not the absolute score
(wouldn't think I was a maths student...)
Mine:
=====
POV-SDL: 6/8 = 75%
POV features: 9/19 = 47%
Math: 9/12 = 75%
RT algorithms: 6/11 = 55%
Formats: 1/4 = 25%
The IRTC: 0/3 = 00%
POV programming: 1/9 = 11%
Total: 32/66= 48%
Zeger's:
========
POV-SDL: 6/8 = 75%
POV features: 11/19= 47%
Math: 6/12 = 50%
RT algorithms: 7/11 = 64%
Formats: 0/4 = 00%
The IRTC: 1/3 = 33%
POV programming: 0/9 = 00%
Total: 31/66= 47%
--
signature{
"Grey Knight" contact{ email "gre### [at] yahoo com" }
site_of_week{ url "http://digilander.iol.it/jrgpov" }
}
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
18.5... maybe.... And I could add a point by opening the documentation up.
Okay, so I'm no where near a "hardcore" POVer. I think my score could even
be subtracted by 4 points considering I'd have to double-check everything to
know it for certain.
bob h
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
On Fri, 1 Feb 2002 10:16:42 -0600, bob h wrote:
> Okay, so I'm no where near a "hardcore" POVer. I think my score could even
That's "harcore", Bob.
--
#local R=rgb 99;#local P=R-R;#local F=pigment{gradient x}box{0,1pigment{gradient
y pigment_map{[.5F pigment_map{[.3R][.3F color_map{[.15red 99][.15P]}rotate z*45
translate x]}]#local H=pigment{gradient y color_map{[.5P][.5R]}scale 1/3}[.5F
pigment_map{[.3R][.3H][.7H][.7R]}]}}}camera{location.5-3*z}//only my opinions
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
"Ron Parker" <ron### [at] povray org> wrote in message
news:slr### [at] fwi com...
> On Fri, 1 Feb 2002 10:16:42 -0600, bob h wrote:
> > Okay, so I'm no where near a "hardcore" POVer. I think my score could
even
>
> That's "harcore", Bob.
Oh, as in Harcore Composites http://hardcorecomposites.com/highlights.html
bob h
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|
 |