Although there are software implementations, OpenGL is intended to be a hardware accelerated API. Features are never added to the spec that cannot be accelerated. I’ve never heard of hardware that could do ray tracing. And rendering a polygon with 64000 lights enabled would require 8000 passes on most current hardware. In this case, it would be faster to use a software renderer, which is exactly what these high quality rendering applications do.
It isn’t so much that OpenGL is designed for hardware implementations as OpenGL is a low-level rendering API. It is not designed to have functionality like “glEnable(GL_SHADOWS)”. If you need shadows, you must implement them by hand.
OpenGL is, also, not designed for raytracing or radiosity. Though hardware does exist that performs raytracing, it is hardly consumer (or even high-end) grade. Most of them are experimental boards that are designed and used by graphics researchers.
There’s probably no reason to use OpenGL at all if you’re doing raytracing. In raytracing you draw things one pixel at a time. And there’s not much point in using OpenGL just to render a picture. Go find a raytracing program. There have got to be some free, albeit crappy, ones out there.
>>Who can add these features base on OpenGL model?
It is very hard work for a common programmer. But it is easy for the inventor of OpenGL.<<
what sort of shadow do u want?
so many choices all the way from projected spots to stencil shadows to radiosity,
but anyway the main reason why it wont be done (after youve choosen the method)
is say u have a simple scene eg a person standing in front of the house problem is a plane flys overhead casting a shadow onto the person, the plane is 10km and way outta shot YET it effects the scene (on screen) do u see why its impossible for opengl to do shadows, only something that knows the WHOLE scene can do it eg a scenegraph eg check out gizmo3d mr ToolTech posted recently in the advanced forums u can find a link there