geometry-dual-contouring

Generate terrain meshes with sharp cliff edges using QEF and Hermite data.

Updated Apr 21, 2026
One-click install
npx skills add https://github.com/gregoryraymond/claude-agents-and-skills --skill geometry-dual-contouring
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: geometry-dual-contouring
Source: https://github.com/gregoryraymond/claude-agents-and-skills/tree/main/skills/geometry-dual-contouring
Command: npx skills add https://github.com/gregoryraymond/claude-agents-and-skills --skill geometry-dual-contouring

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Dual Contouring preserves sharp cliff edges in terrain meshes by placing one vertex per cell using Hermite data and a QEF optimization, avoiding the smoothing typical of marching cubes.

Core Features & Use Cases

  • QEF-based vertex placement per cell to preserve sharp features
  • Octree-based LOD for coastlines and cliff detail
  • Hermite data: intersections and normals
  • Support for crack-free surfaces and adaptive subdivision
  • Rust-friendly implementation considerations

Quick Start

Load a scalar field and normals, accumulate Hermite data per cell, solve QEFs, and assemble the faces into a crack-free quad mesh.

Frequently Asked Questions about geometry-dual-contouring

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How does dual contouring preserve sharp cliff edges in terrain mesh generation?

Dual contouring preserves sharp terrain edges by placing one vertex per cell using Hermite data and QEF optimization, avoiding the smoothing typical of marching cubes. It requires edge intersections and normals to maintain accurate cliff features.

What is the best way to generate crack-free terrain meshes with octree-based LOD?

To generate crack-free terrain meshes, accumulate Hermite data per octree cell, solve QEFs with mass-point bias for stability, and assemble the faces. An optional clamping mechanism keeps vertices inside their cells for adaptive subdivision.

Do I need Hermite data to use dual contouring for coastline terrain modeling?

Yes, dual contouring requires Hermite data, which includes edge intersections and normals, to accurately place vertices and preserve sharp coastline features. You must load a scalar field and normals to accumulate this data per cell.

Why does my QEF solver produce unstable vertex placement during terrain mesh generation?

QEF vertex placement becomes unstable without a mass-point bias for stability. Applying this bias during the QEF solve anchors the vertex placement and prevents erratic floating geometry in your terrain mesh.

Does dual contouring work with Rust for octree-based terrain mesh generation?

Yes, dual contouring supports Rust-friendly implementation considerations for terrain mesh generation. You can load scalar fields, process Hermite data, and solve QEFs to output crack-free quad meshes within a Rust environment.