Deferred Pipeline w/ Physically Based Shading

Well, Global Illumination is still very experimental, which sample did you try? You have to wait a few seconds until the photons were spawned (Its also very slow yet, depending on your gpu)

Have you tried updating your panda build?

It’s already the latest master.


Just to let you know and I’m not that familiar with git, it worked for me with Revision 20334 if this helps. I’m not sure why you’re getting these errors even with the latest.

Not sure why you were getting the error but I just checked in a fix to Panda3D that should prevent this error from occurring. buildbot builds

Tobias, is there a way to set the alpha in a fragment shader. Best I can see is translucency in the material struct and useTransparency in the config but I am having no luck so far.

You have to set the transparency shader on it, you can fetch it by calling renderPipeline.getDefaultTransparencyShader(). Its located in Shader/DefaultShaders/Transparent/fragment.glsl, you might want to copy it and modify it to your needs (Currently it outputs a fixed color and alpha value).

After some development pause, heres the next update on the pipeline!


  • Full lighting model for transparent models, including shadow casting lights
  • Experimental Photon Based GI
  • Improved Screen Space Local Reflections
  • Support for animated objects while using SMAA (produced artifacts before)
  • Minor performance tweaks

Heres an example of the reflections:

Showing off Tobias super awesome work using out of this world things:

This is all very nice. As I understood the plan is to include this renderer with future releases of Panda? Too many times I’ve seen abandoned projects like this not working with newer version of Panda and not updated by othetrs as they are not part of the engine code.


  • Water is now in the pipeline
  • Improved PBS using Scattering for reflections and smaller changes to the lighting

Its not planned to include this with panda (yet), but its not really a renderer, it uses the builtin OpenGL renderer. However, I think it will be compatible with future Panda3D versions, most programs written for older panda versions still run (or can be made to run with just a few changes).

Well, it is a new renderer in the sense of “deferred renderer”, not in the OpenGL/DirectX sense.
Most commercial engines include a deferred rendering system with them, I don’t see why it should be different for Panda.

I’d disagree here. I’ve been using Panda since 2008 and similar projects are really broken now and not easily made to work again by less experienced users, most can’t even be found anymore since they weren’t hosted on sf/github etc, but that’s not an issue here.

for some reason i keep getting this error:
(ERROR: Your Panda3D Build is out of date. Update to the latest
git build in order to use the pipeline: )

i was using it off their site then updated to the latest github update (1 day ago) and it still gives me the same error. any advice?

Maybe you didn’t remove the old build, so you are still using the outdated build instead of the git build?


  • I’ve switched back to a different GI solution, which is more performant than photon tracing
  • Support for bloom
  • Fixed several bugs and performance issues
  • GI now supports all types of lights and uses forward shading (before only 1 DirectionalLight was supported)



GI works for PointLights now, too:

New roaming ralph:

Can I try this out as well ? People seem to have issues with the panda3d-versions.

Do you want people to try it out, or just watch you as you progress?
I’d love to know which version of panda3d you are using and how to install your renderpipeline in the first place.

All it ever does is tell me that my build is outdated.
Then it points me at github. Am I expected to build it?

I tried that. I forgot why it didn’t work.

Can’t you just push it all, panda3d+relevant files, into an archive for us to download via dropbox?

If you’re on Windows you can just download a development build of Panda here: … =devel&sdk

Hi, of course I want people to try it out and use it ! :slight_smile: You don’t need to install anything besides the correct Panda3D version, if you don’t want to compile it you can use the development build as pointed out by rdb.

I will check the version he linked above.


  • Lot of performance improvements
  • Feature to render at lower or higher resolution than the window size (Can help with performance)
  • Improve GI and add Skylight
  • A lot of smaller fixes & improvements
  • Diffuse Antialiasing (as described in … hading.pdf)