Now to be honest I probably cannot make a Ray-Tracer, I am nothing special, no genius or anything but it seemed like a cool and fun learning experience so I am going to try and do it with a few constraints to keep to the bet.
I can use whatever python modules to accomplish this (things that can increase speed) however I have to write little to no C code.
Now I have been doing some research and looking at some python modules to help accomplish this. However I have no clue if these modules can work together at all and unfortunately my desktop's motherboard died 3 days ago and until I can get the money together to get it working again I cannot install and test all of these things, all I have is my tablet. So I figure it never hurts to at least ask if anyone has had any experience with these modules and it gives me something to do other then go out of my mind without a computer.
On to the modules I have found that may be useful in bolstering the performance of this project in order to succeed in the Real-Time Ray-Tracing goal here.
Stackless Python 2.6: The green tasklets here could well come in handy and if not then I can just not use them.
DirectPython 11: I need something for drawing the scene and some directx 11 features may come in handy later.
Numpy: Obviously some of the mathematical functions from numpy will be useful however it seems many of its capabilities are mirrored or enhanced in the another module.
Psyco: For obvious reasons, this is the reason i choose python 2.6 aswell, however i am not sure of its compatibility with the other modules.
Clyther: This is one of the main performance enhancing modules I am looking at, it is basicaly an OpenCL library that removes much of the need of embedding C into the python to write the GPU kernels, thus keeping with the little to no C code in the goal. This also replace some functions of Numpy with GPU accelerated ones it seems, however I am not sure if it has all of numpy.
Cython: Now I would really rather not use this at all however if it I cannot accomplish this without it then I will use it if I must.
Now my problem is that I am not sure if I can get all of these things to work together. For example, if I write some function to be called on the GPU by Clyther will it fail when I activate psyco on the project? Or if I have to use Cython to write one of the important functions in a way closer to C will I then be able to use Clyther to run that function on the GPU?
The requirements for making the code run faster will be mitigated by my computer (once it is running again) as I have a very high performance gaming computer (and fixing it may require upgrading it even further) so it should be able to do the calculations better then most computers and so long as it runs on my computer then the goal is achieved.
As you may be able to tell at the moment I am not talking about ways to optimize the Ray-Tracing algorithms or anything like that I am just looking at the environment to run the code for the project, that is all I really can research at the moment with my computer down.
Thanks guys, any experience with any of these modules, especially in using them together, would be incredibly appreciated.
This post has been edited by Nekroze: 22 January 2012 - 11:35 PM