Polygons, voxels, SDFs... what will our geometry be made of in the future?

I think subdivision surfaces with vector displacement mapping are nice primitives and a lot of the problems with it seem close to solved.

Of course even if a developer creates the tools to use it you will have to hold artist families at gunpoint to make them switch, might even have to shoot a few first.
 
I think subdivision surfaces with vector displacement mapping are nice primitives and a lot of the problems with it seem close to solved.

Of course even if a developer creates the tools to use it you will have to hold artist families at gunpoint to make them switch, might even have to shoot a few first.
But those are polygons. Interesting, nonetheless.
 
Seems logic to me. Well, logical or whatever. :LOL:

You inadvertently give the right answer here.

It’s logic captain vs it’s logical captain vs it’s logically correct captain.
It’s geometry captain vs it is geometric captain vs it is geometrically correct captain.

But a lot of modern linguistics no longer uses prescriptive grammar, but instead describes how people use language.

https://www.google.nl/amp/s/federal...9/05/05/grammar-symmetric-vs-symmetrical/amp/

And I actually wonder if the exceptions in daily practice have to do with stress on the first syllable.
 
Last edited:
I think subdivision surfaces with vector displacement mapping are nice primitives and a lot of the problems with it seem close to solved.

Of course even if a developer creates the tools to use it you will have to hold artist families at gunpoint to make them switch, might even have to shoot a few first.
I'm at this point.
The paper you show is no good solution because it requires expensive stitching. The true solution is quadrangulation, which turns the surface into quads and so allows for seamless texture UVs (on the original triangle geometry if you want!).
I started working on this to have global parametrization for GI, and only while working on it i realized it has many other applications:
A new solution to the LOD problem.
Displacement mapping everywhere.
Volumetric shells using volume textures or point clouds.
Better procedural texturing and texture synthesis.

So i think it's 'unlimited detail' done right. But it's much harder than any other triangle alternatives discusses here. It took me more than a year to get an automated tool working... almost at least.
The problem is quadrangulation research is still very active, and it does not handle LOD at all, so i was on my own.

On the artist side, i think it's not that difficult. Downside is that many details they model / texture can go from triangles to displacement maps or lower res textures, so they loose full control, but they also have big wins:
No more need to work out good UV maps and care for seems (the tool will resample anyways).
No worries on triangle budgets. Use as many as you want.
No more manual LOD models.

So they can focus on art instead tech. I think they'll like it.

But i won't go into all of this... i'm happy if can get GI done before i die... :)
 
How do you plan to fix anisotropic across quad boundaries? Programmatically inside the shader?
If you need anisotropic samples use the usual dilation by copied neighbor texels, but the harder problem are singular vertices where not four but any other number of quads meet.
The obvious solution here is to place the quad vertices in the center of texels, and make the texel equal color. But this breaks when orientation matters for example with normal maps.
Also, for LOD you typically want to align texel edges with quad edges, and here using equal texel color would reduce detail at singularities and cause visible blotches.
Trying to do it correctly inside shader causes divergence and may require trig ops or look up tables. Much better than seam stitching at least.
I don't know yet how i'll handle it, need to try some options...
After you tear photoshop from their cold dead hands.
Haha, maybe :) But i worked as artist myself and i would be sold to the promises pretty quickly if they hold.
 
The true solution is quadrangulation, which turns the surface into quads and so allows for seamless texture UVs (on the original triangle geometry if you want!).
A new solution to the LOD problem.
Displacement mapping everywhere.
Volumetric shells using volume textures or point clouds.
Better procedural texturing and texture synthesis.

Hell yes! I always wondered when some game would have the balls to go all-quads. It just solves so many problems, and opens so many doors. It's about time.
 
"Update" on the elusive Shadow of the Tomb Raider RTX patch . The GDC session's description has been modified from:

Original:
This session will cover how Nixxes and NVIDIA went about adding ray traced shadows for directional, spot, point and area light sources in the recently released patch to Shadow of the Tomb Raider.

