Re: 3DeLight

Philippe C.D. Robert <[email protected]> Sun, 9 Feb 2003 20:06:35 +0100
Newsgroups gmane.comp.gnu.3dkit.general
Message-ID <[email protected]>
Hi,

On Sunday, January 19, 2003, at 11:34  Uhr, Gerard Iglesias wrote:
>> I agree more or less, but do you think we should really provide a 1 
>> to 1 mapping of a subset of RenderMan?
>
> No, I think that we need really :
>
> 1/ Mathematical utilities
>
> 2/ Rib compatible file format
>
> 3/ High level 3D objects, that means :
> 	- Camera
> 	- Light
> 	- Shapes
> 	- Shaders (Renderman shaders)
>
> The Rib file format compliance means that the drawable objects will 
> need to handle the kind geometry Renderman accepts.

The question here is do we want to be able to read, write or read and 
write RIB files. If we ie. only have to write RIBs then we could ie. 
provide a special action implementation which generates a RIB from the 
scene graph.

> In the shapes area I see something that will permit to build easily 
> complex polyhedral shapes, I think of the things we can see in Maya 
> while manipulating polygon... And also we need curved surfaces...
>
> And because we need to be able write new kind of 3D objects we need a 
> low level API to draw basic things, more than the classic conics and 
> triangles meshes.
>
> Because I think that we need to make the things simple, Maybe the 
> simple support at the beginning for conics, Polymesh, and nurbs would 
> be enough.

Wrt the drawing API I think that if we can come up with an API covering 
all of the RM primitives then we cover already a good portion of what 
we need.

> Sure that the most important thing to do is to make the global 
> architecture of the 3D Rendering system, the kind of supported shapes 
> can be postponed because it has to be easy to add new geometric shape 
> to the system.
>
> The challenge is to make the shader renderman compliant.

Indeed. The problem is in the details here. I worked on the ObjC 
interface for the G3DRenderer resembling the RenderMan Interface 
version 3.2, covering ~80% of all of its functions (not counting the 
shading part) and some of the QRM interfaces, and I realised that we 
have to solve problems like matrix issues ([4][4] vs. [16]), C string 
tokens vs. integer resource handlers (vs. NSString?) and so on. So the 
question is should we head for strict RenderMan compliance or is it OK 
to implement a RenderMan-like interface only? What do you think?

-Phil
--
Philippe C.D. Robert
http://www.nice.ch/~phip