Page 1 of 1

Proxy object

Posted: Fri Dec 10, 2021 1:00 pm
by TAO
Recently I start to work on a huge scene and even with instancing the scene is still huge to handle so like in the old days I just looked for any type of proxy object to save my models as static meshes and reuse them. I can not find anything about that in the manual of the developer documentation.
Can you point me in a current direction? so I'll be able to implement it to MaxToLux.

Re: Proxy object

Posted: Fri Dec 10, 2021 4:05 pm
by Dade
I'm not totally sure what you are looking for but I assume it is up to the exporter to feed LuxCore with the "proxy" object instead of the original one :?:

Re: Proxy object

Posted: Fri Dec 10, 2021 7:30 pm
by TAO
So I need to create a proxy object based on ply format that already exists in luxcore and use it externally just in render time and show a point cloud or any other type of geometry-shape in viewport instead.
Base on this In LuxCore, proxies do not improve rendering time or quality in any way and actually, all scene objects would be converted to proxies internally, right before the rendering starts.

Re: Proxy object

Posted: Fri Dec 10, 2021 9:31 pm
by marcatore

Re: Proxy object

Posted: Fri Dec 10, 2021 11:01 pm
by B.Y.O.B.
A basic proxy system can be implemented in an exporter. Export the mesh to disk as .ply and replace it with a simplified version in the 3d program. Then on export time, don't convert the simplified mesh, but load the .ply from disk instead.

However, VRay proxies are more advanced as far as I know, for example they are streamed in/out of RAM at rendertime as needed, which can save a lot more RAM than the basic method above. But such a system would need to be added directly in LuxCore.

Re: Proxy object

Posted: Sat Dec 11, 2021 9:10 am
by TAO
B.Y.O.B. wrote: Fri Dec 10, 2021 11:01 pm A basic proxy system can be implemented in an exporter. Export the mesh to disk as .ply and replace it with a simplified version in the 3d program. Then on export time, don't convert the simplified mesh, but load the .ply from disk instead.

However, VRay proxies are more advanced as far as I know, for example they are streamed in/out of RAM at rendertime as needed, which can save a lot more RAM than the basic method above. But such a system would need to be added directly in LuxCore.
I'll try it as you and dade mention, it is more like the Corona proxy mesh system not helping the quality or speed or even memory usage on render time but can help with handling more objects in viewport also use less memory before exporting objects to the renderer. Vray is more advanced as you said. by the way, smaller viewport memory usage gave me more ram to work at the render time, not the best option but it is still really helpful with huge scenes.