POV-Ray : Newsgroups : povray.bugreports : Is the following cutaway_textures bug commonly understood? : Is the following cutaway_textures bug commonly understood? Server Time
13 May 2024 10:31:20 EDT (-0400)
  Is the following cutaway_textures bug commonly understood?  
From: William F Pokorny
Date: 18 Dec 2023 10:16:39
Message: <65806257$1@news.povray.org>
While continuing to think about yuqk / v4.0 texturing clean up / 
changes, I took a detailed look at cutaway_textures.

I'm pretty sure the 0110 difference case below should end up as 'Red 
Red'. The nullptr result for the pigment I see as a bug itself in any 
case - the pigment should end up set to something valid.

The behavior is identical v3.7-stable, v3.8 beta 2 and yuqk on linux.

Do windows users see the same bug?

Bill P.

//...
default { pigment { rgb <1,1,0> } }
#declare Sph00 = sphere { 0, 0.5 }
#declare Cyl00 = cylinder { -1*y, 1*y, 0.50 }

#declare G =    0;
#declare R =   0;
#declare C =  0;
#declare B = 0;

#declare I00 = intersection {
     object { Sph00
         #if (G) pigment { Green } #end
     }
     object { Cyl00 translate +0.25*z
         #if (R) pigment { Red }   #end
     }
     #if (C) cutaway_textures #end
     #if (B) pigment { Blue } #end
}

#declare D00 = difference {
     object { Sph00
         #if (G) pigment { Green } #end
     }
     object { Cyl00 translate -0.5*z
         #if (R) pigment { Red }   #end
     }
     #if (C) cutaway_textures #end
     #if (B) pigment { Blue } #end
}

object { I00 translate -0.6*x }
object { D00 translate +0.6*x }
//...

=============

Default texture's pigment (DfltPig).

Intersection                    | Difference
------------                    | ------------
                                 |
        Sphere    Cylinder       |        Sphere    Cylinder
BCRG   Surface   Surface        | BCRG   Surface   Surface
-----|---------|----------|---| | -----|---------|----------|---|
0000   DfltPig   DfltPig    =   | 0000   DfltPig   DfltPig    =
0001   Green     DfltPig    =   | 0001   Green     DfltPig    =
0010   DfltPig   Red        =   | 0010   DfltPig   Red        =
0011   Green     Red        =   | 0011   Green     Red        =
0100   DfltPig   DfltPig    =   | 0100   DfltPig   DfltPig    =
0101   Green     Green      =   | 0101   Green     Green      =
0110   Red       Red        .   | 0110   Nullptr   Red        ?
0111   Green     Red        =   | 0111   Green     Red        =
1000   Blue      Blue       =   | 1000   Blue      Blue       =
1001   Green     Blue       =   | 1001   Green     Blue       =
1010   Blue      Red        =   | 1010   Blue      Red        =
1011   Green     Red        =   | 1011   Green     Red        =
1100   Blue      Blue       =   | 1100   Blue      Blue       =
1101   Green     Blue       =   | 1101   Green     Blue       =
1110   Blue      Red        =   | 1110   Blue      Red        =
1111   Green     Red        =   | 1111   Green     Red        =


Post a reply to this message

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