[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Gnu3dkit-discuss] Advanced Rendering Interface

From: Philippe C . D . Robert
Subject: Re: [Gnu3dkit-discuss] Advanced Rendering Interface
Date: Mon, 23 Dec 2002 12:07:46 +0100

On Sunday, December 22, 2002, at 10:12  Uhr, Gerard Iglesias wrote:
Well, the feeling I have when reading 'Real-Time rendering' and the opengl 2.0 specs is that people are going to mimic more and more Renderman in real time.

Exactly, but why not then use RenderMan intead of one of the many OpenGL based (and limited) variants such as Cg, OpenGL 2.0 shaders or SGI's OpenGL Shader? I think RenderMan is still superior to these.

I see the real interest in the language as basis for our native file format or something like that.

Exactly, we should really make sure not to reinvent the wheel. By using a RenderMan like API we could use RIBs as our native file format.

But on the API side I don't see exactly what it means? Are you thinking about a new improved version of QuickRenderman ?

I am thinking of using a RenderMan like API which is used in the 3DKit's RenderKit as "common language". Developers would have to use this API when working with the 3DKit. Internally the rendering is done using so called backend renderers (see previous discussions) which provide the concrete implementation of the rendering API. This implementation can be done using whatever technology, ie. OpenGL, scanline rendering, raytracing and so on.

I remember that Steve Jobs tried to sell something like that to John Carmack at the time the new Apple was deciding for the 3D technology to use, they chosen OpenGL...

The beauty of OpenGL is that it is a cross platform standard and that you can implement hardware accelerators quite well. But it also suffers from some serious deficiencies... I do not say we should abandon the use of OpenGL in the 3DKit, we should just hide it...:-) If we directly use OpenGL then either we let developers mess with GL inside of a 3DKit app (white box approach) which makes it hard for us to provide any optimisations or we provide all functionality via 3DKit classes/functions (black box approach) which is not what people want, I guess.

What do you think?

I am taking a look back to my copy of Renderman Companion and will see what we can do with that.

On an other side I am not convinced that it is so important to be gfx engine agnostic, I know well this kind of point of view, but for me the real interest of 3DKit is to provide a powerful object API to make easily 3D interactive world to do research experiment.

In my opinion the 3DKit is not a 3D engine nor should it force the user to use one specific programming style. It should rather be a foundation for 3D graphics, flexible, open and extensible - just as the original 3DKit was. The 3DKit itself should remain simple, ie. it is not my intention to flood the user with tons of classes, but the user should have the means to write powerful, complex stuff using the 3DKit. Hence the focus lies in a clean and good design!

I am not sure that it is a good idea to try to build a formal 3D API without a concrete application in mind. My own dream is to build a Maya like application in Cocoa ;) Maya is a good example because it is a typical modular application that allows people to build very specialized modeling/design application, and the power of ObjC serve well this kind of approach.

Then we kind of share this dream...:-) My focus is currently not so much in modeling though, but more in advanced graphics research. But both is required for achieving the dream.

We need this kind of objective to build something useful, unless that we will move from one idea to an other without real focus. I know that a lot of people target game like application, but I think that game are very optimized code that will not be well made with an ObjC API. Maybe I am wrong ?

I agree. Personally I am not interested in writing games with the 3DKit.

One of my main objective is to build a simple 3D toolkit that would be very simple to use for simple things but would be able to make more complicated things if needed.

Again, I agree.

I will come back to the discussion after the reading of the Renderman Companion (again :) ) One more thing : what is the status of GeometryKit, I am in the process to build a simple example to show the use of the math elements in the GeometryKit. Is it still interesting, or your re-design make it useless?

No, it should be fine. I think the GeometryKit's design won't change much in the future (although I have some ideas in mind, but this has very low priority) unless ie. the use of RenderMan requires some functionality/syntax/naming which is currently not there (but this would only matter for the C based stuff).

Philippe C.D. Robert

reply via email to

[Prev in Thread] Current Thread [Next in Thread]