Replicating Shader Brick System - impossible idea?

JClaveJClave Posts: 64

I'm trying to implement material conversion plugin from Daz3d to external render engine.

I'm only interested in replicating shader nodes that are accessible for MDL materials only (No RSL nodes)

I realised in order to faithfully convert Daz material, I need to implement the following:

  • All Functions listed in the screenshot

https://imgur.com/3UgyCYd

Most of them seem quite straight forward to replicate. Given, they either come from MDL shader or very standard operations

If anyone has experience on technical details of shader brick system, would like to hear whether doing this is feasible.

I just don't want to spend months on this only to find there are certain things which will make material conversion not satisfactory for users.

Post edited by JClave on

Comments

  • There's far too many of them to implement easily-- or even simply.  Your better bet would be to make about half-a-dozen basic MDL-brick shaders and translate each one of them, individually.

    Or just find some way for External Engine #Q to decipher the equivalent MDL code the node tree emulates or generates.

  • JClaveJClave Posts: 64
    edited December 2019

    Sorry maybe I wasn't clear.

    My goal is to implement a piece of code that can convert a tree of shader bricks provided in a .duf file into a single MDL file which then can be used by an external render engine that supports MDL material.

    After having another look, it seems the majority of shader bricks are MDL bricks (for MDL compatible bricks) and they are exposed in MDL files in Daz programs folder.

    Those bricks that are not exposed shouldn't be hard to manually re-write as MDL code.

    I'm now worried about the maintenance effort of this shader brick parsing system because Daz changelogs show that they add new features and such to the shader brick system each version.

    My intention is to open source this and design it in a way that it can be used by not just me but also any developer interested in adding MDL integration from Daz to any renderer they wish

     

    To collaborate with anyone who might be interested, I created a public page that documents my findings on Daz ShaderBrick content format for converting this to MDL file.

    https://www.notion.so/nprlab/Daz-documentation-for-MDL-76872aecd7234bdf94fdb78778deda46

    Post edited by JClave on
Sign In or Register to comment.