POV-Ray : Newsgroups : povray.binaries.images : megapov 1.0 has a bug... - attached files (1/1) : megapov 1.0 has a bug... - attached files (1/1) Server Time
11 Aug 2024 01:25:42 EDT (-0400)
  megapov 1.0 has a bug... - attached files (1/1)  
From: Kurts
Date: 16 May 2004 12:49:36
Message: <kurtzlepirate-682111.18492816052004@news.povray.org>
In article <c87c4g$2bp$1@chho.imagico.de>,
 Christoph Hormann <chr### [at] gmxde> wrote:

> I can't find any argument in your post that indicates a bug in MegaPOV. 
>   The criteria for a good bug report are quite the same as with official 
> POV-Ray BTW: post a minimal test scene clearly showing the problem (this 
> scene is neither minimal nor clearly shows a difference nor comes with 
> source).
> 
> And also read the posting rules in p.a.f-a-q.  You should not post 
> binaries in a non-binary group.
> 
> Christoph

begin in "povray.macintosh", here source code and 2 images showing the problem
with this simple object.

the 2 render where made with the same settings : 640x480, png, aa on with 
original method, threshold=0.30, recursion=2 and jitter=0.



Source :

//  --------------------------------------------------------------------------
#declare useMegaPov = true;
#if(useMegaPov)
  #version unofficial MegaPov 1.0;
#else
  #version 3.5;
#end




//  --------------------------------------------------------------------------
//  --- INCLUDES -------------------------------------------------------------
//  --------------------------------------------------------------------------
#include "colors.inc"
#include "myMacros.inc"

#declare displayAxis = false;
#declare useOtherLights = false;

#declare bestQuality = true;
#declare useAreaLights = bestQuality;
#declare quickTexture = !bestQuality;




//  --------------------------------------------------------------------------
//  --- SCENE ----------------------------------------------------------------
//  --------------------------------------------------------------------------
global_settings {
  assumed_gamma 1.80
  max_trace_level 10
  }

camera {
  location p2r(20, 30, 300,false)
  look_at <0, 25, 0>
  angle 36
  }

light_source {
  // <400, 320, 400>
  p2r(60, 35, 650,false)
  color White
  #if(useAreaLights)
    area_light 100, 100, 5, 5
    adaptive 1
    jitter 
    orient 
    circular 
  #end
  }

#if(useOtherLights)
  #declare index=0;
  #while (index<8)
    light_source {
      <35.00, 20.00, 0.00>
      color White/6
      rotate 45*index*y
      }
    #set index=index+1;
  #end
#end

background {
  color White
  }

plane {
  y,0
  pigment { color White }
  finish { ambient 0.70 diffuse 0.30 }
  }

#if (displayAxis)
  drawAxis (140, 0.40)
#end




//  --------------------------------------------------------------------------
//  --- DIMENSIONS -----------------------------------------------------------
//  --------------------------------------------------------------------------
#declare semelleCote = 60.00;
#declare semelleHauteur = 12.00;
#declare semelleRayon = 17.00;
#declare semelleArrondi = 3.00;
#declare positionCoin = 60.00;

#declare tubeRayonExterieur = 25.00;
#declare tubeRayonInterieur = 21.00;
#declare tubeHauteur = 80.00;
#declare tubeTore = (tubeRayonExterieur-tubeRayonInterieur)*0.50;

#declare goussetLargeur = 24.00;
#declare goussetArrondi = 1.50;
#declare goussetRadius = (goussetLargeur*0.50)-goussetArrondi;
#declare goussetLongueur = semelleCote;
#declare goussetHauteur = semelleCote;

#declare rayonPercage = 3.00;
#declare rayonLamage = 8.00;
#declare profondeurLamage = 2.00;


//  --------------------------------------------------------------------------
//  --- CONSTRUCTION ---------------------------------------------------------
//  --------------------------------------------------------------------------
#declare coinArrondi =  union {
  cylinder { <0.00, 0.00, 0.00> <0.00, semelleHauteur-semelleArrondi, 0.00> 
semelleRayon }
  cylinder { <0.00, 0.00, 0.00> <0.00, semelleHauteur, 0.00> 
semelleRayon-semelleArrondi }
  torus { semelleRayon-semelleArrondi semelleArrondi translate 
(semelleHauteur-semelleArrondi)*y }
  }

#declare goussetBase = union {
  cylinder { <+(semelleCote-semelleArrondi), 0.00, 0.00> 
<+(semelleCote-semelleArrondi), semelleHauteur+goussetArrondi, 0.00> 
(goussetLargeur*0.50) }
  box { <0.00, 0.00, -goussetLargeur*0.50> <semelleCote-semelleArrondi, 
semelleHauteur+goussetArrondi, +goussetLargeur*0.50> }
  rotate 45*y
  }

#declare gousset = union {
  difference {
    torus { goussetRadius goussetArrondi }
    plane { x, 0 }
    }
  cylinder { <0.00, 0.00, +goussetRadius> <-goussetLongueur, 0.00, 
+goussetRadius> goussetArrondi}
  cylinder { <0.00, 0.00, -goussetRadius> <-goussetLongueur, 0.00, 
-goussetRadius> goussetArrondi}
  difference {
    cylinder { <0.00, 0.00, 0.00> <0.00, -goussetHauteur, 0.00> 
goussetRadius+goussetArrondi }
    cylinder { <0.00,+1.00, 0.00> <0.00, -goussetHauteur-1, 0.00> 
goussetRadius-goussetArrondi }
    plane { x, 0 }
    }
  box { <0.00, 0.00, +goussetLargeur*0.50> <-goussetLongueur, -goussetHauteur, 
goussetRadius-goussetArrondi> }
  box { <0.00, 0.00, -goussetLargeur*0.50> <-goussetLongueur, -goussetHauteur, 
-(goussetRadius-goussetArrondi)> }

  translate <-goussetRadius, 0.00, 0.00>
  rotate -30*z
  translate <+goussetRadius, 0.00, 0.00>
  translate <+(semelleCote-semelleRayon)*sqrt(2), semelleHauteur+goussetArrondi, 
