unusual project, will Panda3D work?

I’ve been using Panda3D for few years now but I have this unusual project to which I want to add realtime features and which requires few things and I need help now.

  1. I need a Panda3D app to start automatically after the OS boots. it can be any flavor of Linux. Not a Panda3D question I guess.
  2. I need to send red, green and blue channels of each rendered frame to 3 separate video projectors. How can I do that?
  3. I need a custom FPS value such as 1600 fps. Can I set a custom fps? I know I can let as much fps to be rendered as the hardware can handle or turn on vsync, but that’s all I know.
  4. I need to have the frames to be floyd-steinberg ditherred 3 bit RGB (8 colors). I’m guessing this must either be done with a post process shader or perhaps can be set in the OS?

Hi, welcome to the forums!

  1. Yeah, this is not really a Panda3D question. The same instructions would apply to making any graphical program run at start-up.
  2. Just some ideas: You could open a window that stretches across the three projectors, and create three display regions covering each screen, but set a color mask on each region. Or, you could render into an off-screen buffer, and then open three windows on which you display the rendered texture, with a particular color scale applied to each.
    Or, you could configure your operating system to mirror the display across the three projectors, and then configure the projectors to turn down the red, green and blue brightness, if they have a feature for this.
  3. What do you mean by “custom FPS”? You can set Panda’s clock to limit the FPS to 1600 (which you may not actually attain; unlikely for anything but very simple scenes), or you can set it to simulate rendering at 1600 fps, slowing down the clock in order to achieve this, but (of course) Panda can’t poof processing power out of thin air to make your card render faster.
  4. The best way to do this would probably be with a post process shader, yes.

Regarding 2. I have also been using multiple monitors, and your answer got me wondering. In general, is there any advantage to stretching a window over two monitors and setting up 2 display regions vs. opening up two windows? Are there times where one is better than the other?


It’s probably easier to set up as one big window so that you have to deal with only one graphics context. But you’d have to experiment and see what works best.