Sujet : Re: Misc: Applications of small floating point formats.
De : ldo (at) *nospam* nz.invalid (Lawrence D'Oliveiro)
Groupes : comp.archDate : 05. Aug 2024, 02:20:22
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <v8p9cl$ai44$2@dont-email.me>
References : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
User-Agent : Pan/0.159 (Vovchansk; )
On Sun, 4 Aug 2024 16:50:50 -0500, BGB wrote:
For mainstream games, there has been a move away from both OpenGL and
Direct3D towards Vulkan.
Arguably, in some ways Vulkan is "better" for high-end games on modern
GPUs, but is a lot harder to use (the amount of work needed to get even
basic rendering working is very high).
Similarly, some targets, such as Android and Raspbian, were using GLES2
rather than OpenGL proper.
There is a definite line of evolution OpenGL → OpenGL ES → Vulkan.
The original OpenGL had a fixed-function pipeline with a fixed number of
lights and material characteristics and so on.
Then later “shaders” were introduced, written in a special language
(GLSL), so that you could define your lighting and materials how you
liked. (I think the idea of a shader language originated with Pixar’s
RenderMan.)
Then OpenGL ES got rid of the old fixed-function pipeline, and required
you to use the shader functionality. Interesting that GL ES 2.0 (and
later) was not backward-compatible with GL ES 1.x in this regard.
And of course Vulkan takes the whole idea to its logical conclusion.
On the downside, it makes things harder for the newbie wanting to learn
about all this stuff. Luckily, the old OpenGL APIs haven’t completely gone
away (yet), so you can still start your learning on the fixed-function
pipeline, then add some shaders, then once you are proficient in those,
you can drop the fixed-function training wheels and take flight.
Contrast, OpenGL 1.x has a lower barrier to entry; and makes some sense
as a more general purpose graphics API (can also be used for GUI and
other things).
Blender does its entire GUI with OpenGL, and the minimum version it
requires is 4.3 nowadays.
One can argue though that OpenGL is arguably a heavyweight option for
general GUI rendering. An intermediate option could be an API more
focused on 2D UI drawing tasks ...
That’s how things used to be done, back in the 1990s or so. Then it was
realized that the graphics card vendors really only needed to worry about
3D acceleration, because the 3D APIs worked perfectly well for 2D work. I
think it was Apple than pioneered this idea in OS X, though it was very
quickly adopted by other platforms.
Nothing is stopping them from being used for offline rendering.
They are not really best thought of as “rendering” APIs, they are just
“drawing” APIs.