Importance of explicit bin assignment

The algorithm for assigning Geoms to bins is mysterious, if not explicitly set. I tried setting color-write to false and depth-write to true, to make the node an occluder, but it randomly disappeared and failed to cover other nodes (failed once among several times). And this bothered me for several days. I couldn’t find any difference in ls() nor simple logs, until I found that bins play a role in rendering. setBin('background', 0) finally solved this problem.

First of all, welcome to the community! I hope that you enjoy your time here! :slight_smile:

As to bins, for reference and the record, I believe that the effect of and assignment to bins is described in the following manual page:
https://docs.panda3d.org/1.10/python/programming/rendering-process/controlling-render-order

Note that which objects an object will appear behind or in front of is not the same thing as the order in which they are rendered, due to depth buffering. You have to understand the interplay between depth testing, depth writing and binning in order to understand whether an object will appear behind or in front of another object.

1 Like