Resolution Independent NURBS Curves Rendering using Programmable - - PowerPoint PPT Presentation

resolution independent nurbs curves rendering using
SMART_READER_LITE
LIVE PREVIEW

Resolution Independent NURBS Curves Rendering using Programmable - - PowerPoint PPT Presentation

Resolution Independent NURBS Curves Rendering using Programmable Graphics Pipeline Rami Santina CCT International Graphicon 2011 Moscow, Russia September 2011 Motivation Visualize NURBS Curves: Resolution independence Fast


slide-1
SLIDE 1

Resolution Independent NURBS Curves Rendering using Programmable Graphics Pipeline Rami Santina

CCT International

Graphicon 2011 Moscow, Russia September 2011

slide-2
SLIDE 2

R Santina, CCT International - Graphicon 2011 2

Motivation

  • Visualize NURBS Curves:
  • Resolution independence
  • Fast Rendering, and pre-processing.
  • Minimal memory storage.
  • Resolution independent UI and CAD drawing in

a 3D Scene.

  • On embedded devices!
slide-3
SLIDE 3

R Santina, CCT International - Graphicon 2011 3

Background

  • NURBS Curves:
  • Provides additional DoF namely, Weights.
  • Fewer Control Points to describe complex shapes
  • Widely used in CAD.
  • NURBS Visualization:
  • Heavy pre-processing.
  • Common approach: Convert to Bezier data.

(SVG...) - Post Design Visualization

slide-4
SLIDE 4

R Santina, CCT International - Graphicon 2011 4

Related Work

Direct evaluation of nurbs curves and surfaces

  • n the gpu, Krishnamurthy et al. 2007

GPU NURBS Rendering, using textures Resolution Independent, Bezier Curves

Resolution independent curve rendering using programmable graphics hardware, Loop Blinn 2005

Images from referenced authors/papers

slide-5
SLIDE 5

R Santina, CCT International - Graphicon 2011 5

Our Method: Input

  • Set of outlines (shape's boundaries).
  • Vertices are of two types: off-curve, on-curve.
  • Each vertex has x, y, z, w as attributes.
slide-6
SLIDE 6

R Santina, CCT International - Graphicon 2011 6

Our Method: Input

  • Convert curved parts of the outlines to a set of

triplets.

  • Each triplet has one off-curve → curved triangle
  • The inner regions → non-curved triangles.

(Triangulation)

slide-7
SLIDE 7

R Santina, CCT International - Graphicon 2011 7

Modified Delaunay Triangulation.

4 Outlines

3 Loops

For each outline:

  • Triangulation done Independently.
  • No cleanup phase.
  • No extra triangles.
slide-8
SLIDE 8

R Santina, CCT International - Graphicon 2011 8

Rendering – Quadratic Curve

  • Let the control points be:
  • Perform a Triple Knot insertion.

K= [0 0 0 1 1 1]

  • Assign Pi as texture Coordinates to each

curved triangle

slide-9
SLIDE 9

R Santina, CCT International - Graphicon 2011 9

Rendering – Quadratic Curve

  • Derive the implicit form of the curve.
  • Using the implicit function we can check if a

fragment is in (f < 0) or out.

  • Setting P1=[1/2 -1/2] for out, we can always

render in.

slide-10
SLIDE 10

R Santina, CCT International - Graphicon 2011 10

Rendering – Quadratic Curve

  • Each curved triangle can be manipulated using

w1

  • We note that the Curve is Aliased.

Equiv to LoopBlinn2005

slide-11
SLIDE 11

R Santina, CCT International - Graphicon 2011 11

Rendering Regions: Frag. Shader

  • Compute using the chain rule:

where

slide-12
SLIDE 12

R Santina, CCT International - Graphicon 2011 12

Anti Aliasing

  • Compute the signed distance:
  • Classify:
slide-13
SLIDE 13

R Santina, CCT International - Graphicon 2011 13

Anti Aliasing

  • For curved triangles – done.
  • Non curved:
  • MSAA – General Case.
  • VBAA – Two pass rendering
slide-14
SLIDE 14

R Santina, CCT International - Graphicon 2011 14

Implementation - API

  • Part of Jogl Open Source Project!
  • Graph API: RI shapes, Text and User Interface

http://jogamp.org

slide-15
SLIDE 15

R Santina, CCT International - Graphicon 2011 15

Application

  • P&ID visualization: (Desktop & Mobile)

Visual Project Controls http://c3d.com

slide-16
SLIDE 16

R Santina, CCT International - Graphicon 2011 16

Conclusion & Future Work

  • Presented a method for rendering NURBS

curve

  • Resolution Independent
  • Mobile ready! (OpenGL ES2 impl)
  • No heavy preprocessing and memory usage.
  • Future work:
  • Resolution Independent User Interface and UI

Design tool.

  • Resolution independent P&ID viewer
slide-17
SLIDE 17

R Santina, CCT International - Graphicon 2011 17

Thank you!