POV-Ray : Newsgroups : povray.beta-test : Povray 3.7 RC7, something strange with parametric surfaces? : Povray 3.7 RC7, something strange with parametric surfaces? Server Time
25 Apr 2024 00:53:51 EDT (-0400)
  Povray 3.7 RC7, something strange with parametric surfaces?  
From: Ryan Budney
Date: 27 Feb 2013 14:10:01
Message: <web.512e5917524bb9ec1343b2e50@news.povray.org>
Greetings,

I'm a long-time PoVRay user and I'm encountering a problem with PovRay 3.7 RC7,
when it comes to parametric surfaces.

I have a small scene that renders fine when the surface is *not* in it, but with
the surface, the scene renders to 99% complete (rather quickly, using 8 cores),
but then it just sits there, with only 1 core running (via system monitor) at
100%.    It almost appears as if PovRay is failing to collect a "rogue thread"
but I can't really tell what's happening.   The scene is very small so I've
copied it below.

Are there any known issues with parametric surfaces and the PovRay beta?  I've
seen a post concerning textures but my surface is not textured -- it's just
partially transparent.

Thanks for any information.  The scene is copied below.

***

#version 3.7;

#include "colors.inc"
// #include "chars.inc"

#declare fontdir = "/usr/share/fonts/truetype/lyx/cmr10.ttf";

#declare flat_fin = finish { ambient 0.0 diffuse 1.0 reflection 0.05 };
#declare out_fin = finish { ambient 0.0 diffuse 1.0 reflection 0.0 };

#declare c1 = <1,0,0>; // tet vertices on sphere
#declare c2 = <0,1,0>;
#declare c3 = <0,0,1>;

#declare sr = 0.019; // sphere radius
#declare sc = rgb< 0.8, 0.8, 0.8 >; // sphere color 1
#declare cr = 0.01; // cylinder radius
#declare cc = rgb <1, 1, 1>; // cyl color 1

#declare dc0 = MediumSpringGreen; // dual 0-cell color
#declare dr0 = 0.022; // dual 0-cell radius
#declare dc1 = MediumSpringGreen; // dual 1-cell color
#declare dr1t = 0.013; // dual 1-cell tip radius
#declare dc1t = MediumSpringGreen; // dual 1-cell tip color
#declare dr1 = 0.012; // dual 1-cell radius

#declare textcolour = IndianRed;

#declare dc2a = rgbf <0.1, 0.9, 0.3, 0.6>; // slight green
#declare dc2b = rgbf <0.1, 0.3, 1, 0.6>;   // slight blue
#declare dc2c = rgbf <1, 0.2, 0.2, 0.6>;   // slight red
#declare dc2d = rgbf <0.8, 0.8, 0.1, 0.6>; // slight yellow

#declare tsurfc = rgbf < 0.8, 0.8, 0.8, 0.6 >; // trans surf

#declare dr2 = 0.004; // dual 2-cell outline radius

#declare TTh = 0.2; // text thickness

#declare tc1 = rgbf <0.8, 1, 0.8, 0>; // tetrahedron color 1
#declare tc2 = rgbf <1, 0.4, 0.4, 0>; // tetrahedron color 2

// our hyperboloid coordinate system
#declare C1 = function(r,A,l) { 1.0 - (r*sin(A)/sqrt(sinh(l)*sinh(l) +
cosh(l)*cosh(l))) }
#declare C2 = function(r,A) { r*cos(A) }
#declare Tx = function(r,A,l,T) { sinh(l)*cos(T)*C1(r,A,l) - C2(r,A)*sin(T) }
#declare Ty = function(r,A,l,T) { sinh(l)*sin(T)*C1(r,A,l) + C2(r,A)*cos(T) }
#declare Tz = function(r,A,l,T) { cosh(l)*C1(r,A,l) }

global_settings {
    radiosity {
      pretrace_start 0.08
      pretrace_end   0.04
      count 50

      nearest_count 5
      error_bound 0.2
      recursion_limit 4

      low_error_factor 0.4
      gray_threshold 0.0
      minimum_reuse 0.01
      brightness 1

      adc_bailout 0.01/2
    }
  }

camera {
         location <-6, 0, 0.5>
         look_at <0,0,0.75>
         angle 50
         sky z
       }

plane
 {
 <1,0,0>, 0
 pigment { checker color White, color White }
 finish { ambient 0 diffuse 1 reflection 0.05 }
 translate <2,0,0>
 }

// true type fonts located in /usr/share/fonts/truetype/jsmath  maybe
jsMath-cmr10.ttf is good?

light_source
{
 <-5, -2, 1 >
 color White
 area_light <0.6,0,0>,<0,0.6,0>,16,16
}


union
 {
    quadric
    {
     <1,1,-1>, <0,0,0>, <0,0,0>, 1
     clipped_by { sphere { <0,0,1>, 2 } }
     texture { pigment { color tsurfc } }
     finish { out_fin }
    }

    quadric
    {
     <1,1,-1>, <0,0,0>, <0,0,0>, 1
     clipped_by { plane { <0,0,-1>, -2 } }
     clipped_by { plane { <0,0,1>, 2.14 } }
     texture { pigment { color tsurfc } }
     finish { out_fin }
    }

    torus
    {
     sqrt(3), 0.02
     rotate <90, 0, 0>
     translate <0,0,2>
     texture { pigment { color dc2d } }
    }
// #declare Tx = function(r,A,l,T)
   parametric
    { // to draw hyperbolas on surface...
     function { Tx(0.1,v,u,0) },
     function { Ty(0.1,v,u,0) },
     function { Tz(0.1,v,u,0) }
     <-1,0>, <1, 2*pi >
     texture { pigment { color dc2d } }
    }

   plane
   {
    <0,0,1>, 0
    texture { pigment { color sc } }
    finish { out_fin }
    clipped_by { sphere { <0,0,0>, 1 } }
   }

    sphere
    {
    <0,0,-1>, 0.04
    texture { pigment { color sc } }
    finish { out_fin }
    }

 }


Post a reply to this message

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