Re: Exterminate All Operating System Abstractions
Posted: Thu Jul 28, 2016 1:52 am
Hi,
Regardless of how the graphics API is designed; the hard part is always implementing drivers that support GPUs and/or getting acceptable quality graphics with the "performance challenge" of software rendering.
The fact is you don't even need a new graphics API for this. You could (e.g.) implement DirectX12 in software (including emulating a modern GPU in software) and make the exact same assets we see in existing AAA games work on an ancient CGA card (just with worse quality/resolution/colour depth and far worse frame rate).
Cheers,
Brendan
This is (part of) what high level programming languages have been trying to do for about 60 years (abstract low level details of the underlying CPU so high level code is portable to different CPUs).Rusky wrote:By that logic, programs should never be allowed to rely on CPU-side hardware features either.Brendan wrote:Basically; for graphics; it should never be a question of "will it work" and should only ever be a question of "how well does it work" (frame rate, graphics quality). That can not happen because the abstraction isn't abstract.
Why wait? It's trivial to design a graphics API that does this and you could do it yourself.Rusky wrote:But go ahead and try to design a graphics API that accepts the sorts of assets we see in AAA games today and produces something at all useful on a fixed-function pipeline from the 90s- I'll wait.
Regardless of how the graphics API is designed; the hard part is always implementing drivers that support GPUs and/or getting acceptable quality graphics with the "performance challenge" of software rendering.
The fact is you don't even need a new graphics API for this. You could (e.g.) implement DirectX12 in software (including emulating a modern GPU in software) and make the exact same assets we see in existing AAA games work on an ancient CGA card (just with worse quality/resolution/colour depth and far worse frame rate).
Cheers,
Brendan