maximeraafat/BlenderNeRF

Render from surface of arbitrary geometry:

Closed this issue · 3 comments

In order to capture an oddly-shaped object (or an environment) it might be easiest to generate a "bounding volume" object that is basically a scaled-up (or down) low-detail version of the object/scene, and scatter camera positions on its surface (pointing into the center or out along its surface normals). This would provide a more flexible solution for scenes that either don't have an animated camera or don't conform neatly to the center of a sphere.

Hi @avclubvids, thanks for the suggestion.

I see the idea behind your recommendation, however I am a bit concerned about how many use cases such a function might have. In most cases, a sphere or an ellipsoid (which you can obtain by scaling the sphere in the COS method along a single axis), will be capable of capturing most of the geometry and appearance details in your scene. Nevertheless, if I see a rising interest for such a property, I will consider implementing it in future releases :)

Keep in mind nonetheless that by deforming the BlenderNeRF Sphere from the COS method, the randomly sampled views won't be perfectly uniformly sampled anymore.

yeah, the challenge of photographing or rendering a non-spherical volume :)

I think you might be able to maintain uniform coverage across the surface of arbitrary geometry using GeoNodes, but it's been a while since I cracked them open so I'm not sure if that's the right approach or not.

Yes I'm sure there is a way to get this done, probably even in an elegant way without GeoNodes. But again, I am not fully convinced about the usefulness of such a method. I might be wrong though :)