POV-Ray

The Persistence of Vision Raytracer (POV-Ray).

This is the legacy Bug Tracking System for the POV-Ray project. Bugs listed here are being migrated to our github issue tracker. Please refer to that for new reports or updates to existing ones on this system.

Tasklist

FS#31 - function pattern in image map

Attached to Project: POV-Ray
Opened by Tim Attwood (TimA) - Friday, 22 May 2009, 00:19 GMT
Last edited by Christoph Lipka (clipka) - Friday, 26 March 2010, 16:50 GMT
Task Type Definite Bug
Category Backend → Texture/Material/Finish
Status Closed
Assigned To Chris Cason (chrisc)
Operating System All
Severity Medium
Priority Normal
Reported Version 3.70 beta 32
Due in Version 3.70 beta 33
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Function use in image maps is broken.

The following should result in a white and green checkered unit square, but is transparent.

camera {
   location  <0.0, 0.5, -4.0>
   direction 1.5*z
   right     x*image_width/image_height
   look_at   <0.0, 0.0,  0.0>
}

background {rgb <1,1,1>}

light_source {
  <-30, 10, -30>           
  color rgb <1, 1, 1> 
}

plane {y,-1 pigment{checker rgb <1,0,0> rgb <1,0.5,0.5> }}

plane {y,-0.99 
 pigment {
  image_map { 
   function 10,10 { 
    pigment {checker rgb <0,1,0>, rgb <1,1,1> scale 0.1}
   }
   once 
  }
  rotate <90,0,0>
 }
}
This task depends upon

Closed by  Christoph Lipka (clipka)
Friday, 26 March 2010, 16:50 GMT
Reason for closing:  Fixed
Additional comments about closing:  No feedback from beta testers on the originally reported problem for months, so probably "no news is good news"
Comment by Christoph Lipka (clipka) - Sunday, 24 May 2009, 19:13 GMT
  • Field changed: Status (Unconfirmed → New)

Confirmed with current 3.7.0 development version; looks like the effect of the transmit component is inverted.

Comment by Christoph Lipka (clipka) - Sunday, 24 May 2009, 19:37 GMT
  • Field changed: Status (Assigned → Investigating)
  • Field changed: Percent Complete (0% → 40%)

For function images, wrong function was called to store image data (Image::SetRGBAValue instead of Image::SetRGBFTValue)

Comment by Christoph Lipka (clipka) - Sunday, 24 May 2009, 19:44 GMT
  • Field changed: Status (Investigating → Requires testing)
  • Field changed: Due in Version (Undecided → 3.70 beta 33)
  • Field changed: Percent Complete (40% → 100%)
  • Task reassigned to Chris Cason (chrisc)

Fixed with changelist 4791

Comment by Grimbert Jérôme (Le_Forgeron) - Thursday, 23 July 2009, 18:41 GMT

Beta 33, sources, Linux amd64:

Could somebody explains how the suggested scene was ok ?

according to documentation, image_map in pigment expect a file type, a file name (as string) then modifier...

http://wiki.povray.org/content/Documentation:Reference_Section_8.2

That the proposed scene parsed fine... leave 2 options: documentation must be updated (and currently scene does not work), or the parser need to stop that silly script.

Comment by Tim Attwood (TimA) - Friday, 24 July 2009, 02:00 GMT

The documentation needs updated.

The syntax for function images is in section 3.5.11.16 "Function Image",
but it probably should be referenced in section 3.5.1.5.1 "Specifying an Image Map".

The same thing for function height_fields in section 3.5.11.16 "Function Image",
they probably should get a sub-section and be referenced in section 3.4.1.5 "Height Field".

Note: the docs in the quickref are correct... in section 3.8.10.8 "Pattern Modifiers"
shows BITMAP_IMAGE is either FUNCTION_IMAGE or BITMAP_TYPE FILE_NAME.

Comment by Grimbert Jérôme (Le_Forgeron) - Thursday, 13 August 2009, 16:00 GMT

The scene works with Beta.33 (linux, 64bits, from sources)
but would really benefit from explicit finish setting.

Notice that due to sampling of checker pattern along the 0 position (is that the real cause), the image of a scaled to 1/10 with 10x10 samples is not a regular checker.
(Hello, shannon anyone ???)

No more a bug, close it and create a task for documentation ?

camera {
   location  <0.0, 0.5, -4.0>
   direction 1.5*z
   right     x*image_width/image_height
   look_at   <0.0, 0.0,  0.0>
}

background {rgb <1,1,1>}

light_source {
  <-30, 10, -30>           
  color rgb <1, 1, 1> 
}

plane {y,-1 pigment{checker rgb <1,0,0> rgb <1,0.5,0.5> }
finish {ambient 0.5 diffuse 0.5 }
}

plane {y,-0.99 
 pigment {
  image_map { 
   function 10,10 { 
    pigment {checker rgb <0,1,0>, rgb <1,1,1> 
    scale 0.1
    }
   }
   once 
  }
  rotate <90,0,0>
 }
 finish { ambient 1 }
}


Loading...