The CNA Bible
CNA 0.1.0-alpha.1 Edition
The Core Framework, the Graphics Machine, the Ecosystem, the Platforms,
and the Practice
A comprehensive, revision-bounded technical account of CNA — a
C++23 reimplementation of the XNA 4.0 programming model —
and the foundation, content, renderer, and verification projects around it.
Grounded in pinned source code, tests, project records,
and retained verification artifacts.
CNA edition: v0.1.0-alpha.1
1bb2145d99ed572dd4eb15009c34e2e5f410fcf0
2026-08-20
Robert Vokac
2026
Contents
- Preface
- Reading Paths
- Production and Evidence Method
- Part I CNA and Its Ecosystem
- Part II Architecture, Building, and the Framework
- Chapter 4 Configuring and Building CNA
- Chapter 5 Your First CNA Game
- Chapter 6 The Game Lifecycle
- Chapter 7 Math Types and Coordinate Conventions
- Chapter 8 Geometry, Color, Curves, and C++ Value Layout
- Chapter 9 The Module Monorepo
- Chapter 10 Cycles, Umbrellas, Boundaries, and Enforcement
- Chapter 11 Dependencies, Tests, Examples, and Developer Tools
- Part III The Graphics Machine
- Chapter 12 GraphicsDevice and the Rendering Pipeline
- Chapter 13 SpriteBatch and 2D Rendering
- Chapter 14 Textures and Render Targets
- Chapter 15 Stock Effects and Draw Parameters
- Chapter 16 State Objects and Value Semantics
- Chapter 17 Shaders: Four Answers to XNA’s .fx
- Chapter 18 Vertex Streams and Capabilities
- Part IV The Renderers
- Chapter 19 The Renderer Contract
- Chapter 20 Renderer Selection and Identity
- Chapter 21 OpenGL I: The Independent Compatibility Ladder
- Chapter 22 OpenGL II: Programmable, Web, and Portable Profiles
- Chapter 23 Native Modern GPU APIs
- Chapter 24 BGFX, Magnum, LLGL, and Diligent
- Chapter 25 Abstraction Layers II: Sokol, Wicked, and FNA3D
- Chapter 26 DirectX 1–3 and free-direct
- Chapter 27 The Retro Ladder: DirectX 5–8 and Glide
- Chapter 28 Modern Direct3D
- Chapter 29 Windows 2D: Direct2D and GDI
- Chapter 30 2D and Vector Rasterizers
- Chapter 31 Web and DOM Renderers
- Chapter 32 Non-GPU and Diagnostic Renderers
- Part V The Content Pipeline
- Part VI 3D Content: Models, glTF, and Conformance
- Part VII Input, Audio, Media, Devices, Networking, and Services
- Chapter 44 The Input System
- Chapter 45 The Audio System
- Chapter 46 The Media System
- Chapter 47 Sensors and Microsoft.Devices
- Chapter 48 Host Integration through CNA.Devices
- Chapter 49 GamerServices and Local Identity
- Chapter 50 Storage and Persistence Boundaries
- Chapter 51 Networking and Session Semantics
- Chapter 52 Avatar: Faithful Absence and CNAEXT Rendering
- Part VIII sharp-runtime: The Foundation Layer
- Part IX Sibling Foundation Libraries
- Part X Cross-Platform Engineering
- Chapter 61 The Cross-Platform Contract
- Chapter 62 Windows I: Cross-Compiling from Linux
- Chapter 63 Windows II: Wine and Engagement Gates
- Chapter 64 Web I: C++23 to WebAssembly
- Chapter 65 Web II: the Main-Loop Problem
- Chapter 66 Web III: Six Renderers, Four Kinds of Evidence
- Chapter 67 Android and Apple Platform Evidence
- Part XI Testing and Verification
- Part XII Porting, Practice, and the Road Ahead
- Appendix A Core Framework and Graphics API Reference
- Appendix B Renderer Registry, Capabilities, and Evidence
- Appendix C Glossary of XNA and CNA Terms
- Appendix D Repository and Module Map
- Appendix E CNAEXT: Marker and Engine-Layer Catalog
- Appendix F Ecosystem and Platform Reference
- Appendix G Verification Tiers and Oracles
- Appendix H glTF Importer, Runtime, and Test-Evidence Matrix
- Appendix I Experimental Native C API
- Index