Parsing RFX files etc

I’m currently thinking about a nice way to use artist-made shader-materials in my applications. It’s not yet clear which tool the artist should use, two of the possibilities are ATI RenderMonkey or TyphoonLabs ShaderDesigner. In the case of RM, I would need to parse RFX files in order to load all shaders / default unifrom values / textures into my application. Unfortunately, the RM SDK seems to support only plug-in develpoment, but not loading of RFX files in own applications.
Using SD I would have the same problem with parsing its GDP files, again the SDK seems to be only focused on plug-in development.
So, how do you guys import your artist-made GLSL shaders incl. all necessary data (like textures etc.) to your applications? Note that I need some free / low-cost solution, we can’t afford to spend money on products like RT/zen.

I just rolled my own. It’s not that hard.

Yes, I know it’s not that hard, I just wanted to be sure I haven’t overlooked some ready-made solution.
BTW: What XML parser are you using for reading RFX files? I’m still undecided between TinyXML and XiMoL. Another question: Is your RFX reader public, so I might take a look at your source code?

If you use the Shader Designer, read all information stored in the project file is pretty easy. It is a plain and very-easy-to-parse xml file. You can extract all needed states without a lot of effort.

If you wait a pair of weeks, we will release a library with it’s source code (the release will be simultaneously with the Shader Designer linux version), to open/load/manage/execute Shader Designer project files, as well as all objects involved (shaders, uniforms, textures, and states (with a caché)) in order to provide a GLSL framework that could work alone or with SD projects.

Have you yet decided which XML parser and image loading libraries you’ll use? If I add GDP file support (using your library) additionally to RFX file support, it would make sense that I’d use the same libraries as you do to keep file sizes small. My current favourites are TinyXML / FreeImage.

We are using devil for images and tinyxml, but we will provide abstract interfaces to operations that are dependent of external libraries (with a default implementation, of course). So you could use your favourite library to perform those operations

This topic was automatically closed 183 days after the last reply. New replies are no longer allowed.