March 26, 2019

MyWorld Meetup - 3/2/19

Theme: Custom shaders!

  • A note about shaders:
    • This is a future plan – support will come after Alpha/Beta
    • Shaders are special programs that run in graphics hardware that turn 3D models + data into pretty pictures
      • Universal in 3D engines
      • Tricky code to write – require much specialized knowledge, and may not work portably across engines/hardware
    • MyWorld will allow users to create shaders in an easy, safe, and portable way – shader nodes
      • Shader nodes are easy and intuitive
        • Drag and drop visual interface, no code – nodes are fed textures, mesh, other information and transform it into final result
        • Safe too – engine generates the actual code for the hardware
      • Extremely powerful, used by artists across CGI & game industry
      • Node graphs aren’t actual shader code, so they’re portable to new platforms
        • Right now MyWorld runs on OpenGL 3.3 – in the future, will likely run on Vulkan
        • Vulkan is a next-gen API for accessing graphics hardware, replaces OpenGL
        • Vulkan shaders are different – nodes mean no issues with broken content moving to Vulkan or even other future rendering systems
    • Right now, MyWorld is oriented around photorealistic rendering – PBR
      • Some people will want to make stylized content that isn’t photorealistic
        • Shader nodes can easily do that – and lots more!
  • Questions
    • What graphics features will be supported early on?
      • Initial release uses PBR – photorealistic rendering. This won’t change moving forward, but will improve
        • Content created for PBR during alpha will always be supported moving forward
        • PBR is industry standard, expanding very rapidly
      • Devoting many resources to top of the line graphics as we move forward
      • Alpha (& Beta) may lack some important features that will be added later
        • First priority is to get MyWorld released and in users’ hands
        • Once this happens we can begin collecting feedback and improving
        • Example: MyWorld will only support mesh content initially, but will add CSG support later
    • Q (Zauberin) – Using CSG shapes as culling volumes?
      • Unlikely, but will investigate (using CSG to modify object directly is preferable)
    • Q (Zauberin) – What about using node system to create geometry/mesh?
      • Answer: Will investigate, may support in future.