|
|
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'
Preview of image 'supportPovRay.jpg'
|
|