POV-Ray : Newsgroups : povray.newusers : working cycles - common techniques? Server Time
14 May 2024 00:26:11 EDT (-0400)
  working cycles - common techniques? (Message 1 to 4 of 4)  
From: bugbear
Subject: working cycles - common techniques?
Date: 6 Sep 2012 11:15:00
Message: <web.5048bd61a94a9942408aa4ce0@news.povray.org>
I note that I'm iterating on working on textures on "demo" shapes,
messing with lighting on the main scene, working with placement
on the main scene.

When I'm working on placement, I don't want slow textures.
When I'm changing textures I don't want a complex scene.
When I'm altering a CSG sub element I don't want a complex scene OR slow
textures.
Except for the "beauty pass", where I want "everything".

Does any one have any hints of effective working practices for all this?

It looks like the POVRAY language has more than enough conditionality,
including #if def, and the ability
to name stuff (so a scene could use "my_colour", which could
be fast or slow depending on what an include does.

I imagine that good approaches were worked out ages ago.

At the moment, I'm just editing my file a lot, and I bounce from "fast mode" to
"slow mode".

All tips and experiences (and/or links) welcomed.

 BugBear


Post a reply to this message

From: Jaime Vives Piqueres
Subject: Re: working cycles - common techniques?
Date: 6 Sep 2012 11:33:44
Message: <5048c258$1@news.povray.org>
On 06/09/12 17:14, bugbear wrote:
> At the moment, I'm just editing my file a lot, and I bounce from
> "fast mode" to "slow mode".
>
> All tips and experiences (and/or links) welcomed.
>

   I usually resort to have a lot of variables at the top of the file to
control all that, as for example:

#declare use_radiosity=0;
#declare use_area=0
#declare use_focalblur=0;

   ...and so on. Later, on the relevant code, I will use an if to use or
not use the feature.

   For textures, you can add another control variable, and then when you
define textures, use an if to create the simple and the complex ones:

#if(use_test_textures)
   #declare my_texture=texture{...simple texture...}
#else
   #declare my_texture=texture{...complex texture...}
#end

   The same applies to objects: you can use similar control variables to
render or not certain objects, or to use "dummy" versions of them
(placeholders).

   This way you can render only with the features you want, and using the
level of complexity you want. For the final render, you just set them
all on... (you can use a global control variable for that too).

--
Jaime


Post a reply to this message

From: clipka
Subject: Re: working cycles - common techniques?
Date: 6 Sep 2012 12:21:12
Message: <5048cd78@news.povray.org>
Am 06.09.2012 17:33, schrieb Jaime Vives Piqueres:
> On 06/09/12 17:14, bugbear wrote:
>> At the moment, I'm just editing my file a lot, and I bounce from
>> "fast mode" to "slow mode".
>>
>> All tips and experiences (and/or links) welcomed.
>>
>
>    I usually resort to have a lot of variables at the top of the file to
> control all that, as for example:
>
> #declare use_radiosity=0;
> #declare use_area=0
> #declare use_focalblur=0;
>
>    ...and so on. Later, on the relevant code, I will use an if to use or
> not use the feature.

Same here.

If you only have a few different "modes" for your scene, you might want 
to consider declaring the respective variables via .ini files.

I for one tend to use quite a lot of different combinations; for one 
particularly complex scene, I moved the detail settings to a separate 
"config file" (so I don't have to scroll up & down the actual scene file 
each time I change some setting), which to date looks like this:

---------------------------
#declare Textures           = yes;
#declare AnimTestTextures   = no;

#declare QuickCylinderBlock = no;
#declare QuickBoilerAssy    = no; /* TODO */
   #declare QuickBoilerFairing = no; /* TODO */
#declare QuickChassis       = no;
   #declare QuickFrame         = no;
   #declare QuickSuspension    = no;
     #declare QuickSprings       = no;
     #declare QuickBearings      = no;
#declare QuickWheels        = no;
#declare QuickDriveRods     = no;
#declare QuickValveGear     = no;
#declare QuickCatwalk       = no;
#declare QuickRailings      = no;
#declare QuickPipework      = no;
   #declare QuickSanders       = no;

#declare QuickGeometry      = no;
#declare QuickBolts         = yes;
#declare QuickSky           = no;

#declare ShowCylinderBlock  = no;
#declare ShowBoilerAssy     = no;
   #declare ShowBoilerFairing  = no;
#declare ShowChassis        = yes;
   #declare ShowFrame          = yes;
   #declare ShowSuspension     = yes;
     #declare ShowSprings        = yes;
     #declare ShowBearings       = yes;
#declare ShowWheels         = no;
#declare ShowDriveRods      = yes;
#declare ShowValveGear      = yes;
#declare ShowCatwalk        = no;
#declare ShowRailings       = no;
#declare ShowSanders        = no;
#declare ShowPipework       = no;

#declare ShowBolts          = yes;

#if(frame_number)
   #declare DriverAngle        = frame_number*10;
   #declare DriverRevolutions  = 2; /* tweak pilot & trailer wheel 
angles for an animation loop of this many driver revolutions (0 = don't) */
#else
   #declare DriverAngle        = 0;
   #declare DriverRevolutions  = 0;
#end

#declare ReachRodSetting    = 0.3; /* 1 = full forward, -1 = full reverse */
---------------------------

"Textures" specifies whether I get the final textures; if set to "no", I 
get simple diffuse-only textures (using rather light color tones) to 
help me better judge the geometry (using different colors for the 
various major substructures of the object) - unless "AnimTestTextures" 
is on, in which case moving parts get textures with simple geometric 
patterns to help me judge the consistency of animation.

"Quick*" specifies for various major substructures of the object whether 
I get a low-quality variant (primarily turning off some beveling and the 
like), while "Show*" specifies whether I get to see the respective 
substructures at all.

Some of those "Quick*" and "Show*" settings work across all 
substructures, such as "QuickBolts" and "ShowBolts" which specifies the 
detail level of any bolts in the render, and "QuickGeometry" which is a 
master switch to set all substructures to low quality.

The remaining settings are used to control the position of movable parts.


Actually this is just the "config file" for the featured object in the 
scene. A few more settings affecting the entire scene, such as whether 
to activate radiosity or focal blur, where to place the camera and 
lights, etc., are defined elsewhere.


Post a reply to this message

From: Thomas de Groot
Subject: Re: working cycles - common techniques?
Date: 7 Sep 2012 03:10:07
Message: <50499dcf$1@news.povray.org>
On 6-9-2012 17:33, Jaime Vives Piqueres wrote:
> On 06/09/12 17:14, bugbear wrote:
>> At the moment, I'm just editing my file a lot, and I bounce from
>> "fast mode" to "slow mode".
>>
>> All tips and experiences (and/or links) welcomed.
>>
>
>    I usually resort to have a lot of variables at the top of the file to
> control all that, as for example:
>
> #declare use_radiosity=0;
> #declare use_area=0
> #declare use_focalblur=0;
>
>    ...and so on. Later, on the relevant code, I will use an if to use or
> not use the feature.
> [....]

Same for me. For complex scenes, I generally use a Master scene file 
where all the conditionals are declared and which controls the inclusion 
of all the secondary (.inc or .pov) files needed, whether they are 
objects, sub-scenes, textures, media, or whatever. The result can 
sometimes be nested in a quite complex way.

Thomas


Post a reply to this message

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