GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com β€” GitHub - flywave/flywave.gl: flywave.gl is an open-source 3D map rendering engine built with TypeScript. This project adopts a modular monorepo architecture, aiming to provide a high-performance, scalable, and modular 3D map rendering solution.

BranchesTags
Open more actions menu

Latest commit

 

History

105 Commits
105 Commits

Folders and files

NameName
Last commit message
Last commit date
.github/workflows
.github/workflows
 
 
@flywave
@flywave
 
 
docs
docs
 
 
scripts
scripts
 
 
test
test
 
 
.eslintignore
.eslintignore
 
 
.eslintrc.json
.eslintrc.json
 
 
.gitignore
.gitignore
 
 
.nycrc
.nycrc
 
 
.ort.yml
.ort.yml
 
 
.prettierignore
.prettierignore
 
 
.prettierrc.json
.prettierrc.json
 
 
CONTRIBUTING.md
CONTRIBUTING.md
 
 
CONTRIBUTING.zh.md
CONTRIBUTING.zh.md
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 
README.zh.md
README.zh.md
 
 
codecov.yml
codecov.yml
 
 
karma.conf.js
karma.conf.js
 
 
lerna.json
lerna.json
 
 
package.json
package.json
 
 
pnpm-lock.yaml
pnpm-lock.yaml
 
 
pnpm-workspace.yaml
pnpm-workspace.yaml
 
 
puppeteer-config.json
puppeteer-config.json
 
 
tsconfig.base.json
tsconfig.base.json
 
 
tsconfig.json
tsconfig.json
 
 
tsconfig.karma.json
tsconfig.karma.json
 
 

Repository files navigation

🌍 Flywave.gl

CI Code Coverage License NPM Version Twitter

An open-source 3D map rendering engine built with TypeScript

Creating high-performance, scalable 3D map visualization solutions using WebGL and Three.js

πŸ‡¨πŸ‡³ δΈ­ζ–‡η‰ˆζœ¬ β€’ πŸ“š Documentation β€’ 🎯 Examples


🌟 Overview

flywave.gl is an open-source 3D map rendering engine built with TypeScript. This project adopts a modular monorepo architecture, aiming to provide a high-performance, scalable, and modular 3D map rendering solution.

πŸ”§ Key Capabilities

  • 🌍 Visually Appealing 3D Maps - Create immersive map experiences using WebGL technology
  • 🎨 Dynamic Visualizations - Based on the popular three.js library
  • 🎨 Thematic Maps - Supports multiple map styles and themes with dynamic switching
  • ⚑ High-performance Rendering - Parallelizing CPU-intensive tasks with Web Workers
  • πŸ”§ Modular Design - Modules and data providers can be swapped as needed

πŸ“Έ Showcase

3D Globe Terrain Atmosphere
Controls Post-processing Animation
Planar 3D Tiles Drawing
New Feature 1 New Feature 2 New Feature 3

πŸš€ Getting Started

πŸ“‹ Prerequisites

Tool Version Check Command
Node.js >= 22.15.0 node --version
pnpm >= 9.0.0 pnpm --version

πŸ› οΈ Installation

There are two ways to install flywave.gl:

Direct npm Installation (Recommended for projects)

# Using npm
npm install @flywave/flywave.gl

# Using pnpm (recommended)
pnpm add @flywave/flywave.gl

From Source (For development)

# Clone repository
git clone https://github.com/flywave/flywave.gl.git
cd flywave.gl

# Install dependencies
pnpm install

# Start development server
pnpm start
# Visit: http://localhost:8080/

πŸ“¦ Building for Production


🎯 Core Features

  • πŸš€ High-performance Rendering: Achieve smooth 3D map rendering using WebGL and modern graphics technology
  • πŸ”§ Modular Design: Select and combine different functional modules as needed
  • 🎨 Extensible Themes: Support dynamic switching and customizing map themes
  • πŸ—ΊοΈ Multi-data Source Support: Support various map data source formats
  • πŸ–±οΈ Rich Interactive Features: Provide complete map interaction and control functions
  • 🌍 Multiple Projection Methods: Support spherical, planar, and ellipsoid projections
  • πŸ”οΈ Terrain Support: Built-in Digital Elevation Model (DEM) support

πŸ’‘ Usage Examples

Basic Map with Data Source

import { 
    MapView, 
    GeoCoordinates, 
    MapControls, 
    sphereProjection,
    ArcGISWebTileDataSource 
} from "@flywave/flywave.gl";

// Initialize map view
const mapView = new MapView({
    projection: sphereProjection,
    target: new GeoCoordinates(39.9042, 116.4074), // Beijing coordinates
    zoomLevel: 10,
    canvas: document.getElementById("mapCanvas")
});

// Create data source
const webTileDataSource = new ArcGISWebTileDataSource();

// Add data source to map
mapView.addDataSource(webTileDataSource);

// Add controls for user interaction
const mapControls = new MapControls(mapView);

πŸ“š Resources

Resource Description Link
πŸ“– Documentation API docs, tutorials, best practices flywave.github.io/flywave.gl/docs
🎯 Examples Functional examples, code snippets flywave.github.io/flywave.gl/examples
🏠 Website Project homepage, latest news flywave.github.io/flywave.gl
πŸ› Issues Bug reports, feature suggestions GitHub Issues
πŸ’¬ Discussions Technical exchanges, usage help GitHub Discussions

🀝 Contributing

We welcome contributions from the community! Please read our Contributing Guide (δΈ­ζ–‡η‰ˆ) to get started.

  • Fork the repository
  • Create a feature branch
  • Commit your changes
  • Push to the branch
  • Open a pull request

πŸ“„ License

Copyright Β© 2022-2025 Flywave Project Authors

Licensed under the Apache License, Version 2.0.


Made with ❀️ by the Flywave Community

Stars Forks

About

flywave.gl is an open-source 3D map rendering engine built with TypeScript. This project adopts a modular monorepo architecture, aiming to provide a high-performance, scalable, and modular 3D map rendering solution.

flywave.github.io/flywave.gl/

Topics

3d3d-globe3dtiles3dtiles-nextgeospatialgismvtterrain-renderingthreejswebgl

Resources

Readme
Apache-2.0 license

Contributing

Contributing
Activity
Custom properties

Stars

33 stars

Watchers

1 watching

Forks

11 forks
Report repository

Releases

Packages

Contributors

Languages

You are visitor 01402503 β€” GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800Γ—600. No cookies required.