Skip to content

Latest commit

 

History

7 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

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

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages