POV-Ray : Newsgroups : povray.general : povray standard include files : Re: povray standard include files Server Time
1 Aug 2024 00:24:03 EDT (-0400)
  Re: povray standard include files  
From: nemesis
Date: 14 Nov 2006 21:45:01
Message: <web.455a7ea5341a4ab7bf56e0a0@news.povray.org>
Darren New:
"I was thinking, when I saw the short-code contest announcement, that it
would be cool to see a 'texture' contest... I thought it would be a cool
way to showcase POV, showing off its strengths relative to more
model-oriented renderers."

I for one welcome our new texture masters overlords. :)

A very good idea, indeed.  But what is preventing you from showcasing
textures in the short code contest right now anyway? :)

Gilles Tran:
"Actually, for an individual, releasing something in the
public domain is not straightforward either: one can always put a disclaimer
and wave his/her rights.  So, no, POV-Ray code is practically never in the
public domain."

It's a complicated matter indeed.  What happens if some random guy named
under an alias -- say, nemesis -- posts a scene file to one of those web
povray collections, without email or anything?  Isn't it in the public
domain?  Anyone can claim ownership to it.  Isn't that the meaning of being
in the public domain?

"However, as people have been more aware of these issues lately, recent code
often has a clear license attached (one from Creative Commons for
instance)."

Yes, and I know IRTC entries licenses read "COPYRIGHT: I SUBMIT TO THE
STANDARD RAYTRACING COMPETITION COPYRIGHT." so they are covered.  But who
has the copyright to that?  In the case of well known personas as you,
Jaime, Jim Charter or others, it isn't a problem at all.  It is a problem,
though, for files submited by users under strange nicknames, with no
working email or any contact reference whatsoever.  The IRTC even mantains
a FAQ to that.  The IRTC doesn't own the copyright even to those works
whose authors are virtually unknown.  What prevents one -- say, me -- of
going there and claiming the copyrights over one of those works?  Could i
then demand them to remove the image from their servers?  If that's so, if
anyone can do that, i believe it's in the public domain.

Warp:
"I would be extremely surprised if *any* code at all (SDL or anything)
is in the public domain anywhere."

If someone can explicitely grant another rights to modify software, can't
someone explicitely say "I hereupon put this software into the public
domain"?  I believe i've already seen genuinely public domain software with
such legalese in the DOS freeware days...

Anyway, my intention wasn't to ignite some copyright controversy.  I myself
post source code in these newsgroups, under this very nickname.  Of course,
most of the time they are very crude scenes explicitely showcasing one
technique or another i thought to be useful in the large, but nothing
compared to the works of art from povray masters like Gilles and others.
So, i don't know if i'd be so eager to share code of something i'd think to
be a crown gem. ;)

However, it's not like authors from chosen works would give up copyrights to
get into povray stdlib.  My point regarding "public domain" work was aimed
exclusively at code hanging around in the povray newsgroups or old IRTC
scenes whose authors can't be contacted anymore or those ad-hoc web
collections of povray code, whose original authors, again, can't be
contacted:  these people explicitely released povray code in the wild for
the very reason to share them with people, except in the case of IRTC
entries.

I wasn't thinking of Jaime's or Gilles' or others works because, not only
they are clearly copyrighted and with very visible authors, but also
because in the eventuality of getting something like Gilles' maketree macro
or Jaime's Lightsys into povray stdlib, it could put some pressure onto
POV-Team members regarding mantainence of said code.  Would it be fair to
let people complain at the POV-Team about the state of code from other
people but which happens to be distributed together with povray?  In the
eventuality of such 3rd party code going into povray's distribution as part
of the stdlib, would the original authors explicitely grant the POV-Team
members any copyrights so that they could modify them if for no other
reason than to bug fix them?  these are good questions i'd like you to
think...

OTOH, said code is pretty stable by now and if we got around with current
stdlib being almost entirely 10 years old with few updates or "bug fixes"
throughout, i think we could get around with these as well. :)

John VanSickle:
"some of my Thoroughly Useful Macros were slightly renamed and put into one
of the standard includes"

good to know and i knew i've seen your name before...

"standard objects, such as dishes, tables, and so forth tend to
be easily recognizable as copied items.  To have the variety that many
POV artists would demand would require a very large library of stuff,
which takes time to debug"

yes, yes, another very good point.  I'm actually more wishful of actually
putting current povray to good use by, rather than just having a few
predefined textures and objects, having some macros to parametrize such
ojects and textures in someway, by adding some randomness to them and
different color_maps and patterns applied.  Then, you have the original
objects/textures predefined from the generated macro by adding 0 randomness
and the original parameters. :)

Ben Chambers:
"Or maybe just, 'Every texture we think is worth including, we'll
include'?"

Yes, i know where this is getting at:  what to include into an updated
povray stdlib?  Are people voting?  More is better?  Who am i to say?  I
opened this topic to get people from the community thinking about it.  I
think it's up to us as users to work up with POV-Team members the what, how
and when of povray present and future.  It's not like we're demanding
features:  we're willing to help make povray a more enjoyable software.

Povray stdlib is like C's, with just a few crude, basic, lowlevel
functionality available.  What i'm proposing is expanding it into something
akin to Unix's libc or something more.  Not quite gigantic as Perl's CPAN or
Java's stdlib and multiple frameworks, but a lot more useful than as it is
now.  Or we can just leave it as it is and go on with our own ad-hoc,
built-from-scratch work methods as before. :P

Personally, i think it would be awesome to get to quickly create a file such
as this:

#include "transforms.inc"
#include "utils/units.inc"
#include "setups/basic_stage.inc"
#include "places/interiors/kitchen/teapot/utah/shape.inc"
#include "places/interiors/kitchen/table/jvp.inc"
#include "places/interior/kitchen/food/biscuits/pov.inc"
#include "textures/metals.inc"

#local teapot = object { teapot scale x*22*cm texture { glossy_metal } }
#local table = object { table_2004 scale y*1.4*m }

place_upon( teapot, table ) // places it upon the table, at the center
// move it somewhat away from the center
#declare teapot = object { teapot translate -z*30*cm rotate -y*40 }

set_stage( teapot ) // sets a simple stage scene for the object
// set_stage already sets a default camera.  adjusting it a bit
camera { stage_cam rotate 30*x }

This scene should show a basic stage (spotlighted) scene depicting a Utah
teapot in glossy_metal texture upon Jaime's table from his 2004 kitchen
scene (cloth and all).  This is just my imagination going wild... :P

Some would call this simple "ripping" from well stabilished classics.  I
call that nice code reuse. :)

Two things to note:  1) i've gone for a deep hierarchical approach to
library organization in which objects are conceptually connected,
specifically, locally connected as in the real world.  You're likely to
find food and dishes in a kitchen, right?  This is similar to how
object-oriented frameworks are organized as well.

2) There should be many kinds of tables in a kitchen, jvp's is just one of
them!  same for teapots. :)

Well, (2) raises the question:  how to solve inevitable "namespace"
conflicts for similarly named identifiers, like, say "kitchen/table" and
"restroom/table"?  This is something to give some serious thought.  I won't
try it now, because i'm very sleepy and a mess would come out from it... :P
some help here would be nice!

By the way, i think the alias i got for this newsgroups make people a little
suspicious of me -- like i'm trying some IP theft or something -- so let me
properly introduce myself:  i'm Ricardo Malafaia from Brazil, 32 years old,
software programmer.  not just another anonymous web persona anymore. :)

Povray to me is a hobby i've finally got some time to catch on.  I also use
it as a relief from the stress of daily annoying commercial software
development with stupid commercial tools and languages.  Povray is very
good as that too. :)


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.