Updated:
This session will cover how Nixxes and NVIDIA went about adding ray traced shadows for directional, spot, point and area light sources. NVIDIA will cover what went well and what didn't in all aspects of the work, from BVH construction to implications on content, and finally the tracing and denoising of the results.
 
I'm at this point.
The paper you show is no good solution because it requires expensive stitching. The true solution is quadrangulation, which turns the surface into quads and so allows for seamless texture UVs (on the original triangle geometry if you want!).
I started working on this to have global parametrization for GI, and only while working on it i realized it has many other applications:
A new solution to the LOD problem.
Displacement mapping everywhere.
Volumetric shells using volume textures or point clouds.
Better procedural texturing and texture synthesis.

So i think it's 'unlimited detail' done right. But it's much harder than any other triangle alternatives discusses here. It took me more than a year to get an automated tool working... almost at least.
The problem is quadrangulation research is still very active, and it does not handle LOD at all, so i was on my own.

On the artist side, i think it's not that difficult. Downside is that many details they model / texture can go from triangles to displacement maps or lower res textures, so they loose full control, but they also have big wins:
No more need to work out good UV maps and care for seems (the tool will resample anyways).
No worries on triangle budgets. Use as many as you want.
No more manual LOD models.

So they can focus on art instead tech. I think they'll like it.

But i won't go into all of this... i'm happy if can get GI done before i die... :)
If you need anisotropic samples use the usual dilation by copied neighbor texels, but the harder problem are singular vertices where not four but any other number of quads meet.
The obvious solution here is to place the quad vertices in the center of texels, and make the texel equal color. But this breaks when orientation matters for example with normal maps.
Also, for LOD you typically want to align texel edges with quad edges, and here using equal texel color would reduce detail at singularities and cause visible blotches.
Trying to do it correctly inside shader causes divergence and may require trig ops or look up tables. Much better than seam stitching at least.
I don't know yet how i'll handle it, need to try some options...

Haha, maybe :) But i worked as artist myself and i would be sold to the promises pretty quickly if they hold.

It think your solution could please artist





 
It think your solution could please artist
Thanks, i'm sure they would like anything performance / texture space related can be ignored. Accepting some loss of details is another question. :)
While baking lighting becomes obsolete, it is replaced by geometry processing which is not realtime either. But i hope editing lighting in realtime / doing quick game tests is mostly possible even if further processing is pending.
I wonder how artists think about something like Simplygon. Is it joy or necessary evil?

Btw, i'm still unsure if my quad ideas make sense at all. Having it solved finally i'm actually thinking about the alternative where no coarse quadrangulation is possible, and i'm also unsure how mesh LODs and GI LOD should be related.
Textured triangles are great, but if you want LOD it all breaks down.
If i would work on this GI tech just for myself, i would likely abandon triangles and do splatting as in Dreams instead. No connectivity, no indirection, continuous LOD, easy object space lighting. :|
 
Trying to model a surface with unconnected particles takes a huge amount of extra storage, makes applying detail textures very difficult and makes animation without creating gaps difficult.

You are creating far more problems than you are solving.
 
Thanks, i'm sure they would like anything performance / texture space related can be ignored. Accepting some loss of details is another question. :)
While baking lighting becomes obsolete, it is replaced by geometry processing which is not realtime either. But i hope editing lighting in realtime / doing quick game tests is mostly possible even if further processing is pending.
I wonder how artists think about something like Simplygon. Is it joy or necessary evil?

Btw, i'm still unsure if my quad ideas make sense at all. Having it solved finally i'm actually thinking about the alternative where no coarse quadrangulation is possible, and i'm also unsure how mesh LODs and GI LOD should be related.
Textured triangles are great, but if you want LOD it all breaks down.
If i would work on this GI tech just for myself, i would likely abandon triangles and do splatting as in Dreams instead. No connectivity, no indirection, continuous LOD, easy object space lighting. :|

http://perso.univ-lyon1.fr/jean-claude.iehl/Public/educ/ENS/2003/comparing_reyes_and_opengl.pdf

