Thankz! As for the rendering algorithm, you might want to check out my Rasterization scenario, it has nicely commented code and could be really helpful. There are also great websites out there, just do a search on rasterization and I'm sure you'll get a lot of good sites. The code here really all boils down to a 3D to 2D point projection method, which takes a point in 3D, and is able to 'project' it onto the 2D medium of your screen. After that its just a whole bunch of code to connect the right points and fill polygons ect...
A new version of this scenario was uploaded on Thu Feb 18 21:57:36 UTC 2010
A new version of this scenario was uploaded on Thu Feb 18 22:17:08 UTC 2010
A new version of this scenario was uploaded on Thu Feb 18 22:35:32 UTC 2010
A new version of this scenario was uploaded on Thu Feb 18 22:39:12 UTC 2010
A new version of this scenario was uploaded on Thu Feb 18 23:32:16 UTC 2010
A new version of this scenario was uploaded on Thu Feb 18 23:35:32 UTC 2010
A new version of this scenario was uploaded on Thu Feb 18 23:41:54 UTC 2010
A new version of this scenario was uploaded on Fri Feb 19 01:19:45 UTC 2010
hmmm. You can't get back from the lazer section and if you use z to watch the renderring cycle, you can see that there is a big section behind the point where the walls come up to leave a small opening. How do you get there?
Yes I did ^^ What I did is modeled the objects in Blender, and the exported them in an OBJ file, and wrote a script that converted the OBJ file into data that my program could use. The specifics are a bit complicated, but it's all in the source :)
Like the code. Takes me back to some of my 3d assembly coding days on the amiga. Although assembly was far more proficient, it's so much easier and cleaner to write in Java and not worry as much about computational speed. Although I'd read a lot about Ray tracing, I'd not put two-and-two together in terms of how it works. Bl**dy pretty obvious now I've looked through your code!!!
2010/1/18
2010/1/19
2010/1/19
2010/1/22
2010/1/22
2010/1/23
2010/1/23
2010/3/8
2010/3/9
2010/3/9
2010/3/10
2010/3/26
2010/4/7
2010/4/20
2010/6/4
2010/6/18
2010/11/6
2011/1/15
2011/1/15
2011/1/15
2011/5/1
2011/5/30
2011/5/31
2012/4/9
2012/4/9
2012/7/2
2012/7/28
2012/7/30
2012/9/20
2013/9/26
2013/11/28
2017/9/25