|
|
|
|
|
|
| |
| |
|
|
|
|
| |
| |
|
|
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] tagpovrayorg> 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] gmxde> 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] povrayorg> 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] tagpovrayorg> 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] trfde
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] tagpovrayorg> 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] povrayorg
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
|
|
| |
| |
|
|
|
|
| |
|
|