A naive adaptive subdivision algorithm could use a completely local stopping criterion. However, if neighboring quads are subdivided at different levels, cracks in the final surface can appear. Typical algorithms for eliminating cracks involve a stitching pattern to reconnect the surface11, which can be used in concert with a global rule such as limiting the difference in subdivision levels for neighboring quads20. However, these approaches are not attractive in stream processors for several reasons. First, the control decisions and number of possible stitching patterns make an efficient data-parallel implementation difficult. Secondly, using global information to determine the stitching pattern can defeat the O(log N) storage requirement and also increase the complexity of memory access patterns, while also decreasing the efficiency of the stream implementation.

We tackle the problem of surface cracks by implementing a novel and completely localized solution: instead of describing the final micropolygons using their corner vertices, they are represented using four edge equations. During subdivision, edge lengths are continually tested to determine if a quadrilateral requires further refinement. Instead of waiting until all four edges meet the length threshold, our approach freezes the final edge equations of a quad immediately after they fall below the threshold. Once all four edges have been stored, the final quad is output. This implies that the four edge equations may come from different levels of refinement. However, the edges of a quad are always consistent with its neighbors because the length criterion used on an edge shared between two quads is consistent. This consistency between shared edges is sufficient to prevent cracks in the final surface
 
Trying to model a surface with unconnected particles takes a huge amount of extra storage, makes applying detail textures very difficult and makes animation without creating gaps difficult.

You are creating far more problems than you are solving.

I could just argue the other way around:

Trying to render a detailed surface with triangles is very inefficient because you need to maintain connectivity data, processed by various FF units requiring seperated data for geometry and texture, designed at a time when triangles were big.
If your triangle density is less than X pixels, all this is redunant.
I assume we agree on this, and depending on scale, splatting pixels becomes more efficient than rasterizing complex but tiny triangles, even without help of FF. Otherwise Dreams would not work.

Surely problems come up when given point samples become magnified and holes appear, but i have a simple solution for that. (Not sure if this breaks when using Reyes alike motion blur... i have to try it out...)
But it's not that i see a revolution here. I'll try it out for fun but my focus is support for standart triangle meshes as usual.



"We tackle the problem of surface cracks by implementing a novel and completely localized solution: instead of describing the final micropolygons using their corner vertices, they are represented using four edge equations. During subdivision, edge lengths are continually tested to determine if a quadrilateral requires further refinement. Instead of waiting until all four edges meet the length threshold, our approach freezes the final edge equations of a quad immediately after they fall below the threshold. Once all four edges have been stored, the final quad is output. This implies that the four edge equations may come from different levels of refinement. However, the edges of a quad are always consistent with its neighbors because the length criterion used on an edge shared between two quads is consistent. This consistency between shared edges is sufficient to prevent cracks in the final surface"

I remember the paper and really like this solution, considering to do this for continuous LOD triangle meshes.

But because Reyes is about tiny triangles, simple splatting could be better suited for realtime also here, for the same reasons as above? (No worries about connectivity at all... bit promise! :) )
Dreams has shown most of the cool things Reyes enables: DOF, motion blur, some stochastic transparency.
Not sure how much we can through at temporal accumulation and hoping things smooth out well, but there are certainly more options here than with triangles.
I hope we'll see some more splatting stuff, mainly the combination with triangles to get the best of both.
 
dreams is truly something else.
SDF is truly incredible; the challenge is building a ground up engine and having the tools to support building content.
 
dreams is truly something else.
SDF is truly incredible; the challenge is building a ground up engine and having the tools to support building content.
I simply can't understand why this tech hasn't gained more interest among other devs and people in general! :runaway::confused: I mean, I can feel the volume of things, all the detail is real and there are perfect round shapes and edges (depending on the thermo, detail and how close you get, but you know what I mean).

Media Molecule did a wonderful job, but they are a small team. Now imagine what a bigger team could achieve with more people and resources. Or Sony, just give that to MM so they can further improve the tech. :mrgreen: The most noticeable things I miss are blendable shapes (characters are made up of separate parts) and proper reflections.
 
Back
Top