I've updated the first post with a new "mode 8" version that improves the performance.
Firstly I've done the grid lookup with a table rather than a shift calculation. This helps a little where there are long distances being viewed. Secondly my approach above didn't work out - but a simpler one did.
I have moved the calculation to every other column and then check if this is the same face and grid cell that we plotted previously. If so the column height is simple set to the average of the two columns. This significantly improves performance when there are large faces visible on the screen and my original test of a rotation at the start location benefits disproportionately from this (giving an unrepresentative 21fps).
A more realistic test improves from the original 12.5fps to around 17.5fps. Here's a screenshot showing black columns for the averaged values: Given the work so far and the unexpected performance it would seem a pity not to have this end up in a game - I'll have a think.
Firstly I've done the grid lookup with a table rather than a shift calculation. This helps a little where there are long distances being viewed. Secondly my approach above didn't work out - but a simpler one did.
I have moved the calculation to every other column and then check if this is the same face and grid cell that we plotted previously. If so the column height is simple set to the average of the two columns. This significantly improves performance when there are large faces visible on the screen and my original test of a rotation at the start location benefits disproportionately from this (giving an unrepresentative 21fps).
A more realistic test improves from the original 12.5fps to around 17.5fps. Here's a screenshot showing black columns for the averaged values: Given the work so far and the unexpected performance it would seem a pity not to have this end up in a game - I'll have a think.
Statistics: Posted by ChrisB — Fri Feb 28, 2025 6:18 am