POV-Ray : Newsgroups : povray.binaries.tutorials : TerraPOV foundation features: Preliminary : TerraPOV foundation features: Preliminary Server Time
23 Nov 2024 04:28:34 EST (-0500)
  TerraPOV foundation features: Preliminary  
From: Bruno Cabasson
Date: 4 May 2009 04:56:15
Message: <op.utedr1iom1sclq@pignouf>
TerraPOV is a long-term project I started a while ago. I wanted it to be  
as declarative as I could have TerraPOV to do so, allowing the artist to  
minimmize programming, and then have those declarations be processed by a  
specialized engine. All in POV-SDL as a start point. The process of making  
a lansdcape scene would be the following:

    -) valuate a (large ...) set of defined parameters for the lansdcape  
framework of my scene, with defaults and predefined stuff, and with  
preview utilities
    -) perform little and 'quite defined' programming for what cannot be  
expressed with single values
    -) put my objects in the scene with placement/populating macros and few  
rules (user-defined code)
    -) render the scene using the TerraPOV engine that sets up the scene  
accordingly

The first question I had to answer was: what is a lanscape? Observing the  
nature, seeing 3D masters' artwork, and using Terragen for a few tries  
helped me define the main areas of what a lanscape is made of:

     -) Atmosphere, sky, cloudscape and so forth
     -) Terrain shaping and texturing, water
     -) Vegetation (very, very vast area ...)
     -) user-defined objects

I have explored more or less those areas, more for sky-related features,  
less for terrain, and even less for vegetation.

In this series of aticles, I will provide some code fragments that  
implement the main principles of TerraPOV, and let you use them right now.  
I will use the following basic coding rules:

     -) All TerraPOV-related identifiers start with 'TP_' or '_tp_', easy  
answer to some 'namespace' considerations
     -) Constants are uppercase: TP_SOME_CONSTANT
     -) Macros and parameters are lowercase: _tp_some_macro (_parameter_1,  
parameter_2). Macros shall not be considered as some kind of text  
substitution, but like 'real' fonctions or procedures, with typed  
parameters and returned value, and are written accordingly

Before I expose how all this assembles in a usable way, I'll describe what  
are the sets of parameters I defined, first for skyscape, then for  
terrain. When I have something consitent and useable for vegetation, I'll  
let you know. But for vegetation, I have in mind POV-Tree and PlantStudio  
to help defining a ready-to-use collections of vegetation objects, with  
placement and populating macros.

Well, now, let's start in the next article with the first area: TerraPOV's  
sky system: Atmosphere.

I hope I won't be too boring.... If so, let me know, I'll return to RSOCP   
:p

     Bruno

-- 

http://www.opera.com/mail/


Post a reply to this message

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