Open source plant generator · MIT

The plants of any place on Earth, grown from code.

Realistic 3D plant models for video games and simulations, MIT licensed so anyone can use them for free. Pick a place. PlantGen gives you the species that really grow there, each written as a small, botanically grounded spec, and grows them on your machine at any age, season and level of detail.

Vascular plant species per botanical country · drag to turn
Places

368 botanical countries. Each with its own flora.

The map uses the botanists' own units (WGSRPD level 3). Hover a region to see how many species grow there and what forms they take. Soon you'll be able to click one to list its plants and download their specs.

fewer speciesmorepilot data · WCVP via Library 1.0 run
Grown, not modelled

No two plants alike. Every spine, plate and petal real.

PlantGen doesn't copy one model across the landscape. It grows every plant from a seed and the conditions around it: light, crowding, wind and weather, and in time browsing, pests and disease. So a hillside of ten thousand oaks is ten thousand different oaks, and every close-up holds up. These are straight out of plantc render.

A velvet mesquite from seedling to snag. It dies at 100 years, then loses its branches one by one.

Leaf litter in development

Plants shed leaves, needles, bark, cones and fruit by season, and PlantGen lays them on the ground as real 3D litter.

Deadwood and logs in development

Dead trees stand as snags, drop their branches, fall as logs and rot into the forest floor over the years.

Damage and disease planned

Storms, browsing, pests and disease leave their marks, so a stand carries its own history.

For developers

A plant is a page of JSON.

// giant-horsetail.json (excerpt)
{
  "id": "equisetum-telmateia",
  "growth_form": "fern",
  "generator": {
    "program": "herb",
    "params": { "stems": 10, "nodes": 18,
                "whorl": 16, "stem_height": 1.2 }
  },
  "growth": { "years": 6, "keyframes": [2, 4, 6] }
}

$ plantc render equisetum-telmateia --age 4 --out horsetail.png
$ plantc lineup carnegiea-gigantea stenocereus-thurberi --seeds 3

Pick a place

A point and a radius, or a botanical country. You get its species, ranked by how common they are.

Download the specs

Filter by growth form, native or introduced, and how complete the spec is. One zip, every licence and credit inside.

Grow them locally

plantc builds meshes at any age, season and detail level, for a static model or a full one that moves in the wind.

Contribute

Help make plants more botanically accurate.

Specs start as drafts written from open data, and each value says where it came from. People make them right. A reviewed spec always outranks a drafted one.

Botanists

Fix a spec

Flag what looks wrong, rate versions against photos, or edit a spec by hand. Your change carries your evidence note.

Researchers

Contribute a dataset

Traits, vegetation plots, forest inventories, phenology records. Open datasets feed the unified species records, and every value they improve cites them.

Photographers

Add photos

Freely licensed photos of a species, credited, become the references its renders are checked against.

Developers

Improve the generator

New growth programs, better leaves and bark, faster meshes. PlantGen is MIT licensed on GitHub.

In a world

See them together in WorldLab.

Project After's WorldLab places PlantGen's species by climate and ground, from forest clearings to alpine grassland.

Library 1.0

100 species from every botanical country

About 35,000 species, each with a full spec, drafted from open data and checked against photos.

0 specs drafted (starts after the move)0 reviewed