Re: spinning "E" demo questions, for ray casting & surface rendering
- Posted by DanM May 20, 2009
- 1016 views
If is difficult to imagine that you project thru the computer screen, imagine that the computer screen is the window you use to see the landscape.
The difficulty I've been having is that I'm thinking of the ray-casting as creating SHADOWS of objects onto a screen, as follows:
a virtual light source (pretending to be a virtual camera) projects beams of light PAST some virtual objects, onto a virtual screen, by projecting one beam at a time towards each individual point on the virtual screen.
VIRTUAL result of this is to create virtual shadows of virtual objects on the virtual screen.
ACTUAL result is to find out if any individual beam intersects any plane in an object, so as to know to put that point in the objects plane ONTO the screen (at the point on the screen that the light would have struck if no object were in its path), in some color appropriate to the object or that constituent plane. Of course, only the object along that line with the shortest distance from the light/camera is placed onto the screen.
When all closest objects have been placed onto the virtual screen, the result is translated to computer screen coordinates and copied to computer screen.
While I strongly suspect that your description of how to raycast is the correct & most useful one, my concept of "light casting shadows of objects onto screen" as a method of finding line/plane intersections to evaluate "foreground" objects seems to cause difficulty for me. I'll probably get over it eventually.
Of course that the camera must not be allways on the position {0,0,0} but if the camera is there you can simplify a lot of mathematic equations adding or substracting zeros.
With sophisticated programs like Povray or Blender you can decide the position of camera, where is and what direction is pointing, even with blender you can define camera movements.
For example, another aproach you can try is that "E" is fixed on a space position and the camera moves around.
You will need to clean the dust on your geometry books...
You don't know how funny (and accurate!) that is
Note that programs like povray and blender generates very realistic images but takes a long time to generate each frame. Games use spites, textures and other tricks and don't produce realistic 3d projection
So, at the very least, we have:
2-D drawing programs, which could be used to draw sprites;
3-D vector based MODELING programs, to make wire frame objects;
3-D RENDERING programs, to add realistic surfaces to wire frames;
3-D ANIMATION programs, to make movies etc.
Any corrections/additions to above?
Dan