Skip to content

Commit

Permalink
README.md: expand the "examples" section.
Browse files Browse the repository at this point in the history
  • Loading branch information
stephengold committed May 17, 2024
1 parent 09b40b5 commit 8eed9af
Showing 1 changed file with 69 additions and 6 deletions.
75 changes: 69 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -239,29 +239,92 @@ The source code and pre-built libraries are compatible with JDK 8.

## An overview of the example applications

(This section is under construction.)

Applications have been created to test and demonstrate
certain features of Heart.
The following apps are found in the HeartExamples subproject:

### LoopMeshTest

This app demonstrates constructing a regular polygon
using the `LoopMesh` class.

### TestBoundsVisualizer

This app demonstrates visualizing the bounding volume of a geometry
using a `BoundsVisualizer`.

Pressing the "B" key
toggles the bounding volume between a sphere and an axis-aligned box.

### TestContrast

This app demonstrates changing the contrast of a rendered scene
using a `ContrastAdjustmentFilter`.

+ Pressing the NUMPAD4 key reduces the exponent of the filter.
+ Pressing the NUMPAD6 key increases the exponent.

### TestGenerator

This app demonstrates generating pseudo-random vectors and rotations
using a `Generator`.

### TestMergeMeshes

This app demonstrates translating, indexing, and merging meshes
using the `MyMesh` utility class.

### TestMulticolor

This app demonstrates visualizing a mesh with vertex colors
using the "multicolor.j3md" material definitions.

### TestPas

This app demonstrates monitoring the maximum time per frame
using a `PerformanceAppState`.

### TestRotate

This app demonstrates rotation of mesh vertices
using the `MyMesh.rotate()` utility method.

Pressing the Enter key rotates both meshes
to a new, pseudo-randomly chosen orientation.

### TestSkeletonVisualizer

### LoopMeshTest
This app demonstrates visualizing the skeleton of an animated model
using `SkeletonVisualizer`.

Pressing the "." key toggles the animation between paused and running.

### TestSolidMeshes

### TestMergeMeshes
This app demonstrates procedurally generating meshes
using the `Cone`, `Dodecahedron`, `DomeMesh`, `Icosahedron`, `Icosphere`,
`Octahedron`, `Octasphere`, `Prism`, and `Tetrahedron` classes.

### TestContrast
Pressing the "N" key cycles through 6 different test materials.

### TestSubdivide

This app demonstration subdividing a mesh
using the `MyMesh.subdivideTriangles()` utility method.

+ Pressing the Tab key toggles between textured and wireframe materials.
+ Pressing the NUMPAD4 key reduces the number of subdivisions.
+ Pressing the NUMPAD6 key increases the number of subdivisions.

### TestWireframe

This app demonstrates visualizing a mesh as a wireframe
using the `MyAsset.createWireframeMaterial()` utility method.

### TrianglesToLines

This app demonstrates conversion of a triangle mesh to a line mesh.
This app demonstrates converting a triangle mesh to a line mesh
using the `MyMesh.trianglesToLines()` utility method.

[Jump to the table of contents](#toc)

Expand Down

0 comments on commit 8eed9af

Please sign in to comment.