Cg shaders - current or future?

Hello everyone,

finally I made the move to register, after after playing around with Panda3D and watching the community silently for a while. And of course I have to start with a question. :slight_smile:

I loaded a Blender makeHuman model into Panda, but the edgy appearance of it was quite unpleasant for me. Of course that was due to the lack of any shading whatsoever, so now I wanted to see what I can do with Cg - just to find the following passage in the documentation:

So which shading style is the way to go now? As far as I remember from before the warning was put up, Cg was the way to do shading in Panda3d from the beginning. That seems to be subject to change, but I fail to see any description of the overhauled shading system in Panda.

Therefore, I’d be most grateful for any advice on what shading style to examine for the upcoming Panda version - I wouldn’t like to make the effort of trying out Cg without knowing whether of not it has a future in Panda.

Thanks a lot and happy coding! :slight_smile:

Panda will still be supporting Cg for the foreseeable future. The upcoming change is not in the choice of shader languages, but in the API within Panda to enable Cg shading.

The page in the manual you quoted is talking about how to use the new, upcoming interface in Panda3D 1.1, which is not yet available in the current release. There is a different, much less powerful, way to enable Cg shaders in the current release.

David

David,

thank you for the clarification! Good to see that knowledge in that area won’t be outdated too quickly, then - that’s quite helpful.

Is it at that point advisable to experiment with the CVS version of Panda3D? Or, in other words: Is there an ETA on the “new and improved” Panda3D already? :slight_smile:

It is safe to play with the CVS version of Panda. I believe the release cycle is already in the works, though, so an official release may be out “real soon now”, saving you the trouble if you’re willing to be just a bit more patient.

David

I’ll play the harassing guy…

Can you tell us if soon is :

  • a matter of days
  • a matter of weeks
  • a matter of months?

Suspense is a killer…

I can’t say that, since I’m not directly involved in the publish cycle, and the guys who are are too busy to be lurking in the forums. :slight_smile:

But I think it’s likely a matter of weeks.

David

That’s good news, thanks for clearing that up! Special thanks to Manakel for playing the curious culprit! :wink:

drwr, could you give us a hint about the upcoming features of version 1.1, besides CG shaders? Stencil shadows, maybe… :wink:

The manual seems to have been updated recently to include some newer functionality that will be in 1.1. In particular, look at the textures sections.

Here’s the biggest features for the upcoming release:

  • Much faster rendering of high-poly models.
  • Dramatically improved vertex and pixel shader support.
  • New demo programs using shaders and render-to-texture.
  • Play movies by using an AVI as a texture (windows only).
  • Python scripting uses much faster python to C++ interface.
  • Support for procedurally-created geometry (eg, fractals, etc).
  • Cleaner, simpler internal data structures.
  • Comes with Python 2.4 support built-in.
  • A lot more.

Of course, those are just the big ones. The new demo programs are:

  • Render to Texture Demo
  • Cartoon Shader Demo
  • Motion Trails Demo
  • Procedural Geometry (Fractals) Demo
  • Normal Mapping Demo

As for shadows: we’re probably never going to support shadow volumes. However, we are working on adding shadow map support. Shadow maps fit in more cleanly with Panda’s design, and they seem to be gaining popularity (for example, Half-Life 2). The next release won’t contain shadow map support yet, but it will contain the building blocks for shadow map support - ie, depth textures, render-to-texture, and the ARB_shadow extension. But it won’t actually do the shadows. Semi-automatic shadows will probably be coming sometime around Jan or Feb.

:picks up lower jaw and begins to wait patiently for Panda 1.1:

These are great news! Thanks for the quite thorough answer! :smiley:

I’ll make some nice dreams the upcoming weeks…

and later my wife will feel lonely…

Wow, I couldn’t quite imagine how revealing my simple question would turn out to be. In some other places I know this would trigger an avalanche of "w00t"s. :wink:

Seriously, though, you really got me curious now. So there might be semi-auto shadows around Jan/Feb. Extrapolating between this date and the last release (June) gets me to the middle of October for 1.1, which is already over. So I guess it is then really, really close to public release, isn’t it? I admit that I’m still hoping to avoid the hassle of working with a CVS version. :slight_smile:

Are these demos in the current CVS tree? I don’t see the shader demo when I did a grep through the head of the tree…

None of the sample programs are in the public CVS tree.

The problem is that the sample programs include egg files, and they tend to be big. The disney team is not comfortable with putting such big files into sourceforge CVS.