Panda3D Manual: Main Page

Editing Guidelines

  • The purpose of the manual is to explain concepts, not list classes and functions: that's what the reference is for. It is okay to name classes and functions, as long as the concepts are explained first.
  • Please write in normal English and use correct spelling and grammar.
  • Please do not add any additional tutorials to the manual unless given explicit permission by the Panda3D developers.
  • Make sure you add every page to the table of contents. You don't need to worry about the next/previous links at the top of every page - those will take care of themselves, as long as the table of contents is good.
  • To put C++ specific information in the manual, use [cxx][/cxx] tags. For Python-specific information, use [python][/python] tags. Depending on the toggle setting (at the top of the page) only the chosen language will be displayed.

Your current setting is Python.

  • Some people will want to read the manual front to back. Think about the information you are adding and where it belongs in the sequence.
  • I don't want casual users browsing the manual to be aware that this is a wiki that is why I hid the login button. Try to avoid major giveaways.
  • avoid the use of really wide preformatted text. If you must, insert this:
<span class="suppress-screenshots"></span>

This is a hack that will suppress the screenshots on the right hand side of the screen, giving you more space. If that's not enough, you need to reformat your text.

  • To do a block of code, write it like this:
information line 1
information line 2
information line 3

You can use <code cxx> for C++ code. To get a list of available languages, put <code list></code> in a page, which will list all of the available programming languages, among which "python", "cxx", "egg", "prc", "cg" and "glsl". Some of them might not be implemented yet, but it is still recommended to use them, as they may be added later.

If you see old pages that still use the old <pre class="codeblock"> notation, please modify it to use the new syntax highlighting notation.

  • To write a function, variable, or class name, use <code>xyz</code>

If it is different in Python<>C++ notation, wrap it around [func][/func] tags, the website will try to convert it into the right language (e.g. reparentTo to reparent_to if C++ is selected, and the other way around when Python is selected.)

  • Special items that can make the code neater: [::] maps to a dot in Python or :: in C++. [;] maps to a semicolon in C++ and nothing in Python. [->] maps to a dot in Python or -> in C++.

Example:

item[->][func]attachNewNode[/func]NodePath[::]fail())[;]

That will map to item.attachNewNode(NodePath.fail()) in Python, or item->attach_new_node(NodePath::fail()); in C++.

  • Code comments should be like this:
# This is a comment
# This is another very very long comment line that has
# to be wordwrapped just like this.
#this.is.a.commented(out, code_line)
""" Docstrings are written like this. If they are longer than one line
break line this and end it on a new line.
"""
// Comment Blah
/* Comment
block */

The first letter of a comment line has to be uppercase (unless its multiple comment lines wordwrapped), and there should be a space between the comment itself and the comment indicators.

Back to the Manual