Menu

#114 texture() cannot load zfile

open
nobody
None
5
2009-09-07
2009-09-07
No

Pixie crashes if a shader uses texture() to load a zfile depth image to retrieve depth data. This technique is often used in REYES style hacking to fake soft shadows, sub surface scattering and other object blocking related tricks.

Discussion

  • Anonymous

    Anonymous - 2009-09-10
     
  • Anonymous

    Anonymous - 2009-09-10

    While building a test case for this error I've discovered that I think the problem is when the same map is loaded by a shadow() call and texture() call at the same time in an illuminate loop in a light shader. If you comment out one or the other in the shader it will pass.

     
  • Alex

    Alex - 2010-05-22

    I haven't fixed this bug but did some investigation. It looks like pixie loads in a texture or shadow the first time you issue a texture or shadow call in your shader. From that point it considers that file to be a shadow or texture. If another statement calls the opposite function with the same filename, it will crash because it re-interprets it as a different data structure.

    The fix will need some refactoring presumably.

     

Log in to post a comment.