Skip to content

Implementation of "Creating and Rendering Convolution Surfaces" (1998) in Java

Notifications You must be signed in to change notification settings

danwinkler/ConvolutionSurface

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ConvolutionSurface

Java Implementation of convolution primitives from "Creating and Rendering Convolution Surfaces" (1997), by Jon McCormack and Andrei Sheerstyuk. Currently only the only primitives supported are line segments and triangles.

Includes functions for:

  • Generating scalar fields from list of primitives
  • Generating triangles from scalar fields using marching cubes

Example:

ArrayList<Primitive> prims = new ArrayList<>();
prims.add( new LineSegment( new Vector( 0, 0, 0 ), new Vector( 1, 1, 1 ), 10f ) );
Field field = FieldGenerator.getField( prims, new Vector( -1, -1, -1 ), new Vector( 2, 2, 2 ), .02f );

MarchingCubesPolygonizer mcp = new MarchingCubesPolygonizer();
ArrayList<Triangle> tris = mcp.polygonize( field, .1f );

References

  1. Mccormack, Jon, and Andrei Sherstyuk. "Creating and Rendering Convolution Surfaces." Computer Graphics Forum 17.2 (1998): 113-20.

About

Implementation of "Creating and Rendering Convolution Surfaces" (1998) in Java

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages