interactive editing and modeling of bidirectional texture functions
Download
Skip this Video
Download Presentation
Interactive Editing and Modeling of Bidirectional Texture Functions

Loading in 2 Seconds...

play fullscreen
1 / 51

Talk PPT21MB - PowerPoint PPT Presentation


  • 276 Views
  • Uploaded on

Interactive Editing and Modeling of Bidirectional Texture Functions. Fr é do Durand MIT – CSAIL. Jan Kautz University College London. Solomon Boulos University of Utah. Introduction. Bidirectional Texture Functions (BTFs) A representation for complex materials [Dana99]

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Talk PPT21MB' - Gabriel


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
interactive editing and modeling of bidirectional texture functions

Interactive Editing and Modeling of Bidirectional Texture Functions

Frédo Durand

MIT – CSAIL

Jan Kautz

University College London

Solomon Boulos

University of Utah

introduction
Introduction
  • Bidirectional Texture Functions (BTFs)
    • A representation for complex materials [Dana99]
    • Collection of textures under many different viewand light directions
      • 6D data structure: 2D spatial, 2D view, 2D light

view: top

light: top

view: top

light: 50º

view: 45º

light: 50º

view: 50º

light: 60º

introduction1
Introduction
  • Bidirectional Texture Functions
    • Usually acquired from real materials, e.g. [Sattler03]
    • Include real-world effects (scattering, occlusions, transparencies, parallax, …)
    • Very realistic

Lamp

Camera

Sample(on robotic arm)

introduction2
Introduction
  • Acquisition of Bidirectional Texture Functions
    • Is very expensive (time, setup, …)
    • University of Bonn BTFs have:
      • 81 view x 81 light images (6561 images)
      • Takes several hours to capture
    • Only 10 publicly available
introduction3
Introduction
  • Acquisition of Bidirectional Texture Functions
    • Is very expensive (time, setup, …)
    • University of Bonn BTFs have:
      • 81 view x 81 light images (6561 images)
      • Takes several hours to capture
    • Only 10 publicly available

Want better return on investment:

 Editing of BTFs

Allows to create variations from single BTF

Create BTF from flat texture

introduction4
Introduction
  • How to edit BTFs?
introduction5
Introduction
  • How to edit BTFs?
    • Everything is baked in
    • No explicit knowledge of
      • BRDFs
      • Geometry
      • Transparencies , etc.
  • Extraction of these properties is
    • Difficult
    • How to support editing of high-level properties
related work
Related Work
  • Most work focuses on
    • BTF Acquisition [Dana99,Sattler03,Koudelka03,…]
    • BTF Rendering/Compression [Sattler03, Meseth04,Vasilescu04,…]
  • Very little on BTF editing
    • Pasting BTFs onto surfaces [Zhou05]
    • Self-similarity-based editing [Dong05]
    • Structural editing of BTFs [Mueller07]
    • BRDF editing [Lawrence06, Colbert06]
our btf editing approach
Our BTF Editing Approach
  • Simple operators
    • Can be applied selectively (with selections)
  • Enables powerful editing: “BTFShop”

VIDEO

our btf editing approach1
Our BTF Editing Approach
  • Philosophy
    • Simple operators → change material appearance
  • Rely on simple aspects of material perception:
    • Contrast ↔ roughness [Koenderink02]
    • Histograms ↔ roughness [Ginneken99, Leung97]
    • Sharpness ↔ subsurface scattering [Fleming04]

→ Enables simple operators to be effective

our btf editing operators
Our BTF Editing Operators

Operators

    • E.g., color manipulation, blur/sharpen
  • Work on certain dimensions
  • The simpler the better
    • Use raw data, avoid big inverse problems
    • Exploit shape information, when appropriate
  • Constrained to user selections
    • E.g., highlight pixels, directional range
overview
Overview
  • Shading
  • Shadowing
  • Geometry
  • Global Effects

Due to time: only highlight one example each

overview1
Overview
  • Shading
  • Shadowing
  • Geometry
  • Global Effects
  • Low-level operators
      • Blur / sharpen
      • Color manipulation
    • Give direct control of simple material properties
      • Shading & roughness
shading changing specularity

lower-frequency

higher-frequency

Shading – Changing Specularity
  • Goal:
  • Specularity relates to frequencies in light-space [Ramamoorthi01]:

blur/sharpen in light-space

Light-dependencefor given view and location

Light-dependencefor given view and location

shading changing specularity results part 1

Original

Blur in Light-Space

Reference

Shading – Changing SpecularityResults – Part 1

(BTF computed from synthetic micro-geometry)

(BTF computed from synthetic micro-geometry)

shading changing roughness
Shading – Changing Roughness
  • Goal: modify roughness

?

shading changing roughness1

Output Intensity

Input Intensity

Shading – Changing Roughness
  • Observation:
    • Distribution of light vs. dark pixels relates to roughness [Pont and Koenderink 02]
  • Distribution can be changed with curve tool
    • User-controlledcurve
    • Remaps input to output intensities
slide19

remappingcurve

BTFShop

Reference

(BTF: )

synthetic micro-geometry

Original

(BTF: )

synthetic micro-geometry

overview2
Overview
  • Shading
  • Shadowing
  • Geometry
  • Global Effects
  • More complex editing operations
    • Requiring selections for effective modification
shadow removal
Shadow Removal
  • Goal:
  • Challenges:
    • How to find shadow areas?
    • How to fill them in automatically?
shadow removal finding shadow areas
Shadow Removal –Finding Shadow Areas
  • User-assisted selection
    • Fully-lit, frontal texture slice: always shadow-free
    • Check ratio of: fully-lit frontal slice / each of light-varying frontal slices
    • If (scaled) ratio < user-threshold: pixel in shadow

/

=

fully-lit, frontal

side-lit, frontal

ratio

thresholdapplied

shadow removal finding shadow areas1

fully-lit, frontal

fully-lit, frontal

side-lit, frontal

side-lit, frontal

ratio

ratio

thresholded

thresholded

Shadow Removal –Finding Shadow Areas

/

=

/

=

shadow removal automatically filling in shadows
Shadow Removal –Automatically Filling in Shadows

Two-stage process

  • Fill in selected areas with data from fully-lit frontal texture (never contains shadows)
  • Adjust average brightness and saturation to match surrounding area
shadow removal automatically filling in shadows3
Shadow Removal –Automatically Filling in Shadows

Shadow Areas Filled In From Fully-Lit, Frontal Texture

shadow removal results

Label

Shadow Removal – Results

Shading is

preserved

Original

Shadows Removed

overview3
Overview
  • Shading
  • Shadowing
  • Geometry
  • Global Effects
  • Now:
    • Editing operator requiring inferred information
geometry parallax

Rendering

(x1,y1)

(x2,y2)

Geometry – Parallax
  • Parallax is common in complex materials
  • Geometric point → different (x,y)
geometry parallax1
Geometry – Parallax
  • Shows up in BTF slices:
  • Consequences:
    • Spatial editing such as painting needs to take it into account
    • Change of geometric structure → warp in texture space

Frontal Slice

Oblique Slice

Frontal Slice

Oblique Slice

Original Height

Increased Height

parallax spatial editing
Parallax – Spatial Editing

Extract Heightfield

(Shape from Shadows)

Unwarp Texture Slices

(Removes Parallax, Aligns Texture Slices)

Spatial Editing

Warp Texture Slices

(Reintroduce Parallax)

parallax spatial editing result
Parallax – Spatial Editing Result

No Correction

Parallax Correction

geometric modification
Geometric Modification
  • Parallax Warp can also be used to impose different geometric structure

Heightfield

local geometric appearance
Local Geometric Appearance
  • Parallax Warp
    • Does not modify underlying shading
  • Bump mapping [Blinn78]: modify local view and light direction

+

=

Diffuse

Heightfield

Bump Mapped

local geometric appearance1
Local Geometric Appearance
  • Use same idea for BTFs
    • Rotate lookup directions w.r.t. heightfield
    • Lookup values with rotated directions
    • Store values again as BTF
local geometric appearance2

Bump Mapped BTF

Bump Mapped + Warped BTF

Local Geometric Appearance

Original BTF

Heightfield

overview4
Overview
  • Shading
  • Shadowing
  • Geometry
  • Global Effects
global effects

BTFShop

Global Effects
  • Asperity Scattering [Koenderink03]
    • “Glow” at grazing angles
    • Simulate using angular selection and curve tool

No Fuzz

(BTF: synth. micro-geo.)

Fuzz – Reference

(BTF: synth. micro-geo.)

overview5

Use to

modifyBTFs

Overview
  • Shading
  • Shadowing
  • Geometry
  • Global Effects
  • More tools / selections: see paper

Edit Albedos

Modify Shadows

Edit Thickness

Edit Subsur. Scat.

overview6

Use to

createBTFs

Overview
  • Shading
  • Shadowing
  • Geometry
  • Global Effects
  • More tools / selections: see paper
modeling of btfs
Modeling of BTFs

Single Texture

BTF Created

modeling of btfs1
Modeling of BTFs

Single Texture

Created BTF

Reference BTF

btfshop system
BTFShop – System
  • Multi-threaded, tile-based architecture with efficient out-of-core caching
  • Visual feedback in ~2s (touch 5% data)
  • Complete BTF (1.6GB data): ~minutes
discussion
Discussion
  • Approach works well for tweaking BTF appearance:
    • Shading, Shadowing, Geometry, and Global Effects
  • Limitations
    • Cannot turn bark into wool
    • Resulting BTFs not physically correct
    • Operators edit one effect at a time
conclusions
Conclusions
  • Simple operators and selections → surprisingly effective
  • Mostly work on raw 6D data
    • Infer properties when necessary
  • BTFShop: out-of-core (6D dataset)
  • BTF
    • Modification
    • Creation from single textures
acknowledgements
Acknowledgements
  • Pete Shirley
  • Mary Williamson and Omari Dennis for PBRT tools
  • Reviewers and referees
  • University of Bonn and UCSD for BTF data
  • NSF Career Award 0447561, Microsoft Research New Faculty Fellowship, and Sloan Fellowship
  • University of Utah Brown Fellowship
  • German Research Foundation Emmy-Noether Fellowship
  • Code will be available at http://btfshop.sourceforge.net
ad