Clay John

934 posts

Clay John banner
Clay John

Clay John

@john_clayjohn

Happy @godotengine rendering maintainer and board member. @[email protected]

Victoria, British Columbia Beigetreten Ocak 2015
175 Folgt2.3K Follower
Clay John
Clay John@john_clayjohn·
@m_hatayama But for 3D you can treat opaque objects differently and guarantee that only visible pixels will run the full shader (i.e. there is no overdraw). So you can end up with a very large performance difference between opaque and transparent that you don't see with 2D/UI rendering.
English
1
1
3
196
Clay John
Clay John@john_clayjohn·
@m_hatayama The trade-offs for 2D and 3D are a little different. For 2D you are right that you basically always treat everything as transparent. But your pixel cost for 2D is a lot lower so it isn't too bad. For 3D each pixel is more expensive. So overdraw matters more.
English
1
1
5
330
はたやま
はたやま@m_hatayama·
UIは素材そのものが半透明か不透明かより、エンジンが使うUI向けshaderがどう描くかによるかと。 例)Unityの標準UIでは、(重ね合わせを扱うため)不透明な画像でも背後の絵と混ぜながら描くshaderで描画されており、パーツが重なる面積が増えるほど負荷になります。 背後に既に描かれたピクセルをさらに重ねて描く(オーバードロー)→ そのぶんGPUの仕事が増える → 負荷 Zバッファ等で隠れた部分を省ける不透過描画だけで綺麗なUIを構築するのはかなり難しいかと思うので、UEやGodotでも同じかと考えていますが、設定次第で例外もあると思うので、認識違いがあれば識者の方の意見いただけると有り難いです🙇‍♂️
いっちー|ゲームプログラマー・プロデューサー出身のSS事業責任者&EM @辰巳電子工業@itchie_tatsumi

半透明表現は便利ですが、見た目以上にGPUへの負荷が大きいので、気をつけたいところです。以前、煙のエフェクトを気持ちよく盛っていたら、実機で急に重くなったことがあります。ポリゴン数が少ないのに不思議でしたが、だいたい原因はオーバードローでした。 煙、魔法エフェクト、光、半透明UIなどは、画面の同じ場所を何度も塗ることになります。半透明の板が何枚も重なると、GPUには思った以上に負担がかかります。特に大きな煙や暗幕UIは、数が少なくても画面を広く覆うので要注意ですね。 半透明は便利ですが、無尽蔵に使えるものではありません。数だけではなく、面積と重なり方も確認しないと、後できつくなります。 #エンジニア #ゲームプログラマー

