vittorioromeo.bsky.social
@vittorioromeo.bsky.social
Ever need a profiler but don't want the hassle of a heavy framework?

I wrote about a simple, hierarchical #ImGui profiler I created for my projects. It's thread-local, has minimal overhead, and only ~500 lines of C++.

Check it out! 👇
vittorioromeo.com/index/blog/s...

#cpp #gamedev
October 17, 2025 at 11:42 PM
I was incredibly fed-up with #powerpoint not supporting proportional text drag-resizing. So after searching hours for workarounds and solutions... I just implemented it myself 😎

#presentation #addin #office #microsoft #slides
September 21, 2025 at 8:09 PM
Reposted
If you're curious about how Boost.PFR works, this blog article explains the basics:

akrzemi1.wordpress.com/2020/10/01/r...

It's clever but not too crazy! I definitely see potential uses for it
September 21, 2025 at 7:56 AM
I have created a self-contained version of my #cppcon 2025 keynote demo using @raysan5.bsky.social's excellent #raylib.

The only requirement is CMake, all dependencies are automatically fetched.

➡️ github.com/vittoriorome...

Enjoy! 🚀

#cpp #indiedev #performance #cplusplus #performance
September 21, 2025 at 6:36 AM
My CppCon 2025 keynote is now available on YouTube -- eager to hear what you think! 🚀

www.youtube.com/watch?v=SzjJ...

#cpp #cplusplus #gamedev #performance #sfml
More Speed & Simplicity: Practical Data-Oriented Design in C++ - Vittorio Romeo - CppCon 2025
YouTube video by CppCon
www.youtube.com
September 19, 2025 at 10:43 PM
I'm very excited about C++26 reflection. However, people underestimate what you can achieve *today*!

Inspired by Barry Revzin's awesome "Practical Reflection" talk at @cppcon.bsky.social I wrote automatic Dear #imgui generation for structs, including labels! (via Boost.PFR)

#cpp #gamedev
September 17, 2025 at 5:19 PM
Reflection in C++26...? Who needs that!

With some good old C++17 metaprogramming, you can get type-safe, refactor-proof Struct-of-Arrays transformations today😎

gcc.godbolt.org/z/sd7f4Mjx8

#cpp #gamedev #performance #HPC
September 6, 2025 at 12:18 AM
🤔 What if writing faster C++ code actually meant writing *simpler* code?

I'm incredibly excited to share that I will be giving my first-ever keynote at @cppcon.bsky.social 2025:

➡️ “More Speed & Simplicity: Practical Data-Oriented Design in C++”
cppcon.org/2025-keynote...

#cpp #gamedev #cplusplus
2025 Keynote, Vittorio Romeo: “More Speed & Simplicity: Practical Data-Oriented Design in C++” | CppCon
cppcon.org
August 17, 2025 at 1:57 PM
POV: You combine C++23's "deducing this" and C++17's CTAD to implement a vector iterator that propagates constness with no repetition (DRY).

Can you spot the mistake? Every LLM seems to be fine with the code!

#cpp #cplusplus #gamedev #coding
June 20, 2025 at 1:38 PM
Is it possible to write a simple iteration API that hides implementation details *and* lets users `break` and `continue`? 🤔

Here's a new article about a lightweight solution using a `ControlFlow` enumeration!

➡️ vittorioromeo.com/index/blog/c... ⬅️

#cpp #gamedev #cplusplus
how to break or continue from a lambda loop?
Article/tutorial on http://vittorioromeo.com
vittorioromeo.com
May 22, 2025 at 12:03 AM
What is the proper way of ensuring non-exclusive borderless fullscreen on Windows + OpenGL?

Using windowed + borderless flags in SDL still results in exclusive fullscreen:
github.com/libsdl-org/S...

How do most games implement this sanely?

#cpp #gamedev #sdl #sdl3
SDL3: OpenGL Borderless Window Becomes Exclusive Fullscreen on `SDL_GL_SwapWindow` (Windows 11) · Issue #12791 · libsdl-org/SDL
Creating a borderless OpenGL window (SDL_WINDOW_OPENGL | SDL_WINDOW_BORDERLESS) at the native display resolution on Windows 11 results in the window unexpectedly switching to an exclusive fullscree...
github.com
May 9, 2025 at 4:13 PM
Reposted
globalgamejam.org/news/global-...

So happy for my friend @vittorioromeo.bsky.social representing our hometown in the global game jam with his cute, little game store.steampowered.com/app/3499760/...

#gamedev #gamejam #globalgamejam
Global Game Jam Jammer Spotlight: Vittorio Romeo | Global Game Jam
Turning cats and bubbles into a Steam game!
globalgamejam.org
May 9, 2025 at 12:28 PM
Any #opengl wizard interested in helping me demystifying an incredibly weird bug where an innocuous `glGetIntegerv` call causes an unrelated assertion failure? 🤨

