It's a neat project, and a good Perl version would be a nice advertising tool. Why the incitement to everyone else, though, if you're so interested? If you're so eager, get started already.
If you're worried about your ability to turn out a quality representation that does Perl proud, then don't be. You already have the source in multiple other languages. Translate it to Perl the best you can, and ask for help and feedback here at PerlMonks as you need it. Keep a credits list of everyone that has helped on it, and put a special thanks in to PerlMonks.
By heading up a collaborative effort with proper credit, you might learn something you didn't know you were ready to learn. You'd still get to show off Perl. You'd also expand your portfolio. You'd get some lead developer experience, even though the program is more a curiosity than a real problem-solver. By asking for help at PerlMonks, you'd likely get the involvement of very good programmers not interested enough to do the whole thing themselves. Maybe it would help some aspiring to be good programmers see how stepwise refinement can help the progress of their code and their ability, too. Only by involving multiple contributing authors can you market one of the strongest assets we as PerlMonks and members of the larger Perl programmer community have. A community like ours is difficult to find around many other languages, and the traditional "best thing about Perl" -- CPAN -- is in many ways a product of that community rather than only an attractant for it. | [reply] |
| [reply] |
Well I'd really want to get started on this, but right now I've got way too much tedious work, that's why I mentioned it here in case someone else get intersted! However, I already downloaded various versions to read the code and evaluate the feasability... when I'll have some time to spare on this :)
| [reply] |
See also
this perl submission for icfp contest 2000. Admittedly it's not the same, it's a simplified (fast) ray tracing task which does not consider rays that are diffusely reflected more than once or that are reflected at least once before diffusely reflected.
| [reply] |
Yeah, Ray tracers are cool, but you will find that to do serious work with it, you need to run it with Aseembly language routines, and probably with a computer cluster. The problem you see, is how to position someone behind the "desk objects" and control there movement dynamically, WHILE the observer's POV moves too.
| [reply] |
Might be an interesting problem. Shame the C++ version doesn't have any tests that we could run a port against to verify correctness. | [reply] |