forge-vertex-pulling

Replaces SDL3 GPU fixed-function vertex input with storage buffer reads via SV_VertexID.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Replaces fixed-function vertex inputs by programmable vertex fetching from a storage buffer in SDL3 GPU, enabling flexible vertex formats and GPU-driven workflows.

Core Features & Use Cases

  • Uses one storage buffer to feed vertex data via SV_VertexID, eliminating per-format vertex attribute declarations.
  • Supports dynamic vertex formats, mesh variants, and compute-generated vertex data for complex pipelines.
  • Real-world use: render meshes with differing layouts through a single pipeline and leverage indirect drawing for GPU-driven rendering.

Quick Start

Create a project that binds a storage buffer as the vertex source and reads vertex data in the vertex shader using SV_VertexID.

Frequently Asked Questions about forge-vertex-pulling

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

FAQPage Schema
How do I implement vertex pulling in an SDL3 GPU graphics pipeline?

To implement vertex pulling in an SDL3 GPU graphics pipeline, replace fixed-function vertex inputs with storage buffer reads. You do this by binding a storage buffer and configuring a pipeline with zero vertex attributes, allowing the vertex shader to fetch data.

What is programmable vertex fetch and when do I need it in SDL3?

Programmable vertex fetch is the process of reading vertex data from a storage buffer via SV_VertexID. You need it in SDL3 for real-time rendering pipelines with varying vertex formats or GPU-driven vertex assembly workflows.

How do I read vertex data from a storage buffer using SV_VertexID?

You read vertex data from a storage buffer using SV_VertexID by writing a vertex shader that indexes into a StructuredBuffer. This eliminates per-format vertex attribute declarations by dynamically fetching vertex data on the GPU.

Can I render meshes with different vertex formats through a single SDL3 GPU pipeline?

Yes, you can render meshes with different vertex formats through a single SDL3 GPU pipeline. By using programmable vertex fetch via SV_VertexID, the pipeline ignores fixed vertex attributes and dynamically reads varying layouts from a storage buffer.

Does vertex pulling support compute-generated vertex data for indirect drawing?

Yes, vertex pulling supports compute-generated vertex data for indirect drawing. Because the vertex shader reads directly from a storage buffer, it fully enables flexible GPU-driven workflows and complex rendering pipelines.

Why replace fixed-function vertex input with storage buffer reads in SDL3?

Replacing fixed-function vertex input with storage buffer reads enables flexible vertex formats and GPU-driven workflows. It eliminates the need to declare per-format vertex attributes, streamlining pipelines for complex rendering scenarios.