20
R. Berndt, Web3D 2005, 3 0.03.05 1 Computer Graphics, TU Braunschweig Generative 3D Models A Key to More Information within Less Bandwidth at Higher Quality René Berndt, Dieter W. Fellner, Sven Havemann Computer Graphics, TU Braunschweig, Germany

C omputer G raphics, TU Braunschweig R. Berndt, Web3D 2005, 30.03.051 Generative 3D Models A Key to More Information within Less Bandwidth at Higher Quality

Embed Size (px)

Citation preview

Page 1: C omputer G raphics, TU Braunschweig R. Berndt, Web3D 2005, 30.03.051 Generative 3D Models A Key to More Information within Less Bandwidth at Higher Quality

R. Berndt, Web3D 2005, 30.03.05 1Computer Graphics, TU Braunschweig

Generative 3D ModelsA Key to More Information within Less Bandwidth at Higher Quality

René Berndt, Dieter W. Fellner, Sven Havemann

Computer Graphics, TU Braunschweig, Germany

Page 2: C omputer G raphics, TU Braunschweig R. Berndt, Web3D 2005, 30.03.051 Generative 3D Models A Key to More Information within Less Bandwidth at Higher Quality

R. Berndt, Web3D 2005, 30.03.05 2Computer Graphics, TU Braunschweig

Why another 3D format?

Apparent structural similarity Can not be expressed by

primitive-based representations IFS, NURBS, ...

Procedural models deserve aprocedural representation

Page 3: C omputer G raphics, TU Braunschweig R. Berndt, Web3D 2005, 30.03.051 Generative 3D Models A Key to More Information within Less Bandwidth at Higher Quality

R. Berndt, Web3D 2005, 30.03.05 3Computer Graphics, TU Braunschweig

Procedural Low-Level Format

Procedural model representation must be programming language

Shape modeling becomes programming Code generation problem:

Models only through manual coding? emacs not ideal for creating 3d objects

Idea: have a look at what works well in 2D

Page 4: C omputer G raphics, TU Braunschweig R. Berndt, Web3D 2005, 30.03.051 Generative 3D Models A Key to More Information within Less Bandwidth at Higher Quality

R. Berndt, Web3D 2005, 30.03.05 4Computer Graphics, TU Braunschweig

The GML Language Similar to Adobe’s PostScript

Printer executes program, bitmap is side effect The “invisible” programming language Postscript Language Reference (“Redbook”):

Chapter 3 “Language”, pp. 24-56 But GML is for 3D, not for 2D Purpose: “Smallest common denominator” for the

description of procedural 3D models – and data Just as triangles are for the description of surfaces

Outstanding feature: Simplicity facilitates code generation

Page 5: C omputer G raphics, TU Braunschweig R. Berndt, Web3D 2005, 30.03.051 Generative 3D Models A Key to More Information within Less Bandwidth at Higher Quality

R. Berndt, Web3D 2005, 30.03.05 5Computer Graphics, TU Braunschweig

Literals are pushed on the stack Operators pop items from the stack, process them,

and push the result back on the stack

Principle of HP pocket calculators: No brackets Arrow notation: 2 3 mul 4 add 10

Reminder: Stack-based Language

2 3 mul 4 add2 3 mul 4 add 22 3 mul 4 add 32

2 3 mul 4 add 62 3 mul 4 add 46

2 3 mul 4 add 10

Program

Stack

Page 6: C omputer G raphics, TU Braunschweig R. Berndt, Web3D 2005, 30.03.051 Generative 3D Models A Key to More Information within Less Bandwidth at Higher Quality

R. Berndt, Web3D 2005, 30.03.05 6Computer Graphics, TU Braunschweig

Underlying Shape Representation

Paradigm shift: From Objects to Operations

Problem: Shape generating functions for meshes?

Problem: Model re-generated at interactive rates

20 models/sec no preprocessing possible Problem:

Triangle meshes too many degrees of freedom NURBS also: regular grid limitation

Page 7: C omputer G raphics, TU Braunschweig R. Berndt, Web3D 2005, 30.03.051 Generative 3D Models A Key to More Information within Less Bandwidth at Higher Quality

R. Berndt, Web3D 2005, 30.03.05 7Computer Graphics, TU Braunschweig

Euler operatorsi. Each Euler operator maintains

topologic consistency

ii. Every 2-manifold mesh of any genus can be built

Closed and sufficient set of shape construction operators

Mesh access exclusively through halfedges

Euler operators are invertible: mandatory for undo/redo 20 models per second

Page 8: C omputer G raphics, TU Braunschweig R. Berndt, Web3D 2005, 30.03.051 Generative 3D Models A Key to More Information within Less Bandwidth at Higher Quality

R. Berndt, Web3D 2005, 30.03.05 8Computer Graphics, TU Braunschweig

Combined B-Reps

Page 9: C omputer G raphics, TU Braunschweig R. Berndt, Web3D 2005, 30.03.051 Generative 3D Models A Key to More Information within Less Bandwidth at Higher Quality

R. Berndt, Web3D 2005, 30.03.05 9Computer Graphics, TU Braunschweig

Page 10: C omputer G raphics, TU Braunschweig R. Berndt, Web3D 2005, 30.03.051 Generative 3D Models A Key to More Information within Less Bandwidth at Higher Quality

R. Berndt, Web3D 2005, 30.03.05 10Computer Graphics, TU Braunschweig

