POV-Ray : Newsgroups : povray.bugreports : Beta29: Isosurface Artefacts Server Time
29 Apr 2024 03:06:32 EDT (-0400)
  Beta29: Isosurface Artefacts (Message 1 to 1 of 1)  
From: moppel
Subject: Beta29: Isosurface Artefacts
Date: 10 Dec 2008 13:05:01
Message: <web.49400490eca5a2eb4e021e8f0@news.povray.org>
Hi,

I got some problems with the 3.7 beta 29, on Windows. An example scene can be
found below.

This is what it looked like with 3.61c (resolution 512x384, on a Pentium M):
http://www.tutututututu.de/bilder/v361c_win32_pentiumm_512x384.jpg

And this is what it looks like with 3.7b29:
http://www.tutututututu.de/bilder/v37b29_win32_pentiumm_512x384.jpg

1) The color/lighting has changed. So has the "crackle" noise function
used for the planet surface. I'm not sure if that's a bug though, maybe
it's the intended behavior in 3.7.

2) The real problem is the artefacts on the planet isosurface.
The occurence of those glitches depends on the resolution, and they
fit into those boxes visible during rendering. When the second
isosurface, the moon, is removed, then the artefacts on the planet
disappear, as can be seen in this pic:
http://www.tutututututu.de/bilder/v37b29_win32_pentiumm_512x384_nomoon.jpg

Please check the difference between that pic and the prior pic
to spot the artefacts.

On a dual core quad system, there are even more artefacts visible:

http://www.tutututututu.de/bilder/v37b29_win32_quadq8200_512x384.jpg

Well, I could workaround the color and the changed-noise issue, but
those artefacts are quite bugging. Hope it can be fixed.

Cheers, and keep up the good work,
Burkhard

Here's the scene:

#include "colors.inc"

//
// User functions for surface, normal, color
//
#declare FBaseShape=
function(X,Y,Z)
{
  sqrt(X*X+Y*Y+Z*Z) - 1
}

#declare FLandNoiseShape=
function
{
   pigment{
     crackle
     turbulence 0.4 lambda 2.6 omega 0.5 octaves 3 frequency 1
     color_map { [0 rgb 0] [1 rgb 1] }
     scale 0.5
   }
}

#declare FLandSurface=
function
{
   FBaseShape(x,y,z)
   -0.25*(pow(FLandNoiseShape(0.8*x,0.8*y,0.8*z).red,1.5)-0.5)
}


#declare FLandPigment=
function
{
   abs(4*(sqrt(x*x+y*y+z*z)-1)+0.5)
}

#declare FMoonNoiseShape=
function
{
  pigment{
    crackle form <1.5,0,0>
    color_map
    {
      [0 rgb <1.0,1.0,1.0>]
      [0.75 rgb <0.0,0.0,0.0>]
      [1 rgb <0.2,0.2,0.2>]
    }
    cubic_wave
  }
}

#declare FMoonSurface=
function
{
   FBaseShape(5*x,5*y,5*z)
   +(0.05*(FMoonNoiseShape(20*x+10,20*y,20*z).red-0.5))
}

//
// Planet and Moon Object
//
union {
   isosurface // Land
   {
     function { FLandSurface(x,y,z) }

     max_gradient 2.7
     accuracy 0.01
     contained_by{sphere{<0,0,0> 1.5}}
     threshold 0
     texture {
        pigment{
           function { FLandPigment(x,y,z) }
           color_map {
                       [0.0 color rgb <0.5,0.5,1>]
                       [0.15 color rgb <0,0.5,0>]
                       [0.5 color rgb <0.5,0.3,0.3>]
                       [0.7 color rgb <1,1,1>] }
        }
     }

   }

   isosurface
   {
      function { FMoonSurface(x+1.05,y,z+1.05) }
      max_gradient 7.9
      accuracy 0.01
      contained_by{sphere{<0,0,0> 2.0}}
      threshold 0
      texture {
         pigment{
            color rgb <1,1,1>
         }
      }
   }
}

camera {
   perspective
   location <0,0,-80>
   direction <0,0,30>
   right 1.33*x
   up y
   look_at <0,0,0>
   sky <0,1,0>
}

light_source {
   <-10, 10, -10>
   color White
}

light_source {
   <10, -10, -10>
   color 0.3*White
}


Post a reply to this message

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