1890348863287943363, 1886572405176345062, 1885175713638076657, 1884282476195110998, 1881908248544166159, 1877208278632955949, 1876093937632600106,
This commit is contained in:
1 parent
aca7150c9e
commit
8bf65fca7b
23 files changed
+1178
-62
No files matched your search
+122
@@ -0,0 +1,122 @@
|
||||
---
|
||||
title: "@simplex_fx @SebAaltonen Yeah it's a common problem, thin wrapper interfaces reduced to the worst platform's caps then called at high frequency ..."
|
||||
type: archive
|
||||
source: twitter
|
||||
source_url: "https://x.com/NOTimothyLottes/status/1890421311962239323"
|
||||
author: "NOTimothyLottes"
|
||||
handle: NOTimothyLottes
|
||||
post_id: "1890421311962239323"
|
||||
date: 2025-02-14
|
||||
archived: 2026-08-25
|
||||
draft: true
|
||||
tags:
|
||||
- archive
|
||||
- twitter
|
||||
- simplex_fx
|
||||
description: "@simplex_fx @SebAaltonen Yeah it's a common problem, thin wrapper interfaces reduced to the worst platform's caps then called at high frequency ..."
|
||||
in_reply_to: ""
|
||||
parent_post_id: "1890348863287943363"
|
||||
---
|
||||
|
||||
## Source
|
||||
|
||||
- URL: https://x.com/NOTimothyLottes/status/1890421311962239323
|
||||
- Author: NOTimothyLottes (@NOTimothyLottes)
|
||||
- Posted: 2025-02-14 15:22:17
|
||||
|
||||
## Branch
|
||||
|
||||
**1/**
|
||||
|
||||
@simplex_fx @SebAaltonen Yeah it's a common problem, thin wrapper interfaces reduced to the worst platform's caps then called at high frequency ... it's the recipe for poor software engineering
|
||||
|
||||
**2/**
|
||||
|
||||
@simplex_fx @SebAaltonen Arguments like: we cannot do bindless at the engine interface level because our Intel iGPU binding limits are too low, etc. Just another sign the engine interface failed when all platforms are crippled for the LCD, better if only the LCD platforms are crippled
|
||||
|
||||
**3/**
|
||||
|
||||
@simplex_fx @SebAaltonen My interfaces are like @simplex_fx perhaps, I only do either extremely high-level, or extremely low-level. So my graphics API is just this below ...
|
||||
|
||||

|
||||
|
||||
**4/**
|
||||
|
||||
@NOTimothyLottes @SebAaltonen what is the mark-unmark thing?
|
||||
|
||||
**5/**
|
||||
|
||||
@simplex_fx @SebAaltonen It is a 1:1 map to VkEvents. Mark:set signal after all prior launched dispatches have completed, unmark:clear signal, wait: wait for signal
|
||||
|
||||
**6/**
|
||||
|
||||
@NOTimothyLottes @SebAaltonen Do you have plans to publish your render?
|
||||
|
||||
Seems like some super nice and lightweight stuff.
|
||||
|
||||
**7/**
|
||||
|
||||
@simplex_fx @SebAaltonen The game/rendering side of my current project is too wild/game-specific to be of general usage, but the shell of the engine without the content, that I might release at some point into open source as an example
|
||||
|
||||
**8/**
|
||||
|
||||
@NOTimothyLottes @simplex_fx @SebAaltonen What’s the game?
|
||||
|
||||
**9/**
|
||||
|
||||
@AgileJebrim @simplex_fx @SebAaltonen Across many years of working for IHVs and ISVs, I've been doing my own side project personal R&D prototypes geared towards solving all the key systems of a game I'd like to actually put into production some day
|
||||
|
||||
**10/**
|
||||
|
||||
@NOTimothyLottes @simplex_fx @SebAaltonen A combat flight sim MMO?
|
||||
|
||||
**11/**
|
||||
|
||||
@AgileJebrim @simplex_fx @SebAaltonen Probably split it up into two: a single player vs world (low scope), then use that to fund what I really want to do which involves multi-player (high scope).
|
||||
|
||||
**12/**
|
||||
|
||||
@AgileJebrim @simplex_fx @SebAaltonen FPS-like (more like 3D Descent [DOS], instead of fixed planar), trying to break ground more in world-scope simulation/thinking/destruction but not just thin on-planet-surface stuff, more like full planetoid interior [BLAME! style, an out-of-control world-building machine]
|
||||
|
||||
**13/**
|
||||
|
||||
@AgileJebrim @simplex_fx @SebAaltonen Rewinding time, there have been some interesting milestones in PC gaming
|
||||
(1.) Command HQ (and similar) - Modem connected real-time multi-player world scale battle simulation with fog of war ...
|
||||
|
||||

|
||||
|
||||
**14/**
|
||||
|
||||
@AgileJebrim @simplex_fx @SebAaltonen (2.) Starflight https://www.filfre.net/2014/10/starflight/ - procedural universe generation, but with persistent interaction, they actually saved game state back to the floppy disk ... might say today "No Man's Sky" is like a modern version of that procedural universe generation
|
||||
|
||||

|
||||
|
||||
**15/**
|
||||
|
||||
@AgileJebrim @simplex_fx @SebAaltonen Forwarding in time a lot
|
||||
(3.) Teardown - expanding the lego-style chunky voxel engine with fully dynamic destruction, while still maintaining a high quality render
|
||||
|
||||

|
||||
|
||||
**16/**
|
||||
|
||||
@AgileJebrim @simplex_fx @SebAaltonen But there are a lot of barriers that feel like speed-of-sound barriers (possible) vs speed-of-light (impossible) with PC game tech, examples
|
||||
(1.) Voxel games - they stay mostly chunky (you have games like Voxile pushing this a little, with in-voxel details)
|
||||
|
||||

|
||||
|
||||
**17/**
|
||||
|
||||
@AgileJebrim @simplex_fx @SebAaltonen (2.) Physical simulation. NV PhyX had some absolutely amazing demos of destruction, but not really anything that went all in on massive destruction BECAUSE the game is still on the CPU, and the GPU is limited to just graphics ... seems like still a massive opportunity
|
||||
|
||||
**18/**
|
||||
|
||||
@AgileJebrim @simplex_fx @SebAaltonen (3.) And the biggest one IMO: many do procedural generation and stop there. But it is the MIX of procedural rules and simulation that actually generates interesting behavior and content, that is very under-explored
|
||||
|
||||
**19/**
|
||||
|
||||
@AgileJebrim @simplex_fx @SebAaltonen So the inflection point IMO was GPUs getting fast enough compute where triangle rendering wasn't required, and then getting large enough memory, where one could devote it to {high/low frequency simulation,persistence,etc} instead of "textures"
|
||||
|
||||
## Related
|
||||
|
||||
- Spine: [[archive/threads/simplex_fx/2025-02-14-hey-gpu-guys-like-sebaaltonen-notimothylottes-why]]
|
||||
+59
@@ -0,0 +1,59 @@
|
||||
---
|
||||
title: "@simplex_fx @NOTimothyLottes I briefly discussed this topic in my SIGGRAPH 2022 talk."
|
||||
type: archive
|
||||
source: twitter
|
||||
source_url: "https://x.com/SebAaltonen/status/1890383966600888652"
|
||||
author: "Sebastian Aaltonen"
|
||||
handle: SebAaltonen
|
||||
post_id: "1890383966600888652"
|
||||
date: 2025-02-14
|
||||
archived: 2026-08-25
|
||||
draft: false
|
||||
tags:
|
||||
- archive
|
||||
- twitter
|
||||
- simplex_fx
|
||||
description: "@simplex_fx @NOTimothyLottes I briefly discussed this topic in my SIGGRAPH 2022 talk."
|
||||
in_reply_to: ""
|
||||
parent_post_id: "1890348863287943363"
|
||||
---
|
||||
|
||||
## Source
|
||||
|
||||
- URL: https://x.com/SebAaltonen/status/1890383966600888652
|
||||
- Author: Sebastian Aaltonen (@SebAaltonen)
|
||||
- Posted: 2025-02-14 12:53:53
|
||||
|
||||
## Branch
|
||||
|
||||
**1/**
|
||||
|
||||
@simplex_fx @NOTimothyLottes I briefly discussed this topic in my SIGGRAPH 2022 talk. The problem is that if you write a completely custom renderer for each platform, you have LOTS of platform specific code, which is super hard to maintain when your requirements change. 5x work for refactor is not fun.
|
||||
|
||||
**2/**
|
||||
|
||||
@simplex_fx @NOTimothyLottes Also with good design, you can almost 1:1 wrap Vulkan/Metal/DX12 under the same thin wrapper, so you don't end up wasting performance in a wrapper. Now you can write your low level rendering code once.
|
||||
|
||||
**3/**
|
||||
|
||||
@simplex_fx @NOTimothyLottes Good design == use placement heaps everywhere, use argument buffers (also in Metal) so that your memory management and binding model is identical. This way you don't need to send any data though the API wrapper. Write data directly to GPU memory, then call the wrapper to draw.
|
||||
|
||||
**4/**
|
||||
|
||||
@simplex_fx @NOTimothyLottes Also separating CPU->GPU data upload completely from drawing allows you to upload data at change frequency instead of draw frequency. Many big engines are slow as they upload data per draw call. That's bad design. Couples upload/draw tightly together. Must pay for both.
|
||||
|
||||
**5/**
|
||||
|
||||
@SebAaltonen @simplex_fx @NOTimothyLottes I've seen advised to use graphics queue (supporting transfer) for cpu write once gpu draw once data (immediate data recreated every frame).
|
||||
Then use separate data upload for data that suffers less frequent update (like per-instance scene data of a level editor).
|
||||
Is it bad advice?
|
||||
|
||||
**6/**
|
||||
|
||||
@SebAaltonen @simplex_fx @NOTimothyLottes Would this work for mobile phones?
|
||||
I thought that keeping the scene resident on the GPU relies on indirect draws with a count buffer (filled by a GPU culling computer shader) and bindless resources.
|
||||
IIRC, these two are not well supported on mobile phones.
|
||||
|
||||
## Related
|
||||
|
||||
- Spine: [[archive/threads/simplex_fx/2025-02-14-hey-gpu-guys-like-sebaaltonen-notimothylottes-why]]
|
||||
+35
@@ -0,0 +1,35 @@
|
||||
---
|
||||
title: "@simplex_fx @SebAaltonen @NOTimothyLottes Every time I abstract at a higher-level I end up precluding some use-case that I didn't anticipate, perhaps because I'm still learning and lack the whole picture."
|
||||
type: archive
|
||||
source: twitter
|
||||
source_url: "https://x.com/count_mascetti/status/1890351256641712490"
|
||||
author: "Conte Mascetti"
|
||||
handle: count_mascetti
|
||||
post_id: "1890351256641712490"
|
||||
date: 2025-02-14
|
||||
archived: 2026-08-25
|
||||
draft: false
|
||||
tags:
|
||||
- archive
|
||||
- twitter
|
||||
- simplex_fx
|
||||
description: "@simplex_fx @SebAaltonen @NOTimothyLottes Every time I abstract at a higher-level I end up precluding some use-case that I didn't anticipate, perhaps because I'm still learning and lack the whole picture."
|
||||
in_reply_to: ""
|
||||
parent_post_id: "1890348863287943363"
|
||||
---
|
||||
|
||||
## Source
|
||||
|
||||
- URL: https://x.com/count_mascetti/status/1890351256641712490
|
||||
- Author: Conte Mascetti (@count_mascetti)
|
||||
- Posted: 2025-02-14 10:43:55
|
||||
|
||||
## Branch
|
||||
|
||||
**1/**
|
||||
|
||||
@simplex_fx @SebAaltonen @NOTimothyLottes Every time I abstract at a higher-level I end up precluding some use-case that I didn't anticipate, perhaps because I'm still learning and lack the whole picture. I find it very hard to write high-level graphics abstractions that are performant and flexible enough.
|
||||
|
||||
## Related
|
||||
|
||||
- Spine: [[archive/threads/simplex_fx/2025-02-14-hey-gpu-guys-like-sebaaltonen-notimothylottes-why]]
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
---
|
||||
title: "@simplex_fx @SebAaltonen @NOTimothyLottes You can do whatever you want the API."
|
||||
type: archive
|
||||
source: twitter
|
||||
source_url: "https://x.com/matiasgoldberg/status/1890396648662073353"
|
||||
author: "Matías N. Goldberg"
|
||||
handle: matiasgoldberg
|
||||
post_id: "1890396648662073353"
|
||||
date: 2025-02-14
|
||||
archived: 2026-08-25
|
||||
draft: false
|
||||
tags:
|
||||
- archive
|
||||
- twitter
|
||||
- simplex_fx
|
||||
description: "@simplex_fx @SebAaltonen @NOTimothyLottes You can do whatever you want the API."
|
||||
in_reply_to: ""
|
||||
parent_post_id: "1890348863287943363"
|
||||
---
|
||||
|
||||
## Source
|
||||
|
||||
- URL: https://x.com/matiasgoldberg/status/1890396648662073353
|
||||
- Author: Matías N. Goldberg (@matiasgoldberg)
|
||||
- Posted: 2025-02-14 13:44:17
|
||||
|
||||
## Branch
|
||||
|
||||
**1/**
|
||||
|
||||
@simplex_fx @SebAaltonen @NOTimothyLottes You can do whatever you want the API. Just because you can read from a GPU buffer you just wrote doesn't mean you should.
|
||||
|
||||
A thin wrapper allows enforcing certain guarantees and good practices to avoid race conditions or common corruption pitfalls
|
||||
|
||||
## Related
|
||||
|
||||
- Spine: [[archive/threads/simplex_fx/2025-02-14-hey-gpu-guys-like-sebaaltonen-notimothylottes-why]]
|
||||
+35
@@ -0,0 +1,35 @@
|
||||
---
|
||||
title: "@simplex_fx @SebAaltonen @NOTimothyLottes I don't disagree..."
|
||||
type: archive
|
||||
source: twitter
|
||||
source_url: "https://x.com/RyDawgE256/status/1890554187336872420"
|
||||
author: "Nintendo DS"
|
||||
handle: RyDawgE256
|
||||
post_id: "1890554187336872420"
|
||||
date: 2025-02-15
|
||||
archived: 2026-08-25
|
||||
draft: true
|
||||
tags:
|
||||
- archive
|
||||
- twitter
|
||||
- simplex_fx
|
||||
description: "@simplex_fx @SebAaltonen @NOTimothyLottes I don't disagree..."
|
||||
in_reply_to: ""
|
||||
parent_post_id: "1890348863287943363"
|
||||
---
|
||||
|
||||
## Source
|
||||
|
||||
- URL: https://x.com/RyDawgE256/status/1890554187336872420
|
||||
- Author: Nintendo DS (@RyDawgE256)
|
||||
- Posted: 2025-02-15 00:10:17
|
||||
|
||||
## Branch
|
||||
|
||||
**1/**
|
||||
|
||||
@simplex_fx @SebAaltonen @NOTimothyLottes I don't disagree... but the reason is that 99% of programmers don't gaf about the specifics of their renderer... which is a shame... but an unambiguous fact nonetheless
|
||||
|
||||
## Related
|
||||
|
||||
- Spine: [[archive/threads/simplex_fx/2025-02-14-hey-gpu-guys-like-sebaaltonen-notimothylottes-why]]
|
||||
+35
@@ -0,0 +1,35 @@
|
||||
---
|
||||
title: "Usually the key benefit is two fold, making the code truly cross platform and decoupling user level code from a specific rendering api/backend."
|
||||
type: archive
|
||||
source: twitter
|
||||
source_url: "https://x.com/matthewcraig42/status/1890635763819446764"
|
||||
author: "Matthew Craig"
|
||||
handle: matthewcraig42
|
||||
post_id: "1890635763819446764"
|
||||
date: 2025-02-15
|
||||
archived: 2026-08-25
|
||||
draft: true
|
||||
tags:
|
||||
- archive
|
||||
- twitter
|
||||
- simplex_fx
|
||||
description: "Usually the key benefit is two fold, making the code truly cross platform and decoupling user level code from a specific rendering api/backend."
|
||||
in_reply_to: ""
|
||||
parent_post_id: "1890348863287943363"
|
||||
---
|
||||
|
||||
## Source
|
||||
|
||||
- URL: https://x.com/matthewcraig42/status/1890635763819446764
|
||||
- Author: Matthew Craig (@matthewcraig42)
|
||||
- Posted: 2025-02-15 05:34:27
|
||||
|
||||
## Branch
|
||||
|
||||
**1/**
|
||||
|
||||
Usually the key benefit is two fold, making the code truly cross platform and decoupling user level code from a specific rendering api/backend. Without that if you change the underlying render API it will break all your user level code, and adding additional render backends is also challenging.
|
||||
|
||||
## Related
|
||||
|
||||
- Spine: [[archive/threads/simplex_fx/2025-02-14-hey-gpu-guys-like-sebaaltonen-notimothylottes-why]]
|
||||
+39
@@ -0,0 +1,39 @@
|
||||
---
|
||||
title: "@simplex_fx @SebAaltonen @NOTimothyLottes the render pipeline is basically a full piece of software trapped in inside of another software"
|
||||
type: archive
|
||||
source: twitter
|
||||
source_url: "https://x.com/pagedeux/status/1890719137904709668"
|
||||
author: "Jing"
|
||||
handle: pagedeux
|
||||
post_id: "1890719137904709668"
|
||||
date: 2025-02-15
|
||||
archived: 2026-08-25
|
||||
draft: true
|
||||
tags:
|
||||
- archive
|
||||
- twitter
|
||||
- simplex_fx
|
||||
description: "@simplex_fx @SebAaltonen @NOTimothyLottes the render pipeline is basically a full piece of software trapped in inside of another software"
|
||||
in_reply_to: ""
|
||||
parent_post_id: "1890348863287943363"
|
||||
---
|
||||
|
||||
## Source
|
||||
|
||||
- URL: https://x.com/pagedeux/status/1890719137904709668
|
||||
- Author: Jing (@pagedeux)
|
||||
- Posted: 2025-02-15 11:05:44
|
||||
|
||||
## Branch
|
||||
|
||||
**1/**
|
||||
|
||||
@simplex_fx @SebAaltonen @NOTimothyLottes the render pipeline is basically a full piece of software trapped in inside of another software
|
||||
|
||||
i guess that's why they call the compiled shader a "program"
|
||||
|
||||
it's kinda like mitochondria, it's also the powerhouse
|
||||
|
||||
## Related
|
||||
|
||||
- Spine: [[archive/threads/simplex_fx/2025-02-14-hey-gpu-guys-like-sebaaltonen-notimothylottes-why]]
|
||||
+35
@@ -0,0 +1,35 @@
|
||||
---
|
||||
title: "@simplex_fx @SebAaltonen @NOTimothyLottes I have exactly that."
|
||||
type: archive
|
||||
source: twitter
|
||||
source_url: "https://x.com/vanderschnarzen/status/1890804090046689518"
|
||||
author: "flo | paryonix3d"
|
||||
handle: vanderschnarzen
|
||||
post_id: "1890804090046689518"
|
||||
date: 2025-02-15
|
||||
archived: 2026-08-25
|
||||
draft: false
|
||||
tags:
|
||||
- archive
|
||||
- twitter
|
||||
- simplex_fx
|
||||
description: "@simplex_fx @SebAaltonen @NOTimothyLottes I have exactly that."
|
||||
in_reply_to: ""
|
||||
parent_post_id: "1890348863287943363"
|
||||
---
|
||||
|
||||
## Source
|
||||
|
||||
- URL: https://x.com/vanderschnarzen/status/1890804090046689518
|
||||
- Author: flo | paryonix3d (@vanderschnarzen)
|
||||
- Posted: 2025-02-15 16:43:19
|
||||
|
||||
## Branch
|
||||
|
||||
**1/**
|
||||
|
||||
@simplex_fx @SebAaltonen @NOTimothyLottes I have exactly that. My abstraction is basically just mesh and material. If you abstract on a low level you usually have to go with the smallest common denom- which prevents you from really taking advantage of a specific api. Opinions might differ, but that's just my two cents...
|
||||
|
||||
## Related
|
||||
|
||||
- Spine: [[archive/threads/simplex_fx/2025-02-14-hey-gpu-guys-like-sebaaltonen-notimothylottes-why]]
|
||||
+40
@@ -0,0 +1,40 @@
|
||||
---
|
||||
title: "Hey, gpu guys like @SebAaltonen @NOTimothyLottes why do rendering guys usually wrap 3d apis at low level in engines, creating some generic mid-low level API?"
|
||||
type: archive
|
||||
source: twitter
|
||||
source_url: "https://x.com/simplex_fx/status/1890348863287943363"
|
||||
author: "Simplex"
|
||||
handle: simplex_fx
|
||||
post_id: "1890348863287943363"
|
||||
date: 2025-02-14
|
||||
archived: 2026-08-25
|
||||
draft: false
|
||||
tags:
|
||||
- archive
|
||||
- twitter
|
||||
- simplex_fx
|
||||
description: "Hey, gpu guys like @SebAaltonen @NOTimothyLottes why do rendering guys usually wrap 3d apis at low level in engines, creating some generic mid-low level API?"
|
||||
in_reply_to: ""
|
||||
---
|
||||
|
||||
## Source
|
||||
|
||||
- URL: https://x.com/simplex_fx/status/1890348863287943363
|
||||
- Author: Simplex (@simplex_fx)
|
||||
- Posted: 2025-02-14 10:34:24
|
||||
|
||||
## Thread
|
||||
|
||||
**1/**
|
||||
|
||||
Hey, gpu guys like @SebAaltonen @NOTimothyLottes why do rendering guys usually wrap 3d apis at low level in engines, creating some generic mid-low level API?
|
||||
|
||||
My 3d engine have a few super high level functions for stuff I actually do, and the rest is totally up to platform/api specific code.
|
||||
|
||||
Unless you go with some super generic game engine (bad idea on it's own anyway), 3d engine should be also just specific to the use case.
|
||||
|
||||
Branches: [[archive/threads/simplex_fx/2025-02-14-hey-gpu-guys-like-sebaaltonen-notimothylottes-why/2025-02-14-count_mascetti-every-time-i-abstract-at-a-higher-level-i-end-up]], [[archive/threads/simplex_fx/2025-02-14-hey-gpu-guys-like-sebaaltonen-notimothylottes-why/2025-02-14-SebAaltonen-i-briefly-discussed-this-topic-in-my-siggraph]], [[archive/threads/simplex_fx/2025-02-14-hey-gpu-guys-like-sebaaltonen-notimothylottes-why/2025-02-14-matiasgoldberg-you-can-do-whatever-you-want-the-api-just-because]], [[archive/threads/simplex_fx/2025-02-14-hey-gpu-guys-like-sebaaltonen-notimothylottes-why/2025-02-14-NOTimothyLottes-yeah-its-a-common-problem-thin-wrapper-interfaces]], [[archive/threads/simplex_fx/2025-02-14-hey-gpu-guys-like-sebaaltonen-notimothylottes-why/2025-02-15-RyDawgE256-i-dont-disagree-but-the-reason-is-that-99-of]], [[archive/threads/simplex_fx/2025-02-14-hey-gpu-guys-like-sebaaltonen-notimothylottes-why/2025-02-15-matthewcraig42-usually-the-key-benefit-is-two-fold-making-the]], [[archive/threads/simplex_fx/2025-02-14-hey-gpu-guys-like-sebaaltonen-notimothylottes-why/2025-02-15-pagedeux-the-render-pipeline-is-basically-a-full-piece-of]], [[archive/threads/simplex_fx/2025-02-14-hey-gpu-guys-like-sebaaltonen-notimothylottes-why/2025-02-15-vanderschnarzen-i-have-exactly-that-my-abstraction-is-basically]]
|
||||
|
||||
**2/**
|
||||
|
||||
@simplex_fx @SebAaltonen @NOTimothyLottes Exactly the question I was asking myself lol. Always felt like 3D apis SHOULD be specific. But I’m just a noob
|
||||
@@ -0,0 +1,12 @@
|
||||
---
|
||||
title: simplex_fx
|
||||
type: note
|
||||
draft: false
|
||||
description: Archived threads by simplex_fx.
|
||||
tags:
|
||||
- archive
|
||||
- twitter
|
||||
- simplex_fx
|
||||
---
|
||||
|
||||
- [[archive/threads/simplex_fx/2025-02-14-hey-gpu-guys-like-sebaaltonen-notimothylottes-why]]
|
||||
Reference in new issue
Block a user