View Issue Details

IDProjectCategoryLast Update
0027875Heart Of The MachineGraphical BugMay 24, 2023 9:40 am
ReporterChris_McElligottPark Assigned ToChris_McElligottPark  
Severityminor 
Status resolvedResolutionfixed 
Fixed in Version0.404 
Summary0027875: Work around frustum culling false positives with sub-cells.
DescriptionAllow the player to specify what density those are at, but default it to something like 1/8th the normal cell size.

Have all buildings register themselves with every sub-cell that they intersect. This will be slow, so do it on a background thread after the game has loaded. Same deal with the minor objects and trees and roads and etc. This is simpler than an OBB intersection test, so it shouldn't be TOO bad.

During frustum culling, no longer flag the entire tile for cells that are clos to the camera. Unless the sub-cells have not finished calculating yet, in which case go ahead and use the current method.

After the sub-cells are calculated, then only test against sub-cells. Loop over them instead of cells, and use a "has drawn yet this frame" piece of logic to skip repeat calls to the same object that is in multiple sub-cells.

In general, this should cut the graphical load of the game by something like half, with no other changes, and it should be the sort of thing we can toggle on and off.
TagsNo tags attached.

Activities

Chris_McElligottPark

May 24, 2023 9:40 am

administrator   ~0067793

Done in the next build! Will still be some weeks before the next build.

Also lots of other improvements to performance of rendering in general that turned out to be more significant than this one.

Issue History

Date Modified Username Field Change
May 8, 2023 4:56 pm Chris_McElligottPark New Issue
May 8, 2023 4:56 pm Chris_McElligottPark Status new => assigned
May 8, 2023 4:56 pm Chris_McElligottPark Assigned To => Chris_McElligottPark
May 9, 2023 12:12 pm Chris_McElligottPark Status assigned => feature for later
May 24, 2023 9:40 am Chris_McElligottPark Status feature for later => resolved
May 24, 2023 9:40 am Chris_McElligottPark Resolution open => fixed
May 24, 2023 9:40 am Chris_McElligottPark Fixed in Version => 0.404
May 24, 2023 9:40 am Chris_McElligottPark Note Added: 0067793