If we use an implicit representation to express geometry, how do they play out with the affine transformations throughout the graphics pipeline? What I am having difficulty in understanding is that say we use x^2 + y^2 + z^2 = 1 to express a unit sphere. How does this translate into a set of vertices that we can manipulate using the vertex shader.
motoole2
@A-star Good question!
We can manipulate the input parameters to our algebraic expressions, similar to how we manipulate vertices. For example, if I want to translate a unit sphere, I can simply change my equation a bit: (x-x_0)^2 + (y-y_0)^2 + (z-z_0)^2 = 1. And of course, I can do similar operations to perform a rotation or scaling operation.
Now, going from an algebraic representation of a surface to a set of vertices is not a straightforward process!! One approach to computing vertices is to use a ray-marching algorithm to compute the intersection of a ray and your geometry. This involves casting a 3D ray from the camera into your scene, and marching along the ray until you find the surface of your implicit geometry. This is an expensive procedure, but it is the cost of using an implicit surface.
If we use an implicit representation to express geometry, how do they play out with the affine transformations throughout the graphics pipeline? What I am having difficulty in understanding is that say we use x^2 + y^2 + z^2 = 1 to express a unit sphere. How does this translate into a set of vertices that we can manipulate using the vertex shader.
@A-star Good question!
We can manipulate the input parameters to our algebraic expressions, similar to how we manipulate vertices. For example, if I want to translate a unit sphere, I can simply change my equation a bit:
(x-x_0)^2 + (y-y_0)^2 + (z-z_0)^2 = 1
. And of course, I can do similar operations to perform a rotation or scaling operation.Now, going from an algebraic representation of a surface to a set of vertices is not a straightforward process!! One approach to computing vertices is to use a ray-marching algorithm to compute the intersection of a ray and your geometry. This involves casting a 3D ray from the camera into your scene, and marching along the ray until you find the surface of your implicit geometry. This is an expensive procedure, but it is the cost of using an implicit surface.