0.00>

  rotate 45*y
  }

#declare percages = union {
  cylinder { <0.00, -1.00, 0.00> <0.00, semelleHauteur+goussetArrondi+1.00, 
0.00> rayonPercage }
  cylinder { <0.00, semelleHauteur+goussetArrondi-profondeurLamage, 0.00> <0.00, 
semelleHauteur+goussetArrondi+1.00, 0.00> rayonLamage }
  
  translate <(semelleCote-semelleRayon)*sqrt(2), 0.00, 0.00>
  rotate 45*y
  }

#declare support = difference {
  union {
    difference {
      union {
        box { <semelleCote, 0.00, semelleCote-semelleRayon> <-semelleCote, 
semelleHauteur-semelleArrondi, -(semelleCote-semelleRayon)> }
        box { <semelleCote-semelleArrondi, 0.00, semelleCote-semelleRayon> 
<-(semelleCote-semelleArrondi), semelleHauteur, -(semelleCote-semelleRayon)> }
        
        box { <semelleCote-semelleRayon, 0.00, semelleCote> 
<-(semelleCote-semelleRayon), semelleHauteur-semelleArrondi, -semelleCote> }
        box { <semelleCote-semelleRayon, 0.00, semelleCote-semelleArrondi> 
<-(semelleCote-semelleRayon), semelleHauteur, -(semelleCote-semelleArrondi)> }
          
        object { coinArrondi translate <+(semelleCote-semelleRayon), 0.00, 
+(semelleCote-semelleRayon)> }
        object { coinArrondi translate <+(semelleCote-semelleRayon), 0.00, 
-(semelleCote-semelleRayon)> }
        object { coinArrondi translate <-(semelleCote-semelleRayon), 0.00, 
+(semelleCote-semelleRayon)> }
        object { coinArrondi translate <-(semelleCote-semelleRayon), 0.00, 
-(semelleCote-semelleRayon)> }
        
        cylinder { <+(semelleCote-semelleArrondi), 
semelleHauteur-semelleArrondi, -(semelleCote-semelleRayon)> 
<+(semelleCote-semelleArrondi), semelleHauteur-semelleArrondi, 
+(semelleCote-semelleRayon)> semelleArrondi }
        cylinder { <-(semelleCote-semelleArrondi), 
semelleHauteur-semelleArrondi, -(semelleCote-semelleRayon)> 
<-(semelleCote-semelleArrondi), semelleHauteur-semelleArrondi, 
+(semelleCote-semelleRayon)> semelleArrondi }
      
        cylinder { <+(semelleCote-semelleRayon), semelleHauteur-semelleArrondi, 
+(semelleCote-semelleArrondi)> <-(semelleCote-semelleRayon), 
semelleHauteur-semelleArrondi, +(semelleCote-semelleArrondi)> semelleArrondi }
        cylinder { <+(semelleCote-semelleRayon), semelleHauteur-semelleArrondi, 
-(semelleCote-semelleArrondi)> <-(semelleCote-semelleRayon), 
semelleHauteur-semelleArrondi, -(semelleCote-semelleArrondi)> semelleArrondi }
      
        cylinder { <0.00, 0.00, 0.00> <0.00, tubeHauteur-tubeTore, 0.00> 
tubeRayonExterieur }
        torus { tubeRayonExterieur-tubeTore tubeTore translate 
(tubeHauteur-tubeTore)*y }
        torus { tubeRayonExterieur semelleArrondi translate semelleHauteur*y }
        }
      torus { tubeRayonExterieur+semelleArrondi semelleArrondi translate 
(semelleHauteur+semelleArrondi)*y }
      }
    object { goussetBase }
    object { goussetBase rotate 90*y }
    object { goussetBase rotate 180*y }
    object { goussetBase rotate 270*y }
  
    object { gousset }
    object { gousset rotate 90*y }
    object { gousset rotate 180*y }
    object { gousset rotate 270*y }
    }     
  // --- percages ---------------------------------------------------------------
  cylinder { <0.00, -1.00, 0.00> <0.00, tubeHauteur+1, 0.00> tubeRayonInterieur }
  object { percages }
  object { percages rotate 90*y }
  object { percages rotate 180*y }
  object { percages rotate 270*y }
  }



//  --------------------------------------------------------------------------
//  --- OBJECT ---------------------------------------------------------------
//  --------------------------------------------------------------------------
object {
  support
  #if (quickTexture)
    pigment { color Red }
    finish { ambient 0.40 diffuse 0.60 phong 0.80 }
  #else
    pigment {
      rgb <0.859998, 0.859998, 0.869993>
      }
    normal {
      granite 0.05
      triangle_wave
      scale 2
      }
    finish {
      ambient 0.40
      diffuse 0.60
      specular 1.0
      roughness 0.0005
      metallic on
      }
  #end
  }


Post a reply to this message


Attachments:
Download 'supportMegaPov.jpg' (35 KB) Download 'supportPovRay.jpg' (31 KB)

Preview of image 'supportMegaPov.jpg'
supportMegaPov.jpg

Preview of image 'supportPovRay.jpg'
supportPovRay.jpg


 

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