With our new renderer, this game today looks pretty good. I did a minor remix: Changed the visual style preset and tweaked the sun and fog settings.
With our new renderer, this game today looks pretty good. I did a minor remix: Changed the visual style preset and tweaked the sun and fog settings.
3 cascades:
Vertex = 0.20ms
Pixel = 0.07ms
4 cascades:
Vertex = 0.39ms (195%)
Pixel = 0.11ms (157%)
On M3 Max, a total cost of 0.5ms for good-looking shadows is a no-brainer. However, a 185% cost is too much for low- and mid-tier phones.
3 cascades:
Vertex = 0.20ms
Pixel = 0.07ms
4 cascades:
Vertex = 0.39ms (195%)
Pixel = 0.11ms (157%)
On M3 Max, a total cost of 0.5ms for good-looking shadows is a no-brainer. However, a 185% cost is too much for low- and mid-tier phones.
I tested changing some shaders to SSBO instead of UBO. Works on all platforms!
Metal was the easiest. Buffers are just GPU pointers in Metal. There's no UBO or SSBO. Zero changes...
I tested changing some shaders to SSBO instead of UBO. Works on all platforms!
Metal was the easiest. Buffers are just GPU pointers in Metal. There's no UBO or SSBO. Zero changes...
The shadow map atlas is 4096x4096 pixels on PC. Each cascade is a 2048x2048 region. We render them in a single pass, changing the viewport rect between cascades.
The shadow map atlas is 4096x4096 pixels on PC. Each cascade is a 2048x2048 region. We render them in a single pass, changing the viewport rect between cascades.
This is how it looks at medium distance (cascade 2):
Left = 3 cascades
Right = 4 cascades
(click to enlarge, left/right arrows to toggle)
This is how it looks at medium distance (cascade 2):
Left = 3 cascades
Right = 4 cascades
(click to enlarge, left/right arrows to toggle)
Half Life 2 compared to Alan Wake 2 below:
Half Life 2 compared to Alan Wake 2 below:
Qualcomm has to do the same that AMD and Nvidia did years ago. Not route all mem loads though their texture units. Fast raw load path is crucial.
Qualcomm has to do the same that AMD and Nvidia did years ago. Not route all mem loads though their texture units. Fast raw load path is crucial.
But this is not without issues on mobile. I worry about vertex work overlap...
But this is not without issues on mobile. I worry about vertex work overlap...
Took 21 days to develop in total: native Dawn Mac + Windows first, then Emscripten for web. Runs really smoothly on the browser and the page load is super fast.
Zero issues on Mac, Windows or Chrome. Safari Tech Preview has some flickering tris.
Took 21 days to develop in total: native Dawn Mac + Windows first, then Emscripten for web. Runs really smoothly on the browser and the page load is super fast.
Zero issues on Mac, Windows or Chrome. Safari Tech Preview has some flickering tris.
Runs at locked 60Hz well on modern phones. The problem is cheap 99€ Android phones with PowerVR GE8320 :(
Runs at locked 60Hz well on modern phones. The problem is cheap 99€ Android phones with PowerVR GE8320 :(
GTAO timing here at quarter resolution on Mali G57:
GTAO timing here at quarter resolution on Mali G57:
Game: "Block City" by Blue Mint
Game: "Block City" by Blue Mint