POV-Ray : Newsgroups : povray.general : Inquiry on Implementing Ray Tracing for 3D Gaussians in POV-Ray Server Time
14 Oct 2024 14:23:59 EDT (-0400)
  Inquiry on Implementing Ray Tracing for 3D Gaussians in POV-Ray (Message 1 to 9 of 9)  
From: Harry Peverell
Subject: Inquiry on Implementing Ray Tracing for 3D Gaussians in POV-Ray
Date: 24 Sep 2024 01:20:00
Message: <web.66f24bce4c2d0dd34a666fbab1b44dfe@news.povray.org>
I am currently exploring the integration of 3D Gaussian Splatting (3DGS) models
into the POV-Ray rendering environment, and I have a couple of questions.

The 3DGS model represents a scene as a collection of discrete 3D Gaussian
ellipsoids, each with varying sizes and properties.   As far as I understand,
POV-Ray does not natively support ray tracing for ellipsoids of differing
dimensions.   Is there a way to modify POV-Ray to accommodate the unique
characteristics of 3DGS models and enable ray tracing for these variable-sized
ellipsoids?

If such modifications are possible, could you provide insights into the process
or point me towards resources where I might find information on how to implement
these changes?   Alternatively, if there are existing workarounds or plugins
that could help achieve similar results, I would be very interested in learning
about them.

I believe that integrating 3DGS into POV-Ray could significantly enhance the
rendering capabilities, especially for scenes that require high levels of detail
and realism.   Any advice or assistance you could offer would be greatly
appreciated.

Best regards,

Harry


Post a reply to this message

From: ingo
Subject: Re: Inquiry on Implementing Ray Tracing for 3D Gaussians in POV-Ray
Date: 24 Sep 2024 01:40:00
Message: <web.66f25070e124152017bac71e8ffb8ce3@news.povray.org>
"Harry Peverell" <har### [at] 163com> wrote:
>   As far as I understand,
> POV-Ray does not natively support ray tracing for ellipsoids of differing
> dimensions.
>

Maybe the quadric is what you are looking for?

ingo


Post a reply to this message

From: Bald Eagle
Subject: Re: Inquiry on Implementing Ray Tracing for 3D Gaussians in POV-Ray
Date: 24 Sep 2024 08:20:00
Message: <web.66f2add2e1241520d2a18eff25979125@news.povray.org>
"ingo" <nomail@nomail> wrote:
> "Harry Peverell" <har### [at] 163com> wrote:
> >   As far as I understand,
> > POV-Ray does not natively support ray tracing for ellipsoids of differing
> > dimensions.

I'm not sure _exactly_ what your end goal is (perhaps link to an example), but I
do believe that we established that a scaled sphere is an ellipsoid, so you
could just use that, or a blob {} object.

Aside from that, there are any number of primitives that can be used to render
ellipsoidal shapes.  Isosurfaces, polynomials, parametrics, spheres, . . .

I need to better understand your specific needs in order to offer better advice.

- Bill Walker


Post a reply to this message

From: Alain Martel
Subject: Re: Inquiry on Implementing Ray Tracing for 3D Gaussians in POV-Ray
Date: 24 Sep 2024 10:53:29
Message: <66f2d269$1@news.povray.org>
Le 2024-09-24 à 01:19, Harry Peverell a écrit :
> I am currently exploring the integration of 3D Gaussian Splatting (3DGS) models
> into the POV-Ray rendering environment, and I have a couple of questions.
> 
> The 3DGS model represents a scene as a collection of discrete 3D Gaussian
> ellipsoids, each with varying sizes and properties.   As far as I understand,
> POV-Ray does not natively support ray tracing for ellipsoids of differing
> dimensions.   Is there a way to modify POV-Ray to accommodate the unique
> characteristics of 3DGS models and enable ray tracing for these variable-sized
> ellipsoids?
> 
> If such modifications are possible, could you provide insights into the process
> or point me towards resources where I might find information on how to implement
> these changes?   Alternatively, if there are existing workarounds or plugins
> that could help achieve similar results, I would be very interested in learning
> about them.
> 
> I believe that integrating 3DGS into POV-Ray could significantly enhance the
> rendering capabilities, especially for scenes that require high levels of detail
> and realism.   Any advice or assistance you could offer would be greatly
> appreciated.
> 
> Best regards,
> 
> Harry
> 
There are no ellipsoids per say, but, you can easily make one by 
unevenly scaling a sphere, rotating it if needed, then translating it to 
the desired location. Create at the origin so that the scaling and 
rotation don't affect it's location, then move to the desired location.

sphere{ 0, Radius scale <ScaleX, ScaleY, ScaleZ> rotate<XRotate, 
YRotate, ZRotate> translate Location}
You can take many of those and bind them into an union so that they can 
be manipulated as a single entity.

If you want a smooth transition between the ellipsoids, you can make 
them elements of a blob object.


Post a reply to this message

From: Harry Peverell
Subject: Re: Inquiry on Implementing Ray Tracing for 3D Gaussians in POV-Ray
Date: 24 Sep 2024 11:30:00
Message: <web.66f2da21e12415204a666fbab1b44dfe@news.povray.org>
"Bald Eagle" <cre### [at] netscapenet> wrote:
> "ingo" <nomail@nomail> wrote:
> > "Harry Peverell" <har### [at] 163com> wrote:
> > >   As far as I understand,
> > > POV-Ray does not natively support ray tracing for ellipsoids of differing
> > > dimensions.
>
> I'm not sure _exactly_ what your end goal is (perhaps link to an example), but I
> do believe that we established that a scaled sphere is an ellipsoid, so you
> could just use that, or a blob {} object.
>
> Aside from that, there are any number of primitives that can be used to render
> ellipsoidal shapes.  Isosurfaces, polynomials, parametrics, spheres, . . .
>
> I need to better understand your specific needs in order to offer better advice.
>
> - Bill Walker

