DrElliot

270 posts

DrElliot banner
DrElliot

DrElliot

@MrDrElliot

Lumina Game Engine | Game Developer.

Katılım Ekim 2024
63 Takip Edilen284 Takipçiler
Sabitlenmiş Tweet
DrElliot
DrElliot@MrDrElliot·
Lumina is a great place to pull, copy, take, or learn rendering techniques. It’s been my playground with a full bindless rendering setup and using some other handy techniques like device buffer addresses for SSBOs github.com/MrDrElliot/Lum… #gamedev #vulkan #rendering
English
5
27
247
12K
DrElliot
DrElliot@MrDrElliot·
By and large, modern compilers are better at optimization than we are. Write clear, correct code first. Only outsmart the compiler when profiling proves you need to.
English
0
0
0
111
DrElliot
DrElliot@MrDrElliot·
@AnalogDreamDev Cool! It’s really nice because it makes vertex pulling really easy and you no longer have to batch meshes with separate vertex layouts, buffers, etc. in theory your entire mesh scene could be 1 draw call.
English
0
0
2
32
Analog Dream Dev
Analog Dream Dev@AnalogDreamDev·
Performance and optimization might not be the most exciting work, but my goal is to deliver an engine that can make games that run on potatos. Found + fixed 4 issues yesterday that resulted in 150% FPS gains! Test scene went from 115 to 280 FPS 🤯 More details below 👇 Problem 1: Shadow pass issuing was ~2,200 draw calls per frame Each mesh got its own draw. While I was batching other passes, I had missed doing this for shadows. Problem 2: Heap string allocations on the hot path every frame, unconditionally, for already-loaded textures. Reordered the check to skip allocation when the texture is already loaded. Problem 3: 3ms fence stall every frame for no reason Double-buffering infrastructure existed but wasn't being used. CPU was stalling for the GPU to finish the entire previous frame before writing new shader constants. Converted all per-frame constant buffers to proper double-buffered arrays. Problem 4: Per-entity resource checks running every frame on settled scenes 762 entities were running hash lookups and GPU sync calls each frame even after all their resources were fully loaded. Added a composite flag that short-circuits the entire check once an entity is ready. Overall I learned a lot, and saw some serious gains!
Analog Dream Dev tweet media
English
4
4
53
1.6K
DrElliot
DrElliot@MrDrElliot·
The best feeling is getting paid from a game you haven’t touched in over a year. Even after it gets stolen
English
0
0
3
124
DrElliot
DrElliot@MrDrElliot·
I have nothing against Blueprints. My issue is the sheer amount of clicking required for tasks that shouldn’t be tedious in the first place. A hot-reloadable scripting language is just a better fit for that kind of work.
English
4
0
7
606
DrElliot
DrElliot@MrDrElliot·
Show me your dark fantasy work, I want to be inspired.
English
0
0
1
130
DrElliot
DrElliot@MrDrElliot·
@annartum I’m not sure that would qualify it as not being a scripting language though? The same argument could be made for other scripting languages that are statically typed, easily compliant, and easily embeddable in other environments. I’d qualify Verse as a scripting language imo
English
0
0
0
14
İsmail Keskin
İsmail Keskin@annartum·
@MrDrElliot * Statically typed * Easily compilable * Hosted inside UE today but semantically disjoint
English
1
0
0
19
DrElliot
DrElliot@MrDrElliot·
@JKoukourakis Crazy how good volumetric fog can make a scene look. Nice work
English
0
0
2
115
DrElliot
DrElliot@MrDrElliot·
@annartum Well what would Verse have that would classify it outside the scope of a scripting language like AngelScript, Lua/Luau, etc. Verse is essentially a scripting language in the same classification imo
English
1
0
0
42
İsmail Keskin
İsmail Keskin@annartum·
@MrDrElliot Verse-like full featured languages are much better instead of scripting languages. Easy hot-reloading implementation basically just requires managed memory and most languages are like that nowadays.
English
1
0
0
26
Panos Karabelas
Panos Karabelas@panoskarabelas·
Added parallax occlusion for height maps, most noticeable on the tiles. I've kept the effect pretty subtle, since it tends to break down easily and I've never been a fan of how it looks.
Panos Karabelas tweet mediaPanos Karabelas tweet mediaPanos Karabelas tweet mediaPanos Karabelas tweet media
Panos Karabelas@panoskarabelas

I fixed issues with transparent lighting for area lights. Now you can see the LEDs through the headlights, and you can better see the seats and steering wheel through the windshield. Things are more physically accurate. In-engine screenshot below since OBS cannot capture the tonemapping properly.

English
2
0
43
9.1K
DrElliot
DrElliot@MrDrElliot·
The future of graphics programming is one where these un-necessary abstractions to get data to shaders is removed, and we only care about raw data and pointer arithmetic.
English
9
5
65
6.3K
DrElliot
DrElliot@MrDrElliot·
Sorry for the spam, I'm just obsessed. I'm loving the workflow of this engine so far. This project is available in the Sandbox project that ships with the engine. github.com/MrDrElliot/Lum…
DrElliot tweet media
English
1
1
6
311
DrElliot
DrElliot@MrDrElliot·
More info about the game jam: Decided on prizes of $100, $50, and $25. Still trying to workout the logistics, If you like game-jams, and want to learn a new engine and help a community. Join! #gamejam #gamedev github.com/MrDrElliot/Lum…
English
1
4
24
1.6K