日本語
1
4
27
10K
Clay John retweetet
XBOX Game Dev
XBOX Game Dev@XBOXGameDev·
🌟 XBOX Godot Sample - now available as a public, source-only reference on @github We’re making it easier to build for XBOX on PC with @godotengine. Check out our new sample that helps you integrate Microsoft GDK, XBOX Services, and PlayFab directly into Godot, with reusable code and modular samples that help make your development path shorter, smoother, and more open. Learn more: developer.microsoft.com/en-us/games/ar…
XBOX Game Dev tweet media
English
34
294
2.5K
115.6K
Clay John
Clay John@john_clayjohn·
@WaterMuseum_ Ultimately, we try to be pragmatic though, so if a bunch of people absolutely need a setting to toggle back to the old glow behaviour to ship their games, then we would consider it
English
1
0
1
35
Clay John
Clay John@john_clayjohn·
@WaterMuseum_ We really try to avoid settings that create divergent code paths in such low level code because it leads to a huge maintenance burden in the long run. Also, in the case of glow it would come with a lot of gotchas (like not being able to support HDR screens)
English
1
0
1
36
The Water Museum
The Water Museum@WaterMuseum_·
Attempting to migrate to Godot 4.6 and its removed all my sauce
The Water Museum tweet mediaThe Water Museum tweet mediaThe Water Museum tweet media
English
52
18
1.7K
154.4K
Clay John
Clay John@john_clayjohn·
@rfleury @bkaradzic It's fine for switching things like render targets, but not fine for per-draw call state. I've seen issues on webgl and on lower end mobile devices where any API calls are stupidly expensive. On desktop it's slightly wasteful, but could be fine with aggressive batching
English
0
0
3
138
Ryan Fleury
Ryan Fleury@rfleury·
@bkaradzic This still causes significant performance penalties on WebGL? I mean, it should probably not be an issue if you are not switching pipelines all the time? Which is ideally what you have, if you batch things appropriately.
English
4
0
12
4.5K
Ryan Fleury
Ryan Fleury@rfleury·
Stop writing OpenGL state machine management bugs with this one weird trick
Ryan Fleury tweet media
English
20
4
404
56.9K
Dan Greenheck
Dan Greenheck@dangreenheck·
These clouds have given me a few grey hairs, but I'm finally getting close to the quality/performance sweet spot I'm shooting for. This is running at 60FPS @ 2K (M1 Pro). I'd like to hit >90FPS since that doesn't leave much headroom. Time to go read some read some more papers.
English
7
10
251
10.4K
Clay John
Clay John@john_clayjohn·
@SebAaltonen How are you finding Vogel Disk on mobile? For Godot we are planning on defaulting to 5 tap PCF (fixed kernel) on mobile since it seems to perform way better than Vogel Disk, even at low sample counts (github.com/godotengine/go…)
English
0
0
1
189
Sebastian Aaltonen
Sebastian Aaltonen@SebAaltonen·
5-tap PCF (vogel disk) vs 1-tap PCF (compare sampler).
Sebastian Aaltonen tweet mediaSebastian Aaltonen tweet media
Français
4
3
99
9.2K
passivestar
passivestar@passivestar_·
area lights in godot
English
31
126
2K
121.5K
Clay John retweetet
Kenney
Kenney@KenneyNL·
Great news as both @KayLousberg and me (the asset bois) will attend Godotcon in Amsterdam on April 23rd! Who's also joining? 👋
Kenney tweet media
English
2
7
176
7.8K
Clay John retweetet
Godot Engine
Godot Engine@godotengine·
GodotCon 2026 is happening soon and it is time to submit your proposals! 🇳🇱 Amsterdam 📅 23-24 of April 📍Pathé Amsterdam Noord The ticket shop up yet, but you can start submitting your proposals for talks or workshops using this link: 🔗 talks.godotengine.org/godotcon-ams-2…
English
4
11
155
12.3K
Clay John
Clay John@john_clayjohn·
@MV_Raffa @LudensLudonauta I'm assuming this is about `get_first_node_in_group()` which was first added for internal use inside the engine. So I guess us engine developers misuse the group system. 🙃
English
1
0
2
52
Clay John
Clay John@john_clayjohn·
@MV_Raffa @LudensLudonauta To add further data points to this. Godot has always used groups both to call a function on a bunch of nodes and to have a quick way to access nodes with a certain property (even just 1). One of the common uses of groups internally is to grab a single node at a time
English
1
0
1
54
Raffaele Picca aka. Picster
Raffaele Picca aka. Picster@MV_Raffa·
I really don't like it when people that teach others decide what "misusing" a system means - when there even is a method to do so. It's a great and fast way to get stuff done, I would ship games with it without a second thought (it's damn fast btw)
Ludonauta@LudensLudonauta

I just saw that Godot now has a method to access the first element of a Node group. This is likely because people misuse Godot's group system, using it as shortcut to access dependencies. But the Node Groups system is more like an ECS, that's why we have call_group()

English
3
0
10
1.3K
Clay John retweetet
Godot Engine
Godot Engine@godotengine·
We would love to welcome @mikeklubnika, developer of Buckshot Roulette and s.p.l.i.t, as a new development fund member, joining as a Corporate Platinum sponsor 💙 This is a major contribution and it helps us to continue developing the Godot Engine for everyone. Thank you!
Godot Engine tweet media
English
32
259
3.7K
120.9K