-
Posted: Fri Jun 14, 2019 8:34 pm
-
I have had this with AB snow trees since last year as well; I do not know if it is unique to them, though.orzelek wrote: Tue Jun 25, 2019 5:43 am I think you might need to install Alien Biomes to see this one.
I did not verify with vanilla but with Alien Biomes installed this issue happens constantly. Maybe a base game issue or something that mod is doing with trees that causes this.
Making their bounding boxes much larger also means making their collision boxes much larger, right? I do not see that as being anywhere near acceptable to most players, as they would literally form a solid wall in a forest. How about a new "render bounding box" property, akin to the recently-added "map generation bounding box" one?Rseding91 wrote: Tue Jun 25, 2019 12:06 pm Ok, looking at the Alien Biomes mod I see now why it causes pop-in. The mod has extreme tall trees and makes the bounding box a few pixels big.
It has to change one or both of those if it wants to address this problem. The rendering system assumes no entity renders things more than:
The alien biomes trees in question are both too tall and the shadows too wide for what the game is setup to render. You can see in this image the red squares are the tree bounding boxes, the blue the selection boxes and the pink the render boxes. If the screen area collides with the pink area the tree gets rendered. You can see the problem with the alien biomes tree (it's too big).
- 6 tiles from the right edge of the bounding box
- 3 tiles from the left edge of the bounding box
- 3 tiles from the bottom edge of the bounding box
- 4 tiles from the top edge of the bounding box
tree render areas.PNG
A different render bounding box would not work for how rendering works. The game does an entity search over the world based off the area the screen is viewing + the mentioned extra area. If your entity does not collide with that entity search it isn't drawn.Reika wrote: Tue Jun 25, 2019 5:40 pm Making their bounding boxes much larger also means making their collision boxes much larger, right? I do not see that as being anywhere near acceptable to most players, as they would literally form a solid wall in a forest. How about a new "render bounding box" property, akin to the recently-added "map generation bounding box" one?
My suggestion is changing the logic to search for that render bounding box, as opposed to the current hardcoded "collision box plus some padding".Rseding91 wrote: Tue Jun 25, 2019 6:33 pmA different render bounding box would not work for how rendering works. The game does an entity search over the world based off the area the screen is viewing + the mentioned extra area. If your entity does not collide with that entity search it isn't drawn.Reika wrote: Tue Jun 25, 2019 5:40 pm Making their bounding boxes much larger also means making their collision boxes much larger, right? I do not see that as being anywhere near acceptable to most players, as they would literally form a solid wall in a forest. How about a new "render bounding box" property, akin to the recently-added "map generation bounding box" one?
What i'm saying is: entity searches only work on bounding box since that's what the entity uses to register itself onto the grid system that entity search uses.Reika wrote: Wed Jun 26, 2019 4:15 pm My suggestion is changing the logic to search for that render bounding box, as opposed to the current hardcoded "collision box plus some padding".
So basically the current settings are incompatible with any "extremely tall" entity, like chimneys, silos, etc? Could those values be made available as utility constants? As far as i understand the alien biomes trees would work if top/right were incresed by 3 each (which would be a ~10% increase of the scan area on a 1080p screen at zoom=1).Rseding91 wrote: Tue Jun 25, 2019 12:06 pm The rendering system assumes no entity renders things more than:
- 6 tiles from the right edge of the bounding box
- 3 tiles from the left edge of the bounding box
- 3 tiles from the bottom edge of the bounding box
- 4 tiles from the top edge of the bounding box