mitsuba-renderer / mitsuba3

Mitsuba 3: A Retargetable Forward and Inverse Renderer
https://www.mitsuba-renderer.org/
Other
2.09k stars 245 forks source link

Question about XML scene format #1388

Closed domef closed 1 day ago

domef commented 6 days ago

Does mitsuba3 provides an XML Schema (or somethig similar) that can provide linting during the scene definition?

njroussel commented 1 day ago

Hi @domef

Mitsuba 0.6 used to provide one (here). For Mitsuba 3, we currently don't have one. I'd be happy to help out on a PR if anyone wanted to implement this feature.

pixelsandpointers commented 1 day ago

Hi @njroussel

I'm wondering if you would also accept Python-based scene building (which allows for autocompletion) without the need to fiddle with dictionary values?

I tinkered with it in an under-development library, so if there's demand for this, I can extract it and start a PR.

njroussel commented 1 day ago

HI @pixelsandpointers

What does "Python-based scene building" look like ? Like a builder pattern, with a bunch of methods like add_bsdf()/add_shape(), etc. ?

More generally, I think we don't have the means to maintain yet another way to build scenes ourselves. But I'd be happy to have a look at what you've done. Feel free to share it whenever you want over here: https://github.com/mitsuba-renderer/mitsuba3/discussions.

domef commented 23 hours ago

Hi @njroussel

I'm wondering if you would also accept Python-based scene building (which allows for autocompletion) without the need to fiddle with dictionary values?

I tinkered with it in an under-development library, so if there's demand for this, I can extract it and start a PR.

My question was in fact about having the autocompletion since now (with both XML and python dict) is very difficult to setup a new scene.

pixelsandpointers commented 23 hours ago

HI @pixelsandpointers

What does "Python-based scene building" look like ? Like a builder pattern, with a bunch of methods like add_bsdf()/add_shape(), etc. ?

More generally, I think we don't have the means to maintain yet another way to build scenes ourselves. But I'd be happy to have a look at what you've done. Feel free to share it whenever you want over here: https://github.com/mitsuba-renderer/mitsuba3/discussions.

Exactly like this, with a general Scene container able to export to different targets: to_dict()/to_xml().

Let me open a discussion in a few days. Currently busy with some other things.

This would also address the convenience @domef wants and I wanted to have for a library we're building on top of Mitsuba. :)