Initializing the Scenegraph in 2020

In this video exercise, I describe in detail every line of my own Panda3D starting program before running the program with an animated perspective lens spotlight and high polygon cuboid.
https://youtu.be/mvbXKc_1IZ8

The goal of the exercise is to explore a minimal and modern instantiation of the engine in 2020, for use as a prototyping framework. This involves the use of some newer methods such as simplepbr.init() and a patch loader for directly loading in Blender .gltf model files.

Update: ‘framebuffer-srgb’ should be ‘framebuffer-srgb #t’. Additionally, it is more efficient to have a power of 2 shadow buffer, such as 1024x1024. (Thanks rdb!)

Update 2: To enable shadowing between objects, it’s necessary to do the following:
pipeline = simplepbr.init()
pipeline.enable_shadows = True

2 Likes

Cool, thanks for making this!

Just one note: it should be framebuffer-srgb true (or #t); just framebuffer-srgb alone won’t be enough. However, I think simplepbr will automatically take care of this already, which is why it worked fine without it set properly.

I also recommend setting the shadow buffer size to a power of two (eg. 1024x1024), to use video memory more efficiently.

To enable shadowing between objects, it’s necessary to do the following:
pipeline = simplepbr.init()
pipeline.enable_shadows = True

“enable_shadows” defaults to false as of the current date. https://pypi.org/project/panda3d-simplepbr/