OpenGlobe
A 3D engine for virtual globes (think Google Earth or NASA World Wind) designed to illustrate the engine design and rendering techniques described in our book. OpenGlobe is written in C# and uses OpenGL 3.3 core profile (via OpenTK). See the web site linked below for more information
Install / Use
/learn @virtualglobebook/OpenGlobeREADME
OpenGlobe

Note: OpenGlobe is great for learning along with our book, 3D Engine Design for Virtual Globes. But for a production quality, open source, virtual globe by the same authors (plus more), check out Cesium!
OpenGlobe is a 3D engine for virtual globes (think Google Earth or NASA World Wind) designed to illustrate the engine design and rendering techniques described in our book, 3D Engine Design for Virtual Globes. It is written in C# (with full support for running on Linux using Mono) and uses the OpenGL 3.3 core profile via OpenTK. It is not a complete virtual globe application, but is rather a core engine and a number of runnable examples.
OpenGlobe has the following features and capabilities:
- A well designed (and pragmatic) renderer abstraction making it easier and less error prone to interface with OpenGL.
- WGS84 (and other ellipsoid) globe rendering using tessellation or GPU ray casting.
- Techniques for avoiding depth buffer errors when rendered objects are found at widely varying distances from the camera.
- High-precision vertex rendering techniques to avoid jittering problems.
- Vector data rendering, including reading vector data from shapefiles.
- Multithreaded resource preparation.
- Terrain patch rendering using CPU triangulation, GPU displacement mapping, and GPU ray casting.
- Terrain shading using procedural techniques.
- Whole-world terrain and imagery rendering on an accurate WGS84 globe using geometry clipmapping.
The code (and the book) draw from the authors' real-world experience working on STK, one of the earliest commercial virtual globes. Since it is intended as a learning aid, the code is written in a style that we hope is easy to understand and follow, especially when accompanied by the book.
For information on getting up and running with the code on both Windows and Linux, see the instructions here.
Related Skills
diffs
337.3kUse the diffs tool to produce real, shareable diffs (viewer URL, file artifact, or both) instead of manual edit summaries.
clearshot
Structured screenshot analysis for UI implementation and critique. Analyzes every UI screenshot with a 5×5 spatial grid, full element inventory, and design system extraction — facts and taste together, every time. Escalates to full implementation blueprint when building. Trigger on any digital interface image file (png, jpg, gif, webp — websites, apps, dashboards, mockups, wireframes) or commands like 'analyse this screenshot,' 'rebuild this,' 'match this design,' 'clone this.' Skip for non-UI images (photos, memes, charts) unless the user explicitly wants to build a UI from them. Does NOT trigger on HTML source code, CSS, SVGs, or any code pasted as text.
openpencil
1.8kThe world's first open-source AI-native vector design tool and the first to feature concurrent Agent Teams. Design-as-Code. Turn prompts into UI directly on the live canvas. A modern alternative to Pencil.
HappyColorBlend
HappyColorBlendVibe Project Guidelines Project Overview HappyColorBlendVibe is a Figma plugin for color palette generation with advanced tint/shade blending capabilities. It allows designers to
