|
![](/i/fill.gif) |
Thorsten Froehlich wrote:
> > : Great argument! Who cares if someone can read a POV scene and learn from
> > : it, why should there be new novice users of POV-Ray?
> >
> > So you say that we shouldn't give powerful tools to people who wants them
> > only because newbies can't read the code?
>
> Yes, if this excludes every person who is not a computer scientist or with a
> strong background. After all, POV-Ray is for artists creating interesting
> images, but programmers creating complex programs that generate data for
> another complex program (POV-Ray) that generates images.
>
> People be able to understand how something works. Increasing the complexity
> over a certain limit, it will scare people away instead of encouraging them
> to try for themselves. And why should we exclude the 99.9% of non-computer
> scientists from being able to _understand_ even a single POV scene
> description?
Sigh...I'm so tired of the fact that a lot of you believe that implementing OO in
POV should mean changing the language into something completely different...
Look, what POV could benefit from is OO extensions - not a totally new language
(why remove the good parts?)
In POV version 4.x (one of the first OO versions), a scene could either look like
this:
#include "colors.inc"
camera{
location <0,1,-5>
look_at 0
}
light_source{ <20,50-50> color White }
difference{
sphere{ <0,0,0>, 1 }
box{ 1,-1 scale 0.5 translate <0.5,0.5,-0.5> }
pigment{ Red }
}
..or like this:
#include "my_imap_textures.inc"
#include "camera_macros.inc"
#include "linked_lists.inc"
#include "particle_physics.inc"
#include "incredibly_advanced_functions.inc"
#declare snake_part = sphere{ 0, 0.5 }
#declare snake_head = sphere like snake_part{ texture{ txSnakeHead }}
#declare snake_body = sphere like snake_part{ texture{ txSnakeBody }}
#declare TheSnake = ListMacro1(snake_head, snake_body, 20)
#declare snake_head_position = TheSnake.head.origin + TheSnake.head.translation;
MacroCam1(<0,1,-5>, snake_head_position)
#declare snake_path = spline{
#include "myspline.spl"
}
TheSnake.follow(snake_path)
...depending on what you want to do and what level you're on.
WE SHOULD NOT REMOVE ANYTHING! JUST ADD A LITTLE FUNCTIONALITY! (Sorry for
shouting...) :)
#declare CurrentPOVScript = subset of FutureOOPOVScript;
or maybe:
#declare FutureOOPOVScript = union{
CurrentPOVScript
AddedOOFunctionality
}
and NOT
#declare FutureOOPOVScript = difference{
TotallyNewLanguage
CurrentPOVScript
}
Well, you get the point....
;-)
----------------------------------------------------
Mikael Carneholm, B.Sc.
Dep. of Computer Science and Business Administration
Personal homepage:
http://www.studenter.hb.se/~arch
E-mail:
sa9### [at] ida utb hb se
Post a reply to this message
|
![](/i/fill.gif) |