forums.developer.nvidia.com/t/weird-beha...

#gamedev #cpp
Weird behavior involving context switching, FBOs, and `glGetIntegerv` - driver bug?
I’ve managed to minimize a incredibly weird bug in one of my programs. Basically: Create OpenGL contexts A and B Activate context B and bind GL_FRAMEBUFFER 0 Activate context A and create a texture...
forums.developer.nvidia.com
May 2, 2025 at 5:35 PM
Exciting news! 📢

I'm now offering bespoke C++ training, mentoring & consulting: romeo.training

While current availability is limited (weekends/off-hours), I'm keen to connect with potential clients for future projects as my schedule evolves.

RTs appreciated! #cpp
Vittorio Romeo - C++ Training, Mentoring, and Consulting
Elevate your C++ skills with expert guidance from Vittorio Romeo, offering tailored training and mentoring solutions.
romeo.training
April 30, 2025 at 11:27 AM
As part of my battle against long #cpp compilation times, I've opened a (work-in-progress) PR for Aras Pranckevičius's excellent ClangBuildAnalyzer to add an approximate origin of expensive template instantiations:

github.com/aras-p/Clang...
Display origin of template instantiations by vittorioromeo · Pull Request #105 · aras-p/ClangBuildAnalyzer
Addresses #93. Could be improved in the future, but it's already quite useful. Example output: **** Templates that took longest to instantiate: 602 ms: std::vformat_to<std::__format::_Sin...
github.com
April 18, 2025 at 5:42 PM
Released a major update today, adding #speedrun mode to my #indie game BubbleByte! 🫧🐱

store.steampowered.com/news/app/349...

Powered by Modern #cpp, #sfml, #sdl, and #imgui. Fully #OpenSource!

#clicker #gameart #gamedev #idle #incremental #indiedev #indiegame #screenshotsaturday #towerdefense
April 10, 2025 at 11:06 PM
Here's short #cpp article on a simple yet suprisingly effective implementation of automatic draw batching in my fork of SFML 🚀

vittorioromeo.com/index/blog/v...

#sfml #gamedev #opengl #performance #indiegame #indiedev
free performance: autobatching in my SFML fork
Article/tutorial on http://vittorioromeo.com
vittorioromeo.com
April 9, 2025 at 1:47 AM
The game my girlfriend and I made is going to be played live on stream for the first time -- hope it goes well!🤞

#screenshotsaturday #cpp #gamedev #idle #incremental #indiedev #indiegame #sfml #towerdefense #twitch
Let’s Play

Indie Sunday - Bubblebytes!
What happens when we add Cats and Bubbles into a game?

ADHD TAKES OVER!

www.twitch.tv/anrield

#twitch #vtuber #indiegame #indie
April 6, 2025 at 11:08 PM
Reviews like this remind me why I pour my heart into #gamedev. Every late night was worth it. 🌙

#screenshotsaturday #indiedev #indiegames #indie #Steam #sfml #sdl #cpp
March 28, 2025 at 11:41 PM
Today I released the first major update for BubbleByte, reworking prestige scaling and adding a new autocast option for the Wizardcat!

(Pictured: the Wizardcat stops time 🧙)

#screenshotsaturday #cpp #gamedev #idle #incremental #indiedev #indiegame #sfml #towerdefense @sfml.bsky.social
March 22, 2025 at 6:08 PM
I did a quick test changing `float` to `_Float16`, and unless I screwed up, the results are very promising!

5M particles, multithreading on, rendering off, and repopulation off:
- float: ~5.1ms (180FPS)
- _Float16: ~2.15ms (380FPS)
Just published a short #cpp article that benchmarks the AoS (Array of Structures) layout versus the SoA (Structure of Arrays) layout in a 2D particle simulation.

You can try out the benchmark right in your browser!
vittorioromeo.com/index/blog/p...

#sfml #gamedev #opengl #performance
AoS vs SoA in practice: particle simulation
Article/tutorial on http://vittorioromeo.com
vittorioromeo.com
March 17, 2025 at 5:06 PM
Fellow fast #cpp compilation time enjoyers, has anyone figured out a way of defaulting C++20's spaceship operator (`<=>`) without having to include ``?

At the very least, defaulted equality does not require the header...
March 17, 2025 at 3:17 PM
Just published a short #cpp article that benchmarks the AoS (Array of Structures) layout versus the SoA (Structure of Arrays) layout in a 2D particle simulation.

You can try out the benchmark right in your browser!
vittorioromeo.com/index/blog/p...

#sfml #gamedev #opengl #performance
AoS vs SoA in practice: particle simulation
Article/tutorial on http://vittorioromeo.com
vittorioromeo.com
March 17, 2025 at 2:59 AM