Q: How, exactly, does the glAppGrapher help me in my development of a physics
engine, collision detection function, or other functionality?
A: The glAppGrapher server will let you interactively visualize a three-dimensional environment that you can create on the fly. This is helpful when just reading vertex data in a debugger watch window alone is not enough for you to visualize a scene. It is also helpful for when you do want to visualize objects, but want to do so from different perspectives with real-time camera movement; even if your client process is halted.
Q: What features does the glAppGrapher currently provide me with to be useful?
A: The ability to call any OpenGL and GLU function in the glAppGrapher server from a client. By default, the function you call will be called over and over again each time the scene is rendered. This is what allows you to see and manipulate your scene on the fly. Please see the test client for examples.
Q: How do I communicate with the glAppGrapher?
A: By connecting to the glAppGrapher server through a TCP socket and sending packets in the format specified in section 3.2.
Q: Does the glAppGrapher send me messages back?
A: No.
Q: What are the end goals of this project?
A: The goals for the glAppGrapher are the following:
Q: What about glAppGrapher clients?
A: I will not heavily maintain client-side applications. Writing client-side applications would be helpful for people who want to more quickly hook the glAppGrapher with their program. The test client has some useful functions, and would be a good starting point to evolve to a more specific client; such as one that visualizes BSP or collisions.
Q: Is there any version controlling for this project?
A: Yes. Please visit the project at http://www.sourceforge.net/projects/glappgrapher
Other various notes
This is my first multi-platform program, and also my first Linux distribution. I chose to release it in a considerably premature state so that word of this project would get out, and hopefully, interest and good design ideas would get in early in development. Once I implement it enough to suit my needs (which it almost does), I may give it a low priority since I am working on another much bigger project by myself.