forge-procedural-geometry

Generate parametric 3D shapes with forge_shapes.h for GPU upload.

36|6|Updated Mar 25, 2026
One-click install
npx skills add https://github.com/Nebulavenus/forge-gpu --skill forge-procedural-geometry-nebulavenus
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: forge-procedural-geometry
Source: https://github.com/Nebulavenus/forge-gpu/tree/main/.claude/skills/forge-procedural-geometry
Command: npx skills add https://github.com/Nebulavenus/forge-gpu --skill forge-procedural-geometry-nebulavenus

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Generate and render procedurally created 3D shapes using forge_shapes.h, enabling fast iteration of geometry without manual mesh creation.

Core Features & Use Cases

  • Generate a variety of parametric shapes (sphere, icosphere, cylinder, cone, torus, plane, cube, capsule) with a struct-of-arrays layout for efficient GPU upload.
  • Use the included example snippets to bind vertex buffers and render shapes in a single render pass across multiple shapes.

Quick Start

Generate a sphere using forge_shapes_sphere(32, 16) and upload its buffers to the GPU.

Frequently Asked Questions about forge-procedural-geometry

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

FAQPage Schema
How do I generate procedural 3D shapes for GPU rendering?

Procedural 3D shapes for GPU rendering are generated by calling parametric functions like forge_shapes_sphere(32, 16). This produces geometry in a struct-of-arrays layout, enabling fast iteration of shapes without manual mesh creation for efficient GPU upload.

What is the struct-of-arrays layout used for procedural geometry buffers?

The struct-of-arrays layout used for procedural geometry buffers separates vertex attributes into individual continuous memory blocks. This format enables efficient GPU upload by allowing direct binding of position, normal, and other attribute buffers in a single render pass across multiple shapes.

How do I set up forge_shapes.h to generate parametric shapes in a C project?

Set up forge_shapes.h to generate parametric shapes in a C project by defining FORGE_SHAPES_IMPLEMENTATION in exactly one .c file. This single implementation paradigm enforces a clear workflow for binding vertex buffers and drawing ready-to-render geometry.

Can I create multiple parametric shapes like spheres and capsules for real-time graphics demos?

You can create multiple parametric shapes like spheres, capsules, cylinders, cones, tori, planes, cubes, and icospheres for real-time graphics demos. The included example snippets demonstrate binding vertex buffers to render these shapes in a single render pass.

Why must I define FORGE_SHAPES_IMPLEMENTATION in only one C file?

Defining FORGE_SHAPES_IMPLEMENTATION in only one C file enforces a single implementation paradigm per project. This prevents duplicate symbol errors during compilation while still allowing other source files to access the procedural shape generation function declarations through the header.

Does this procedural geometry generation approach work without external dependencies?

This procedural geometry generation approach works without external dependencies as a standalone header library. It provides clear buffer binding and drawing workflows to output ready-to-render parametric shapes directly within your existing graphics pipeline.