Extracting framebuffers from rendering passes

Hi everyone,

Looking through the code, I cannot find a good way (or any way for that matter) to extract non-composited framebuffers. Specifically, I need to extract rendered billboards, polylines and points without any of the terrain or tiles around them. Afterwards I want to “apply” the rendered pixels onto a image taken with a camera.

The scene object (https://github.com/CesiumGS/cesium/blob/main/Source/Scene/Scene.js) has pre and post rendering events that I can easily hook into. I also have no problems with solutions that patch Cesium. I’m aware I’ll need to keep maintaining this “fork” afterwards.

The only documentation I could find on the inner workings of the rendering engine is this not very detailed blog post Graphics Tech in Cesium - The Graphics Stack – Cesium. The github wiki is quite old (over 6 years) and the referenced github issue is not of much help either.

Thank you for your time,
Stanislav

TL;DR: Any docs on how the rendering stack works and how to get data from the rendering passes?

3 Likes

It looks like there may have been other (also very old) blog posts like the one you linked to – I read through most of Graphics Tech in Cesium - Renderer Architecture – Cesium at one point, but all this 3D engine internals stuff is a little over my head. It does cite a book that @patrick and @Kevin_Ring wrote at the end (now a full decade old!), so if you’re really committed to get deep into the guts perhaps that would be the place to start?