Thank you for your prompt and insightful response.

3DGS model is characterized by a set of 3D Gaussian points, which can be thought
of as ellipsoids of varying sizes. These points are not only used to represent
the geometry of a 3D scene but are also equipped with parameters that are
crucial for Physically Based Rendering (PBR). Each Gaussian point carries with
it attributes such as opacity, view-dependent color, and now, with our
enhancements, normal vectors and Bidirectional Reflectance Distribution Function
(BRDF) parameters. This allows for a more realistic rendering of the scene, as
the materials' interaction with light can be modeled with greater accuracy.

Implementing ray tracing within the 3DGS framework serves a couple of critical
purposes. Firstly, it addresses the challenge of achieving realistic rendering
effects such as shadows and inter-reflections, which are difficult to achieve
with traditional point-based rendering methods. By introducing a novel
point-based ray tracing approach using bounding volume hierarchies, we can
efficiently compute visibility and produce more photo-realistic images,
especially in terms of shadows and lighting effects.

Harry


Post a reply to this message


Attachments:
Download '2.png' (2170 KB)

Preview of image '2.png'
2.png


 

From: Harry Peverell
Subject: Re: Inquiry on Implementing Ray Tracing for 3D Gaussians in POV-Ray
Date: 24 Sep 2024 11:30:01
Message: <web.66f2dae9e12415204a666fbab1b44dfe@news.povray.org>
"ingo" <nomail@nomail> wrote:
> "Harry Peverell" <har### [at] 163com> wrote:
> >   As far as I understand,
> > POV-Ray does not natively support ray tracing for ellipsoids of differing
> > dimensions.
> >
>
> Maybe the quadric is what you are looking for?
>
> ingo

As you rightly pointed out, the 3DGS model is characterized by a set of 3D
Gaussian points, which can be thought of as ellipsoids of varying sizes.I want
to try to combine it with Pov ray to achieve 3DGS ray tracing.

Harry


Post a reply to this message


Attachments:
Download '1.png' (1501 KB)

Preview of image '1.png'
1.png


 

From: Harry Peverell
Subject: Re: Inquiry on Implementing Ray Tracing for 3D Gaussians in POV-Ray
Date: 24 Sep 2024 11:40:00
Message: <web.66f2dcfce12415204a666fbab1b44dfe@news.povray.org>
> There are no ellipsoids per say, but, you can easily make one by
> unevenly scaling a sphere, rotating it if needed, then translating it to
> the desired location. Create at the origin so that the scaling and
> rotation don't affect it's location, then move to the desired location.
>
> sphere{ 0, Radius scale <ScaleX, ScaleY, ScaleZ> rotate<XRotate,
> YRotate, ZRotate> translate Location}
> You can take many of those and bind them into an union so that they can
> be manipulated as a single entity.
>
> If you want a smooth transition between the ellipsoids, you can make
> them elements of a blob object.

Thank you for your prompt and insightful response.

3DGS model is actually a 3D structure generated by 3D reconstruction algorithm.
It consists of a group of solid Gaussian ellipsoids of different sizes. I want
to combine it with Pov-Ray to realize 3DGS ray tracing and solve problems such
as reillumination.3DGS model is characterized by a set of 3D Gaussian points,
which can be thought of as ellipsoids of varying sizes. These points are not
only used to represent the geometry of a 3D scene but are also equipped with
parameters that are crucial for Physically Based Rendering (PBR). Each Gaussian
point carries with it attributes such as opacity, view-dependent color, and now,
with our enhancements, normal vectors and Bidirectional Reflectance Distribution
Function (BRDF) parameters. This allows for a more realistic rendering of the
scene, as the materials' interaction with light can be modeled with greater
accuracy.But applying these parameters to Pov-ray seems to require solving some
interface problems

Harry


Post a reply to this message


Attachments:
Download '1.png' (1501 KB)

Preview of image '1.png'
1.png


 

From: Bald Eagle
Subject: Re: Inquiry on Implementing Ray Tracing for 3D Gaussians in POV-Ray
Date: 24 Sep 2024 12:45:00
Message: <web.66f2ebcee1241520d2a18eff25979125@news.povray.org>
"Harry Peverell" <har### [at] 163com> wrote:
Each Gaussian point carries with
> it attributes such as opacity, view-dependent color, and now, with our
> enhancements, normal vectors and Bidirectional Reflectance Distribution Function
> (BRDF) parameters.

So, in POV-Ray, every object can have an associated pigment {} with an rgbft
color.  The filter (f) and transmit (t) would both control different aspects of
the opacity.
https://wiki.povray.org/content/Reference:Color_Expressions

View-dependent color might be controlled by the aoi pattern.
https://wiki.povray.org/content/Reference:Aoi_Pattern

You can manually control the normal vectors if you make your ellipsoids out of a
mesh {} or mesh2 {} object.

The BRDF will be controlled by the attributes specified in the finish {} block.

- BW


Post a reply to this message

From: Ilya Razmanov
Subject: Re: Inquiry on Implementing Ray Tracing for 3D Gaussians in POV-Ray
Date: 25 Sep 2024 06:22:18
Message: <66f3e45a$1@news.povray.org>
On 24.09.2024 18:29, Harry Peverell wrote:

> As you rightly pointed out, the 3DGS model is characterized by a set of 3D
> Gaussian points, which can be thought of as ellipsoids of varying sizes.I want
> to try to combine it with Pov ray to achieve 3DGS ray tracing.

Although I never heard of this before, from what I just tried to read it 
sounds like POVRay blobs may be what you are after.

-- 
Ilyich the Toad
https://dnyarri.github.io/


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.