Layered Software Architecture

Catmull/Clark surfaces

BRep meshes

Euler operators

GML

Exp

licit

dat

a

Abs

trac

tion

GPU

Page 11: C omputer G raphics, TU Braunschweig R. Berndt, Web3D 2005, 30.03.051 Generative 3D Models A Key to More Information within Less Bandwidth at Higher Quality

R. Berndt, Web3D 2005, 30.03.05 11Computer Graphics, TU Braunschweig

Name simple objects to make them parameters

Create combined objects Line [ p0 p1 ] Polygon [ p0 p1 p2 p3 p4 ] Circle mid rad nrml Circle segment [ a m b ] nrml

GML 3D Basics

/nrml (1,0,0) def Variable name (0,0,1) !nrml Register :name

Page 12: C omputer G raphics, TU Braunschweig R. Berndt, Web3D 2005, 30.03.051 Generative 3D Models A Key to More Information within Less Bandwidth at Higher Quality

R. Berndt, Web3D 2005, 30.03.05 12Computer Graphics, TU Braunschweig

Circle Segment to Polygon

[ (1,0,0) start (0,0,0) mid (1,1,0)] end (0,0,1) normal20 1 circleseg

(1,0,0)

(1,1,0)

(0,0,0)

Page 13: C omputer G raphics, TU Braunschweig R. Berndt, Web3D 2005, 30.03.051 Generative 3D Models A Key to More Information within Less Bandwidth at Higher Quality

R. Berndt, Web3D 2005, 30.03.05 13Computer Graphics, TU Braunschweig

Circle Intersection

(0,0,0) (0,0,1) 1.0 12 circle(1,0,0) (0,0,1) 1.2 12 circle(just to show crude circles)

(0,0,0) 1.0(1,0,0) 1.2(0,0,1) intersect_circles

Page 14: C omputer G raphics, TU Braunschweig R. Berndt, Web3D 2005, 30.03.051 Generative 3D Models A Key to More Information within Less Bandwidth at Higher Quality

R. Berndt, Web3D 2005, 30.03.05 14Computer Graphics, TU Braunschweig

The Pointed Arch

(-1,0,0) !ml(1,0,0) !mr1.5 !rad(0.5,0,0) !pr(-0.5,0,0) !pl

:ml :rad:mr :rad (0,0,1) intersect_circles!pt pop

ml mr

pt

prpl

Page 15: C omputer G raphics, TU Braunschweig R. Berndt, Web3D 2005, 30.03.051 Generative 3D Models A Key to More Information within Less Bandwidth at Higher Quality

R. Berndt, Web3D 2005, 30.03.05 15Computer Graphics, TU Braunschweig

The Pointed Arch

[ :pr :ml :pt ] (0,0,1) 5 1 circleseg[ :pt :mr :pl ] (0,0,1) 5 1 circlesegarrayappend

[ (-0.5,-1,0) dup (0.5,-1,0) dup ] arrayappend

ml mr

pt

prpl Operator chaining:output input

Stack flexible

Page 16: C omputer G raphics, TU Braunschweig R. Berndt, Web3D 2005, 30.03.051 Generative 3D Models A Key to More Information within Less Bandwidth at Higher Quality

R. Berndt, Web3D 2005, 30.03.05 16Computer Graphics, TU Braunschweig

Conversion to a mesh

Mesh modeling toolswork on halfedges

Position in a mesh:(vertex,edge,face)

Mesh halfedgesare built-in GML type

5 poly2doubleface(0,0.4,5) extrude

Page 17: C omputer G raphics, TU Braunschweig R. Berndt, Web3D 2005, 30.03.051 Generative 3D Models A Key to More Information within Less Bandwidth at Higher Quality

R. Berndt, Web3D 2005, 30.03.05 17Computer Graphics, TU Braunschweig

Power of Procedural Modeling

Page 18: C omputer G raphics, TU Braunschweig R. Berndt, Web3D 2005, 30.03.051 Generative 3D Models A Key to More Information within Less Bandwidth at Higher Quality

R. Berndt, Web3D 2005, 30.03.05 18Computer Graphics, TU Braunschweig

GML over the internet GML models are

typically lean Cathedral:

20 KB zipped

Browser plugins ActiveX Mozilla Plugin

JavaScriptinterface is lean

load call

Page 19: C omputer G raphics, TU Braunschweig R. Berndt, Web3D 2005, 30.03.051 Generative 3D Models A Key to More Information within Less Bandwidth at Higher Quality

R. Berndt, Web3D 2005, 30.03.05 19Computer Graphics, TU Braunschweig

GML Projects

ActiveGML: Internet delivery of life models Kölner Dom project file://lowangen/Web3D/DemoPage/testpage.htm

Inverse Problem: Shape recognition PROBADO project (DFG Leistungszentrum) file://lowangen/Web3D/Probado/ProbadoSearch.htm

Other shape representations: world brushes… EPOCH NoE – cultural heritage

GML + OpenSG

Page 20: C omputer G raphics, TU Braunschweig R. Berndt, Web3D 2005, 30.03.051 Generative 3D Models A Key to More Information within Less Bandwidth at Higher Quality

R. Berndt, Web3D 2005, 30.03.05 20Computer Graphics, TU Braunschweig

Thank You for Your Attention!

Any Questions or Remarks?

www.generative-modeling.org