🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

Defining AAA

Started by
72 comments, last by Fulcrum.013 5 years, 11 months ago
1 hour ago, Hodgman said:

Also FWIW, there's already games leaving triangles behind:

Of cource many clever guys nowaday researching ways to shift from triangles to more flexible primitives. And everybody have his concrete goals and perspective how to acheive it. Someday somebody of those guys will make a revolution into this area.

 

2 hours ago, JoeJ said:

Quadrangulation can help because it allows to move geometric details into texture space in many forms and runtime complexity is minimal

CADs using quadrangulation for triangulation of curved faces at least for 25 years. And it easy to do becouse CADs uses surfaces with rectangular UV space only.

 

2 hours ago, JoeJ said:

But for games we want a really low resolution control mesh

It mach simplier to do in case you have geometry features switchable. It just require to switch features of with same view angle/screen area size tolerance and move it to texture space. Anybody know that SolidWorks has made a revolution into CADs field at time of its initial release. But only conceptually new that it introdused was a stripe of model features that allow to switch features on and off and edit its definition.

2 hours ago, JoeJ said:

catmull clark is the best we have

Catmull clark based on uniform b-splines and subdivision surfaces. similar extension T-splines makes for NURBS. Anything that based on splines is a kind of  crossection modeling. Only difference is how to make crossection, becouse subdivision surfaces based on idea similar to de Casteljau algo. Glue modeling uses brushes to affect a set of crosssection curves at time. It is fast to do, but complete inaccurate  and result most likely have no options to make it parametrically adjustable. Instead of it CADs uses precious individual crossection modeling, that still complete ajustable for resulting model. But organics usualy require a huge set of crossections, that again have huge tweaks-sets to be adgusted. Looks like it just required a field-specific algoritms that accounting dependenses of neighborhood cross-sections to group and adjust it by less complexive field-related set of parameters. CADs usualy concentrated on have a common-usage tools "into box" and leaving implementation of fiels-specific tools that use its common geometry tools to extension-makers.

#define if(a) if((a) && rand()%100)

Advertisement
22 minutes ago, Fulcrum.013 said:

CADs using quadrangulation for triangulation of curved faces at least for 25 years. And it easy to do becouse CADs uses surfaces with rectangular UV space only.

No no, that's not what it is about. Quadrangulation has several constrants, e.g. trading singularity count versus alignment to curvature, having constant size for all quads, allowing anisotropic quads or not etc. (There is even work on using strictly planar quads for modern architecture to tesselate curved surfaces with glass.)

Recent work is this http://www.geometry.caltech.edu/pubs/FBTDH18.pdf or this https://www.graphics.rwth-aachen.de/media/papers/campen_sa2015_qgp_medium.pdf (i have implemented the latter)

For games, the larger and uniform the quads, the more mip levels of texture can be interpolated without texture seam issues. Using the quads for rendering is optional, it is the resulting global parametrization that is interesting for us. It allows proper displacement mapping, aids the move to texture space lighting (Denoising etc. works much better in texture space), extension to volumetric shell is possible... Finally, we have all those unlimited details that other guys look for with voxels, unstructured points or SDF, but we keep all the advantages of polygons. (But of course there are major limitations - it's not one solution for everything.)

This has nothing to do with CAD construction, but industrial design industry has interest in those algorithms (also hexahedral meshing for volumes), so i assumed you mean things like that when i agreed with you that we can learn from there. Now i see our visions are quite different, but this just shows there are still infinite options to achieve progress... :)

 

 

 

14 hours ago, JoeJ said:

This has nothing to do with CAD construction, but industrial design industry has interest in those algorithms (also hexahedral meshing for volumes), so i assumed you mean things like that when i agreed with you that we can learn from there

CADs uses it to triangulation. Each face firstly tasselated to quad facets that have equal side size into UV space and aligned to UV axes of underlaying surface. Then after cutting it by face edges it join quads with respect to given anguzar tolerance. Just CADs usualy use hybrid representation where kind of some underlaying surfaces is known. Usualy it use planes, general quadrics, and torus for predefined kinds and NURBS for rest of surfaces that not fit to predefined categories. So for most of surfaces curvature is known and constant or ever zero at least into one direction. So its just uses precalculated trades to join squads for most faces - ti is from anisotropy come. Looks like it is huge difference that makes quadrogonation possible for CADs - it uses quadrogonation on per face basis, where each face have only underlaying surface and limited by edges that is a intersection of underlaying surface with other surfaces of body, and uses quads that alligned and equal respectively to curved UV coordinate space of underlaying surface, but not equal respectively  to general Cortesian coordinate space and not aligned to edges.

#define if(a) if((a) && rand()%100)

This topic is closed to new replies.

Advertisement