RenderKit / ospray

An Open, Scalable, Portable, Ray Tracing Based Rendering Engine for High-Fidelity Visualization
http://ospray.org
Apache License 2.0
1.01k stars 182 forks source link

loading OBJ material #471

Closed HamidGadirov closed 3 years ago

HamidGadirov commented 3 years ago

Hello everyone,

My question is whether it is possible to load a complex scene (such as Sponza) to OSPRay? I found that it is possible with OSPRay Studio, but is there a way to load such a scene here? In the case of the sponza scene, there is a .mtl file along with an .obj, but I'm not sure how to use it to render the scene in OSPRay. Also, I see the sponza renderings provided as examples in the documentation, but still wondering how to load such a scene. Any recommendations will be appreciated!

Kind regards.

BruceCherniak commented 3 years ago

Hello Hamid,

My question is whether it is possible to load a complex scene (such as Sponza) to OSPRay? I found that it is possible with OSPRay Studio, but is there a way to load such a scene here? In the case of the sponza scene, there is a .mtl file along with an .obj, but I'm not sure how to use it to render the scene in OSPRay. Also, I see the sponza renderings provided as examples in the documentation, but still wondering how to load such a scene. Any recommendations will be appreciated!

OSPRay is the core rendering library. Beginning with OSPRay 2.0.x, in order to focus on a smaller targeted library for our customers who have their own file loaders and scene graph, we separated these components from the core library into OSPRay Studio.

OSPRay Studio is meant as a front-end to OSPRay core rendering. OSPRay Studio contains importers for OBJ/mtl, glTF, various volume formats, and a large number of texture formats. We are also in the process of adding additional model formats, through separate plugins.

If you have suggestions for or issues on OSPRay Studio, please visit us here https://github.com/ospray/ospray_studio to file these. We appreciate your comments/support.

Best, Bruce

HamidGadirov commented 3 years ago

Hello Hamid,

My question is whether it is possible to load a complex scene (such as Sponza) to OSPRay? I found that it is possible with OSPRay Studio, but is there a way to load such a scene here? In the case of the sponza scene, there is a .mtl file along with an .obj, but I'm not sure how to use it to render the scene in OSPRay. Also, I see the sponza renderings provided as examples in the documentation, but still wondering how to load such a scene. Any recommendations will be appreciated!

OSPRay is the core rendering library. Beginning with OSPRay 2.0.x, in order to focus on a smaller targeted library for our customers who have their own file loaders and scene graph, we separated these components from the core library into OSPRay Studio.

OSPRay Studio is meant as a front-end to OSPRay core rendering. OSPRay Studio contains importers for OBJ/mtl, glTF, various volume formats, and a large number of texture formats. We are also in the process of adding additional model formats, through separate plugins.

If you have suggestions for or issues on OSPRay Studio, please visit us here https://github.com/ospray/ospray_studio to file these. We appreciate your comments/support.

Best, Bruce

Thanks for the info Bruce, but is it possible to alternatively load benchmark scenes from OSPRay to OSPRay Studio? What would a possible approach to it?

BruceCherniak commented 3 years ago

Hello Hamid,

Yes, obj/mtl and glTF scenes will load in OSPRay Studio. “ospStudio ” will bring up the GUI with the model loaded. Alternatively, there is an “import” item under the “file” menu.

Best, Bruce

HamidGadirov commented 3 years ago

Hello Hamid,

Yes, obj/mtl and glTF scenes will load in OSPRay Studio. “ospStudio ” will bring up the GUI with the model loaded. Alternatively, there is an “import” item under the “file” menu.

Best, Bruce

Thanks for the reply Bruce, I found only "cornell_box.obj" file in OSPRay as an .obj which is loadable to Studio. Is it possible to load also boxes, random spheres, streamlines, and planes which are benchmarking scenes? As I see, they are generated from the corresponding .cpp code in OSPRay, I am thinking if there is a way to save them as obj/mtl or glTF scene so that to load to OSPRay Studio.

johguenther commented 3 years ago

The "scenes" shown in ospExamples serve as demos for the capabilities of OSPRay, they are not intended as benchmark. The ones from ospbenchmak serve as micro-benchmark to detect performance regressions, they should not be used as proxy for real-world workloads (and they are quite boring...). All those "scenes" in OSPRay are procedurally generated (no files are loaded), which happens in libospray_testing.so. It will be quite easy to also use libospray_testing.so in OSPRay Studio, which we may do in future, because we like to do benchmarking with OSPRay Studio as well (in particular with real-world workloads).

HamidGadirov commented 3 years ago

Thanks for explanations!