Right now we split scene representation for IO and for pathtracing. This allowed us to evolve the library easily and make editors in a simpler manner. At the same time, keeping two separate scenes requires copies when using the path tracer, tracking of versions in editors. Also the API needs to be duplicated if one wants to create scenes for serialization and for rendering.
We should consider whether it makes sense to merge the two scene representations since Yocto will focus on path tracing for the time being. What is left out is the scene for OpenGL rendering, but that will remain separate since it has a different semantic.
Right now we split scene representation for IO and for pathtracing. This allowed us to evolve the library easily and make editors in a simpler manner. At the same time, keeping two separate scenes requires copies when using the path tracer, tracking of versions in editors. Also the API needs to be duplicated if one wants to create scenes for serialization and for rendering.
We should consider whether it makes sense to merge the two scene representations since Yocto will focus on path tracing for the time being. What is left out is the scene for OpenGL rendering, but that will remain separate since it has a different semantic.