1.8.0 SDK release & 1.0.4 Runtime release

The long-awaited new version is finally there. Enjoy.

  • True threading support now enabled in the default build
  • Pipelined rendering: app, cull, and draw can run in parallel, each
    in their own thread
  • Web plugin is more robust, and better supports Safari and Chrome
  • Plugin runs properly when the username contains non-ASCII characters on Windows
  • Added appRunner.p3dFilename and appRunner.p3dUrl to provide p3d
  • Multifiles (and p3d files) now make a distinction between binary and
    text files
  • OccluderNode added for explicit occlusion culling
  • Ambient occlusion generation for terrain
  • Fixed bug where Windows installer wipes %PATH% when it’s too long
  • Added fog support to the shader generator
  • Added normal_gloss texture mode
  • Added a custom color option to the cartoon filter
  • Support for texture arrays in shaders
  • Better shader support in pandadx9
  • Fix some issues with cube map buffers
  • Can be compiled to use double-precision floats throughout, instead
    of the default of single-precision floats. (Graphics drivers still
    use single-precision floats, of course.)
  • Can be compiled with the optional Eigen library to provide SSE2 support
  • Can be compiled with SpeedTree support
  • Can be compiled on MSVS2010, and/or Win64. (These builds not
    provided by default.)
  • Support for the Bullet physics engine
  • Support for the libRocket GUI library
  • Support for stereo/multiview textures
  • Substantial performance improvements to movie textures
  • TGA files with alpha channel now load correctly
  • New “Ramdisk” mount type available for the VFS
  • The VFS is now writable for ramdisk files and true on-disk files
  • pdeploy -i generates a custom icon for the installed game
  • wx and tk work better on OSX
  • Panda windows can be embedded within wxPython windows on all
    platforms (including OSX) with the new WxPandaWindow class
  • Added base.pixel2d for pixel-based 2-D coordinates
  • Python-based swizzling of Panda vectors, e.g. vec2.xyxy
  • Python programmers can now optionally use the original unmangled C++
    name for methods and classes, e.g. model.set_pos(LPoint3f(1, 2, 3)).
  • Command-line filename globbing now supported on Win32, e.g. egg-texture-cards *.png
  • DirectGui works with nonstandard coordinate-system in effect
  • Egg loader handles double-sided polygons a little differently by
    default now, for better render performance but more memory usage
    (use “egg-emulate-bface 0” to restore the old behavior if needed).


Great news!
Congrats and thanks for all the hard work!

I’d like to thank not only David for his many contributions to the release, but also enn0x, who’s done an amazing job writing the Bullet integration. It’s a lot of work to write and maintain something that big, so…

Many thanks to you both, and to everyone else who contributed, for helping to make Panda3D awesome. :slight_smile:

Congratulations! Huge thanks to everyone involved. Panda is a fantastic engine with fantastic people around it, and it’s great to see it getting even better.

Wow, that’s a lot of new features. Thanks everyone who contributed to this release.
Didn’t know SpeedTree support was being added.

Anyone want to help by writing some manual pages for the libRocket GUI library?

Also, I think you missed one ShaderGenerator fix by David:
panda3d.org/forums/viewtopic … 8&start=30

Yes, I’m most curious about librocket.

Also, what is the normal_gloss texture item that’s mentioned? Is there a thread or somewhere I can read more on that?

wezu asked for it. It’s just a normal map but a gloss map in the alpha channel.

I posted a sample for libRocket on the libRocket thread:
panda3d.org/forums/viewtopi … 2&start=60

There’s really not much to it, you just have to know how to create the libRocket context from Panda. Other than that, you can follow the libRocket documentation.

@preusser: you’re right, we missed it in the release notes, like many other things probably. It’s still in there, though.

Great work all!

I am especially happy about Bullet and libRocket, these two great additions are surely going to make building great games much quicker and more fluent.

Will Panda continue to follow a consistent version numbering? Like 1.8.1, 1.9.0, 1.9.1, then Panda 2.0? Or will Panda jump numbers over the Panda 2.0 at some point? Just curious, and I know there might be no glorious ‘plan’ or anything, I was just wondering if there is :slight_smile:

Great work again,

It hasn’t been decided yet. There may be a 1.9, there may even be a 1.10 (preferably not), or we may jump right to 2.0. It depends on how development will go.

It is wonderful! There are many big features! Thank you!

It’s amazing how much a few people can actually accomplish.

Congratulations and keep up the good work.

Bravo ! Congrats !

In direct\src\extensions(_native)\NodePath-extensions.py :

This is no longer correct :

collNode = CollisionNode.CollisionNode(name)

The same goes for sphere, segment & ray.

The release notes should mention that 1.8 is built against Python 2.7 now.

I had several .pyd files compiled with python 2.6 that didn’t play nice. Not too hard to fix, though.

Great work on this, guys!

Fixed, thanks!


Thanks to everyone who contributed their time and effort to this release! Great job guys.

Does that mean that editors are now finally doable on the Mac?

Yes, I think so.

I’m trying to do a 2d game, so the new pixel2d will be really helpful