POV-Ray : Newsgroups : povray.binaries.images : Rope Macro : Re: Rope Macro Server Time
1 Aug 2024 00:20:06 EDT (-0400)
  Re: Rope Macro  
From: Eriban
Date: 24 Jun 2009 16:20:01
Message: <web.4a42895f99a5bfb681475b100@news.povray.org>
"Chris B" <nom### [at] nomailcom> wrote:
> Now that I tried it on 3.6 it clearly needs the following line adding if
> fibres are used and I would imagine it's the same problem for MegaPOV:
> global_settings {max_trace_level 10}

Thanks for the reply. Increasing the max_trace_level indeed fixes the problem.
Nevertheless, in the small sample scene I used it the fibers do not enhance the
image as they are too small to show up. The main effect is that they reduce the
overall brightness of the rope a bit. Having said that, it's good to know I can
get the fibres to show up when needed. :-)

A small suggestion. Is it maybe worth adding another quick-rendering option to
the rope macros, alongside the Rope_ShowFibres=0 setting? In some test-renders
you may only want to see the path of the rope, without it having to consist of
multiple strands. For my rope-looping macro I am using a single sphere_sweep
during loop construction (to make sure that the loops do not overlap anywhere).
This sphere_sweep can also be used creating the image. It does not look good of
course (see the attached image), however, it may be handy when contructing the
path for the rope, as it takes less time to generate the image.

In my case (using a simple 1.42 GHz PowerPC MacMini) the rendering and parse
times for my simple "looped rope" image are as follows:
Proper rope, with fibres: Total time 39m30s, of which 1m49s parsing
Proper rope, w/o wibres: Total time 3m44s, of which 1m37s parsing
Simple sphere_sweep: Total time 1m56s, of which 0s parsing

The macro to create the sphere_sweep from the array of points can be very simple
of course. Here's what I have been using:

#macro BuildRope(RopePoints, StartIndex, EndIndex, Radius)
 sphere_sweep {
  cubic_spline
  EndIndex - StartIndex

  #local I = StartIndex;
  #while (I != EndIndex)
   RopePoints[I], Radius
   #local I = I + 1;
  #end
 }
#end

Cheers,
Erwin


Post a reply to this message


Attachments:
Download 'rope-simplespheresweep.png' (25 KB)

Preview of image 'rope-simplespheresweep.png'
rope-simplespheresweep.png


 

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