Port a code from python to C++.
I’m looking for someone with experience in C++, SDL, OpenGL, GLSL and Python.
I’ve written a python script that will allow me to look-dev GLSL shaders and interact with 3D objects in real time.
The script is very simple (python) and well documented so it should be very easy to port to C++. Its about 600 lines of code.
The python script uses pygame which should get converted to SDL. pyOpenGL and pyGlew(GLSL) is hardly any different in python. The script also uses ODE - open source API for rigid bodies dynamic. Again, the C++ implementation is quite the same.
The C++ program should have an install and uninstall functionality.
Program description (all these features are in the python script):
1. Load an ASCII file that describes 3d objects.
2. Parse the ASCII file and build ODE rigid bodies.
3. load a wavefront .obj ascii file or .geo , parse into an OpenGL display list
4. Compile, set parameters and link GLSL shaders into the corresponding objects/display list.
5. enter the Render loop
6. Read mouse/keyboard inputs and interactively select objects(glRenderMode(GL_SELECT)).
7. Set ODE parameters
Added features that are not in the python script:
1. UI that control shader parameters
2. First Person Shooter camera control.
This program will turn into a casual game in the next stage and I’m hoping to hire the same programmer to write the game. In the first stage I need this program as a starting point for shader development and art assets creation.
## Deliverables
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.
2) Deliverables must be in ready-to-run condition, as follows (depending on the nature of the deliverables):
a) For web sites or other server-side deliverables intended to only ever exist in one place in the Buyer's environment--Deliverables must be installed by the Seller in ready-to-run condition in the Buyer's environment.
b) For all others including desktop software or software the buyer intends to distribute: A software installation package that will install the software in ready-to-run condition on the platform(s) specified in this bid request.
3) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement).
4) Program should be clean, documented and with no errors or warnings.
5) Program preferably compile under MS VC++ 6. If you prefer other compiler we can discuss this option. I have no objections to other compilers as long as I can compile it on my pc too.
6) Any modifications from the python script are welcome as long as we both agree on them. Since I’m not a C++ programmer, I’m sure you will find ways of writing the program more efficiently and I would gladly encourage these changes.
## Platform
Platform should run on Windows XP. However, should support multi-platform functionality for future use (game). For this reason SDL should be used.