As you know a lot of file formats supported by digital content
creation tools are already capable of exporting basic material
properties of objects in terms of ambient, diffuse and specular
components plus a bunch of textures assigned to faces. But with the
advent of shaders and programmable function pipelines, those days
where materials used to carry a limited amount of visual properties
are long gone. Shaders have come to greatly enhance what materials
used to mean.
But after writing a couple of importers for frequently used formats,
Google SketchUp (.SKP) and Autodesk DWF (.DWF), I have yet to find a
format that fully supports shaders; a format that can satisfy my
needs. DWF is a huge and complex format based on HOOPS Streaming File
Format. It's a format with a great deal of potentials and capabilities
but as far as I know it lacks support for shaders, which (considering
the amount of attentions Autodesk is paying to it) somehow has led me
to believe there really are not that many formats that support
shaders.
The first thing that comes to mind then is Microsoft's .X file format
which has been designed to support shaders, where a bunch of objects
can actually be told to use a specified shader (i.e. an effect),
instead of just playing around with the classic ambient, diffuse and
specular properties. This is certainly an option but it binds the
application to Direct3D, if you're too lazy to right the full-fledged
generic importer instead of using the pre-written D3DX helper
functions. So this leads me to the first question. Are there any file
formats with 1) multi-texturing and 2) shader support?
In case you're wondering why I may need such capability, I must add
that my goal is basically to assign shaders to objects using a simple
drag and drop approach, pretty much the same way materials are
assigned to objects in 3DS Max or Maya. From there, I want the artist
to be able to tweak the parameters. I'm not an artist so there is the
possibility that those softwares currently support such features and
have already designed shader-capable file formats which I am not aware
of, in which case a short description of how to achieve this goal
would be highly appreciated. If writing a simple editor that imports
geometry and assigns pre-written shaders (that are supported by the
engine) to objects is the way to go, some links to probably already
written, ready to use editors is welcome.
I'm looking forward for your opinions and suggestions.
Thanks in advance.


|