High performance graphics and text rendering on the GPU for... - Geller & Sermersheim - CppCon 2019

  Рет қаралды 11,238

CppCon

CppCon

Күн бұрын

Пікірлер: 14
@bernadettetreual
@bernadettetreual 5 жыл бұрын
The text rendering still looks quite sub-par. Spacing doesn't scale linearly. Also: "Currently only supports monospace, Western fonts" - unless this can be generalised to proper text rendering, it's just a toy.
@younghsiang2509
@younghsiang2509 4 жыл бұрын
Correct...
@jamesfaraday8545
@jamesfaraday8545 4 жыл бұрын
Correct, their typographic capabilities don't even meet minimum requirements of any application
@bobweiram6321
@bobweiram6321 2 жыл бұрын
Agreed. As a cross-platform UI library, it falls on its face. It needlessly bypasses the far more comprehensive, native UI facilities usually provided by the target platform. As a GPU interface library, there are tons of competing engines with a higher-level of abstraction for domain specific purposes such as CAD, video production and gaming. Finally, looking at the code snippets, it doesn't appear to conform to modern C++'s language constructs. I do think, however, it might be a good base for developing custom graphics engines.
@holz_name
@holz_name 5 жыл бұрын
Good talk. Yes, please stop wasting my CPU time for rendering buttons and text. I think literally all GUI graphics libraries are using the CPU? Why...
@JochemKuijpers
@JochemKuijpers 5 жыл бұрын
Easier, better support and you need it as a fall back when there is no GPU anyway. GPU rendering is optional so more work to implement.
@IllumTheMessage
@IllumTheMessage 5 жыл бұрын
Excellent talk. Very helpful for the non-graphics guru developer.
@ronensuperexplainer
@ronensuperexplainer 2 жыл бұрын
I'm a big fan of simple graphics
@dipi71
@dipi71 5 жыл бұрын
Something about the text rendering sounds fishy, and I think the downvotes reflect this. A fonts provides a glyph consisting of bezier/cubic spline outlines; convert those to polygons and render those. I don’t thing you'll lose any performance doing fonts the proper way.
@xavierthomas1980
@xavierthomas1980 5 жыл бұрын
Nah, Signed distance field is pretty much unrivaled for fonts. It has lower computing and memory need than what you suggest, but provide equivalent-ish quality.
@beyondhelp
@beyondhelp 5 жыл бұрын
Im actually curious about that. So lets say you have an engine clocking away at 90 fps, so to render the text you would convert the vectors and then present it, but then what happens when you render it to multiple surfaces, and then present that. Wouldn’t it be taxing to have to do many conversions every time you rendered to a surface?
@victordrouinviallard1700
@victordrouinviallard1700 5 жыл бұрын
For video games, Valve introduced a couple years ago this "Signed distance field" algorithm. This is indeed generated from a set of bezier splines but without having to compute every time. It's a very good algorithm.
@Bestmann3n
@Bestmann3n 5 жыл бұрын
glyph rendering is a nasty rabbit hole of compromise and aesthetic trade-offs. that includes the polygonal approach. For starters you'll have to do anti-aliasing to avoid jagged edges. Moreover gpus generally "fill" in triangles 4x4 or more pixels at a time so having a bunch of small triangles actually wastes a lot of performance, this also means you'll have to re-triangulate depending on what size you are rendering(a single curvy glyph covering half the screen could easily use hundreds if not thousands of polygons, you don't want to use that same mesh for a size 8 character). The list of issues goes on. Search for "GPU-centered Font Rendering Directly from Glyph Outlines" if you want to see what kind of nastyness state of the art gpu font rendering involves. SDF fonts have their own issues(like corner artifacts, being slow to compute in real-time, and so on)
@azarashikamen4098
@azarashikamen4098 5 жыл бұрын
as far as i know, signed distance field technique is one of the most practical and well balanced solution... i know, there are some people trying to implement(and boast) "more advanced" things, but they are usually garbages.
СОБАКА ВЕРНУЛА ТАБАЛАПКИ😱#shorts
00:25
INNA SERG
Рет қаралды 3,9 МЛН
小路飞还不知道他把路飞给擦没有了 #路飞#海贼王
00:32
路飞与唐舞桐
Рет қаралды 81 МЛН
2 MAGIC SECRETS @denismagicshow @roman_magic
00:32
MasomkaMagic
Рет қаралды 37 МЛН
3D Graphics for Dummies - Chris Ryan - CppCon 2021
1:01:18
CppCon
Рет қаралды 14 М.
The Math Behind Font Rasterization | How it Works
16:07
GamesWithGabe
Рет қаралды 172 М.
How does Font Rendering Work? | Game Engine Concepts #1
17:54
GamesWithGabe
Рет қаралды 23 М.
Kubernetes 101 workshop - complete hands-on
3:56:03
Kubesimplify
Рет қаралды 1,7 МЛН
The Tragedy of systemd
47:18
linux.conf.au
Рет қаралды 1,1 МЛН
СОБАКА ВЕРНУЛА ТАБАЛАПКИ😱#shorts
00:25
INNA SERG
Рет қаралды 3,9 МЛН