Panda manual - hidden useful pages and a lot of spam

I am trying to compile panda now and during my search for list of dependencies I found this page - https://www.panda3d.org/manual/index.php/Dependencies.

At the top there is a notice - “This page is not in the table of contents.”. And google search for this phrase (“This page is not in the table of contents.” site:panda3d.org) returns more than 500 results and most of them are spam.

For example: https://www.panda3d.org/manual/index.php/Make_The_Most_of_Your_On-Page_SEO and https://www.panda3d.org/manual/index.php/Buying_The_Home_Of_Your_Dreams_In_Any_Real_Estate_Market.

Also there are some (I think) useful resources not included into table of contents - like mentioned above dependencies page or this one - https://www.panda3d.org/manual/index.php/Getting_Started_with_your_Development_Environment.

So it seems that manual pages require for some review and clean up.

For some reason, a large majority of the spammers we get on the manual create only new pages that aren’t really accessible. This makes it pretty easy to track down spammers and delete them; I fear that if I change something about the system, they’ll get more intrusive and start modifying existing pages.

Most pages that aren’t in the table of contents have been deprecated in favour of more useful pages, contain information that is no longer relevant, are experiments by users from the community, or are not of good enough quality to be included in the manual. I wouldn’t worry about it.

OK, I just wanted to make sure you are aware of the issue and bring your attention to it.
And I think that mentioned “Dependencies” page is useful and could be included into the “Building Panda3D from Source” section.

That sounds like a good idea. Feel free to do the work for it. It could perhaps be merged with the “License Info” page.

I updated the dependencies page (https://www.panda3d.org/manual/index.php/Dependencies) with license info. The idea is to do this:

  1. merge information from current “License Info” (https://www.panda3d.org/manual/index.php/License_Info) into dependencies page
  2. Rename dependencies page into “Third-party dependencies and license info”
  3. Put this updated page into the table of contents instead of current “License info” page

Please check the current page state - there are several libraries (starting from “6 Bullet Physics”) which were mentioned in license info, but not in dependencies. For these I am not sure whether to put them into “Recommended” or into “Very Optional”.

Also check the last section - “Other” - there is a list of libraries mentioned in the makepanda.py, but not mentioned in current “License info” nor in “Dependencies”. Maybe it is worth to include some (or all) of them into the list.

Good work!

Those six other libraries should probably mostly go under “Recommended”, or perhaps a third category, “Optional”, except for perhaps DirectX and MFC, which can go under “Recommended”.

Panda incorporates netpbm so you needn’t mention it.

OSMESA is for offscreen mesa support. It’s rarely used nowadays, it’s only used in conjunction with the mesaGL software renderer (we mostly use tinydisplay now when we use software rendering).
X11 is the display system on Linux and most other Unices (except Mac OS X). Xrandr is an extension that gives support for changing resolution, Xxf86dga is an extension that provides relative mouse mode, and Xcursor provides custom cursor image support.
NPAPI (netscape plugin API) is only used when compiling the runtime. libswscale is part of ffmpeg. Bison and flex are only used for generating the parser code during compiling. Eigen is used for optimised linear algebra.

PhysX is a proprietary physics system.

GL is OpenGL of course, and should be under “Recommended”. GLES, GLES2 and EGL all relate to OpenGL ES and are rarely used except on embedded devices.

wx isn’t really a Panda dependency. We used to use it for the certificate dialog that shows up in the plugin, but we use fltk now. This is not something that people will need to be compiling with.

SpeedTree is a very expensive library for rendering trees.

Max and Maya are for creating exporters for Autodesk 3ds max and Maya. TOUCHINPUT is really just a compilation flag, not a library.

So we will have Bullet Physics, libRocket, libtiff and VRPN in “Optional” section, correct?

For others - if we remove netpbm, osmesa (as rarly used), libswscale, wx, fltk and touchinput - we still have these:

Are my guessed of where to put each library (recommended / optional / very optional) correct?

I updated the dependencies page (panda3d.org/manual/index.php/Dependencies) one more time, please check if something need to be moved between sections and also if descriptions for libraries are correct.
And I am not sure regarding the NPAPI library - is it part of Gecko SDK (developer.mozilla.org/en-US/docs/Gecko_SDK) or can be installed separately?

Great work, thanks!

tinydisplay is Panda’s own code, it does not need to be mentioned.
Awesomium is for rendering HTML pages in Panda3D, I believe. Probably goes under “very optional” since we don’t usually compile with it.

Bison and flex aren’t strictly necessary; we pack pre-built versions along with the source code. It’s mostly useful if you want to start modifying some of the parsers and lexers of Panda, so, mainly useful for developers.

NPAPI is in a lot of things, since it’s a universal cross-browser API. Xulrunner and Firefox both include it. I have no reason to think Gecko SDK wouldn’t.
It’s just a bunch of header files, no libraries. You can also just get them from here:

code.google.com/p/npapi-sdk/

I updated the page and renamed it (panda3d.org/manual/index.ph … cense_info) and also put it into the main table of contents instead of “License Info”.
For bison and flex - I moved them into separate section “Build Tools”.

By the way I do not see them in the sources package (as well as other third-party libraries).
I downloaded sources here - panda3d.org/download.php?pl … =1.8.1&sdk (
Panda3D Complete Source Code - panda3d-1.8.1.tar.gz) and from the doc/INSTALL-MK it seems that there should be main sources, “thirdparty” and “samples”. And “samples” are present in the archive, but “thridpary” are not present.
Also I do not see a separate download for “thirdpaty”. So I am not sure how I can get these libraries.

You should visit the download page for the appropriate platform in order to see the thirdparty archive for that platform.

My platform is Ubuntu and there are no third-party libraries archive for it - it is present only for Windows and Mac OS. Also I found this PPA - launchpad.net/~panda3d/+archive/ppa. Is this alternative source of third-party libraries for Ubuntu? And if it is then maybe it is worth to include a link to it into the Ubuntu downloads page?

Most of the packages are in the regular Ubuntu repositories. The ones that aren’t are hosted on there.