[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).
-Phil
--
Philippe C.D. Robert
http://www.nice.ch/~phip