Raytrace+Radiosity+large number of lights to support high quality render

Current OpenGL is a low quality visualization in order to acheive real dynamic 3D render.

I hope high quality render options will add to the next release. In many case, I expect
high quality render other than real dynamic 3D render.

LightScape/3DS MAX/Accurender are high quality render applications. Can OpenGL give such visualization support directly?

I expect:

glEnable(GL_SHADOW)
glRaytrace(…)
glRadiosity(…)

Max Light number should be 64K.

for example, a large building contains many light. We should be able to render serval such buildings.

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.

It’s useless and counterproductive to add high level functions like shadows, radiosity or raytracing…

What will you do if a type of radiosity doesn’t fit your needs ?

Better to mantain the API at the lowest level, this means it will be more flexible.

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.

Please add these features, God will bless them.

Do it yourself.

OpenGL is a lowlevel rasterization API.

Rasterization!=Raytracing.

No one prevents you from layering something on top of OpenGL, but OpenGL itself doesn’t need that kind of luggage.

push crap button

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.

See www.povray.org for a free, non-crappy raytracer.

j

Thanks a lot for provide such important resource.

OpenGL is suitable for real-time render( procedural for assign material and lighting).

RayTrace is suitable for high-quality render(final-end render).

So it is very good solution for some application if they can share a same model (geometry, material, lighting, etc.)

1.4 has added depth shadow support, see 1.4 spec.

>>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

>> God will bless them.<<

halleluja