Panda3D is a game engine, a framework for 3D rendering and game development for Python and C++ programs. Panda3D is Open Source and free for any purpose, including commercial ventures, thanks to its liberal license. Go ahead and grab it here. To learn more about Panda3D's capabilities, visit the gallery and the feature list. To learn how to use Panda3D, check the documentation resources. If you get stuck, ask for help on the forums, our community is very active.

Image RSS Feed Latest Screens
A3P screenshot A3P screenshot A3P screenshot
Blog RSS Feed Report abuse Latest News: A Prelude to a Better Game

About Scratch The Surface with 4 comments by grzechotnik1984 on Mar 27th, 2014

Technomancy warning!

If you're the kind of person who has no idea what MSAA stands for, if screen space ambient occlusion looks like a magic spell to you, if have no idea why a pixel shader should be called a fragment shader or what a shader is, then just enjoy the pretty pictures and skip to the last paragraph. 

Overview of the goodies.

I'm forced to use some advanced, flashy effects in my game. I know it sounds strange, but that's how it is - a story set in a sci-fi, futuristic setting wouldn't be the same without shiny metallic panels, fluorescent lights, glowing computer displays and the overall 'flashiness'. So, let me tell you about the techniques and effects that I will use.   


Per-pixel lighting with specular reflections and normal maps. This is the basic, anyone using anything less in this day and age is most likely doing something wrong. The surprise here maybe the fact that I decided to use good old forward shading and not the more and more popular deferred shading approach.  The reason behind this is really simple - I don't need more then 3 lights, also not all of my experiments with deferred shading where successful. I'll stick to what works - as they say in my neighborhood 'better is the worst enemy of good'.

Screen Space Local Reflections.

Yep, the same technique introduced by Crytek for the 'Crisis2 Direct X 11 Ultra Update', except it runs in Panda3D, using OpenGL. I wish I could say it's my work - but it's not. Ninth at the Panda3D forum is to blame. For my own defense I'll just say that I made it look better and run faster.

Technical preview

Lens Flare.

I know it's a cheap, cliché effect, but I love it! The technique I use renders the effect for every bright spot in the scene, there's no need to manually place particle effects, billboard sprites or any other type of helpers - all the magic is in the shaders. The shader itself was described in  John Chapmans blog and Ninth  was the one to make a Panda3D port for it.

Technical preview


The downside of using the techniques mentioned above is that multi-sample anti-aliasing stops to work. But worry not, it's ok, in the past years anti-aliasing has made a big step forward, we now have tricks like FXAA and SMAA - they are post-process effect that can be used in scenarios like this, where the multisamples are lost duo to rendering to a fullscreen quad. Some people on the internet claim that performance-wise SMAA and FXAA are the same. That's not true (on my low end hardware), FXAA performs (a bit) better and it's also simpler to implement, that's why I use it.

