I spent a good chunk of time today working on my new Java ray tracer. I'm thinking I might post some source code, but for now a screenshot will have to suffice; it's late and I have to get to bed.
I must say, so far this ray tracer translation process has been enlightening. I've lately been reading this book called Code Complete. One suggestion the author makes is to "program into your language" rather than "programming in your language." The distinction is a subtle one, but the way I understand it, he means to say to solve problems in your head in rather general terms, then only translate them into Java or C++ or SmallTalk or what have you when it comes time to actually do the coding.
In this process of translating my code from C++ to Java, I've found several spots where I was clearly programming in C++ rather than programming into it. Some of it really didn't translate into Java at all, so I've had to restructure it a bit.
So far it's been fun and educational. Just what I wanted!
I decided I would try my hand at porting my C++ ray tracer to Java. I have a few reasons for wanting to do this. Let me list them in no particular order: 1) You'll get to see it in action when I make a Java applet out of it, 2) I'm interested in comparing the performance between my C++ and my Java versions, and 3) Programming is pretty much always fun.
I've begun some of the groundwork and I'll keep you posted as I make significant progress.
Let me tell you all a little bit about the magnitude of this release. First of all, the program is now FREE! We decided we could increase our "fan base," if you will, by giving away something of value. Coming from one of the authors of the product, you are more than welcome to take everything I say with a grain of salt, but I do believe this free software is packed with value.
First and foremost, MySecurityVault is a password manager. Use one secure password to access all of your other accounts; simple as can be. One of the major updates we made was to add an Internet Explorer plugin to allow you to automatically fill in online forms (such as secure site logins) from data you have stored safely and securely in your vault.
MySecurityVault is a bit more than just a password manager, though. It's a fully-customizable repository for any data that you want to keep safe (encrypted). You can drag and drop documents into your vault to encrypt them, and you can also create customized data categories such as "Books I Want to Read." I personally love it as a very convenient way to keep all kinds of data (both sensitive and not-so-sensitive) in a central location.
Try it out and let me know what you think! Here's a direct download link: Free Download.