# Content Subdivision First some basics (control point polygon, mesh)

## Presentation on theme: "Content Subdivision First some basics (control point polygon, mesh)"— Presentation transcript:

Content Subdivision First some basics (control point polygon, mesh)
Smooth - Triangle Some Polygon techniques(Strips, fans, meshes) Subdivision Linear/ Curves Subdivision Surfaces -Doo-Sabin -Catmull-Clark -Loop Scheme

Basics(Control Polygon)

Basics(Control Mesh)

Smooth - Triangle(1) Curves are described with equations
curves: -Compact notations, -Scalable, -Smooth and continuous, -Easy for collision detection and animation; -Saving in memory -Curves use less matrix transformation then similar done with a mesh -Potential for real-time rendering and simple code

Smooth - Triangle(2) Basic Atom
Graphics cards do not have build-in support for curves. Curves are not generous enough for computing shadow volume which can be more easily done with the basic atom.

Tessellation Splitting a surface into a set of polygons.
Also possible for curved surfaces Why??? Hardware! Any surface can be made out of triangles. With triangles it is alluded as Triangulation. Useful to handle concave polygons. Important for catching shadows and light.

Tessellation(2) Avoid long thin triangles for shading.
A Tessellator first projects its 3D polygon to a 2D plane. Best plane is where polygon with the largest area. Calculation of area where the magnitude of the normal has the largest length and throw away that direction.

Tessellation(3) Ear clipping O(n2)
Look at triangles with vertices i, (i+1), (i+2) where modulo n check if the line segments from at vertices i and (i+2) intersects line segments. Other problems might occur when polygons do not exhibit from one single outline. When they consists of holes for example. Solution could be to connects the holes with the exterior bounds so that one outline emerges.

Tessellation(Ear Clipping)

Triangle Strips Serie of connected triangles
No need for sending each triangle. Only needs to send one vertex So rendering will be done fast. (v0, v1, v2, …, vn-1)

Triangle Fan Same Idea as Strips Same performance
Nvidea prefers Strips over Fans because of the driver optimisation. (v0, v1, v2, …, vn-1)

Subdivision modelling
What is Subdivision? Relative new(used in movies) -Creating Attractive shapes(usually smooth) -From a basic to nice shape ! -from an arbitrary mesh -the limit of an infinite refinement process Subdivision can be used for Modelling, animation and even for colours and textures.

Subdivision modelling
What is Subdivision?

Subdivision Subdivision Can be roughly be categorised into Interpolating and approximating schemes. You start with an initial polygonal mesh which often has few vertices. By repetitively applying the subdivision procedure to the initial mesh, we generate a sequence of meshes that converges to a resulting surface.

Subdivision(Linear) Piecewise Linear 1-Dimensional
X = 1/2(Xleft + Xright) Y = 1/2(Yleft + Yright)

Subdivision Curves Chaikin’s scheme: Qi = 3/4Pi + 1/4Pi+1 Ri = 1/4Pi + 3/4Pi+1 P0 -> P1 ->P2 -> P (P =Polygon) Approximation convex hull Works on open and closed polygons Corner cutting(low pass filter) twice as much vertices after each step new vertices are connected.

Subdivision Curves (Example)

Subdivision Surfaces(1)
Powerful Paradigm !!! Infinite level of detail (LOD) original surface is compact! Easy implementation, but analysis not. Works with polygons !

Subdivision Surfaces(2)
Two phase Process 1) Refinement phase 2) Smoothing Phase

Subdivision Surfaces(3)
The details specify the scheme and thus the shape -splitting can be done in different ways. -Whether the surface is approximating or interpolating. A subdivision scheme can be specified by: -(non)Stationary -uniform, same rules for each vertex and edge (smoothing phase) -triangle/polygon

Subdivision Surfaces(4)

Subdivision Surfaces(5)
Regular/ irregular vertices. Conditions -Subdivision should be efficient thus few floating point operations. -The region of a of a control point should be finite. -Subdivision should achieve a order of smoothness thus C1 or C2. Shrinking at approximation Convex polyhedral

Doo-Sabin Scheme(1) For each vertex of each face there will be an new vertex created For each face, connect the new points that have been generated. Connect the new vertices to the adjacent ones

Doo-Sabin Scheme(2)

Doo Sabin Scheme (example)
Every Valence = 4 note the triangular facets Approximating

Catmull-Clark Sheme(1)
For each face of the mesh, generate the new face points Generate the new edge points Calculate the new vertex points The mesh is reconnected by the following method. -Each new face point is connected to the new edge points of the edges defining the original face. -Each new vertex point is connected to the new edge points of all original edges incident on the original vertex point. Catmull-Clark works with quad meshes

Catmull-Clark Scheme(2)

Catmull-Clark Scheme (example)
Every face has 4 control points Vertices retain their valence First order continuity at a irregular vertex Approximating Subdivision can be adapted at certain places where more detail is needed.

Loop-Scheme(1) The Loop scheme is defined for triangle meshes only
Every triangle will be split in 4 new triangles. m triangles, with n steps, 4n m triangles. Most edges are shared by two triangles phase 1: refinement. Phase 2: fix geometry look at mesh not just a triangle

Loop Scheme(2) First formula updates existing vertices

Loop Scheme(3) Valence = 6 (regular) Mask (draw)
New point should lie on the neighbourhood of the weighted points Next Beta-function give C2 at regular vertices

Loop Scheme(3) First formula calculates directly a limit point
Second formula calculates a limit tangent use cross product to get the normal, n = tu x tv With many subdivisions a model shrinks, a solution might be to increase more vertices at the control mesh