Technical preview
(don't mind the bad hair, this is pre-pre-pre-alpha)

Soft shadows.

Good shadows are important, but making good shadows is hard. There are some really complex shadowing techniques described on the internet - stencil shadow volumes with penumbra wedges, summed-area variance shadow maps, parallel split shadow maps  just to name a few. I'd forgive them the funny names if they'd only work without problems. It could be my hardware, it could be my drivers, it could be my luck, but when I try to use these techniques something always goes wrong and all I get are artifacts and bad framerate. Fortunately there's something I like to call ICBITSS or I-Can't-Believe-It's-That-Simple-Shadows. The trick is to actually render the scene from the lights perspective but it a specific way - things that cast shadows are rendered black (pitch black) and things receiving shadows are not rendered at all. This way you get a texture that you can just project back onto the scene, and since it's just a normal texture you can add an extra step and run it through a gauss blur filter - behold soft shadows!

Soft shadow

It's all about the Game.

Now, the important stuff. Lately I felt the urge to play a good adventure game, like those titles made by LucasArt back in the '90. I found my old CD with "The Dig" but dared not install it. I have good memories with that game but I fear the graphic has aged - I don't want to ruin my memories. I wanted to try something modern, but it turns out it's not that simple. There are few adventure games in a sci-fi setting and even fewer that are not about monsters coming out of the walls. All I wanted was a game where you wakeup alone on a spaceship and the only thing I found was KotoR, but I don't feel like running around with light sabers. So I sat down and written down all my ideas. This should make a good game. Imagine you wake up alone, on a spaceship...

Media RSS Feed Latest Video
A3P - Acquire, Attack, Asplode, Pwn

A3P - Acquire, Attack, Asplode, Pwn A3P - Acquire, Attack, Asplode, Pwn Indie

Updated 4 years ago Released Jul 1, 2010 Multiplayer Tactical Shooter

A3P is an indie online shooter that combines the best aspects of the Third Person Shooter and Real-Time Strategy genres. Load out your units with weapons...


Anatridel Anatridel Indie

Updated 8 months ago Released Jan 4, 2013 Single Player First Person Shooter

A 3D space shooter game. You are pilot of spaceship. Anatridel is the last space base of your nation. It is under attack. Only you can destroy the enemy...

Angels Fall First : The Second Antarean War

Angels Fall First : The Second Antarean War Angels Fall First : The Second Antarean War Indie

Updated 1 year ago TBD Multiplayer Real Time Strategy

The Second Antarean War is a multiplayer team-based real time strategic battle simulator. It simulates battle between spaceships in fully accessible 3d...


Avolition Avolition Indie

Updated 5 months ago TBD Single Player Hack 'n' Slash

Avolition is a 3D, arcade style, H&S, dungeon-crawling game for Windows, Linux and Mac. It's designed to run not only on modern, high-end hardware...

Half Hearted (NEW)

Half Hearted (NEW) Half Hearted (NEW) Indie

Updated 1 year ago Released Aug 25, 2013 Single Player Role Playing

#Game Concept# (Alpha Version 1.2.0) Do you have what it takes to fight Half Hearted Hectum ?!? Half hearted is a game that you will not only grow a bond...

Post comment Comments
From_Moms_Basement Aug 10 2012, 8:22pm says:

I'm relatively new to programming, but I found python easy (compared to other languages) to learn and Panda seems to be it's match in that way. It comes with loads of examples and an online manual. Even if you don't want to make a game with it, it's still useful with prototyping.

+2 votes     reply to comment
M_Luminoth May 19 2012, 3:26am says:

Im looking in to making a horror first person action game and after i saw how much of a pain in the *** Unity3D would be if you didnt get the pro version (well you can write your own physics and shaders ect. for the engine but the implementation can be tricky. Doing that i thought would make it difficult to make more than HALF of the code that the games rendering and pysics system needs. So i turned to UDK and i realized, just this is 1.7 gigabytes, it is cutting edge, but i dont need cutting edge. Im looking for a moderate graphical experience. And im going for simplicity. Im making all the models and as many graphical elements alone as possible. So when this came across my eye. I thought, its simple yet effective. I Hope i will like this engine enough to develop my game on it.

+2 votes     reply to comment
Cyahnidde Jun 6 2010, 9:25pm says:

This engine is pretty good. Everything that needs fixing up you can magically fix due to the open source code and your coding abilities.

+6 votes     reply to comment
Cyahnidde May 28 2011, 1:02pm replied:

I don't remember writing this. It's the most retarded comment I ever read.

-3 votes     reply to comment
treeform Jun 18 2010, 7:36pm replied:

Its not magic. What really great is there is a great community that explain and fix tons of bugs. Two main dudes "drwr" and "rdb" are just rock stars!

+6 votes     reply to comment
roadking Jun 6 2010, 4:35am says:

what is this engine?

+2 votes     reply to comment
treeform Jun 6 2010, 1:48pm replied:

Its an open source engine.

+5 votes     reply to comment
Post a Comment
click to sign in

You are not logged in, your comment will be anonymous unless you join the community today (totally free - or sign in with your social account on the right) which we encourage all contributors to do.

2000 characters limit; HTML formatting and smileys are not supported - text only

Windows, Mac, Linux
Send Message
Official Page
Release Date
Released Oct 2, 2002
Engine Watch
Track this engine
Community Rating



15 votes submitted.

You Say


Ratings closed.

Embed Buttons

Promote Panda3d on your homepage or blog by selecting a button and using the HTML code provided (more).

Panda3d Panda3d
95 of 649
Last Update
3 months ago
46 members