Skip to content

Repository files navigation

OpenUSD Raster Plugins

OpenUSD FileFormat Plugins and libraries for raster and grid geospatial data. The project reads GeoTIFF first, through a windowed, transport-independent reader, and authors the result into existing OpenUSD schemas. The initial metadata-to-regular-grid mesh slice is connected for synthetic and small inputs; the specialized libtiff backend handles compressed windows, and the reader reports planning and I/O statistics. A production GDAL adapter is planned as the preferred backend for general raster dataset access and later format expansion.

What it does

  • Reads raster sources through a windowed reader that never requires materializing a whole image to satisfy a bounded request.
  • Keeps georeferencing — CRS, geotransform, pixel anchoring, NoData — explicit at every boundary that converts between pixel, source, and stage-local coordinates.
  • Authors UsdGeomMesh elevation and geospatial metadata through existing OpenUSD schemas, with no custom schema of its own.
  • Implements no transport. Remote access composes at runtime through the active OpenUSD ArResolver.
GeoTIFF -> usdGeoTiff -> RasterGrid -> usdRasterAuthoring -> UsdGeomMesh
                              ^
                              |
                     RandomAccessSource
                              ^
                              |
                    ArAsset / ArResolver  (transport lives here, not here)

usdRasterGdal will implement the same reader contracts. It does not replace resolver transport or expose GDAL types to plugin and authoring layers.

Status

Early. The repository structure, core libraries, GeoTIFF metadata reader, pixel windows including the supported compressed paths, read planning, and the first regular-grid mesh authoring slice are implemented and tested. The v0.2.0 release covers the windowed pixel-read slice. The full mesh argument and conversion surface remain planned.

Milestone Scope Status
0 Repository skeleton, CMake, OpenStrata workspace, CI, docs done
1 Raster core value model, with no OpenUSD done
2 GeoTIFF metadata and a metadata-only FileFormat Plugin in progress
3 Windowed pixel reading done
4 UsdGeomMesh authoring in progress

The task-level record is implementation status; source support is the capability matrix. When a summary disagrees with the implementation, the implementation wins.

Supported formats

Extension Plugin Current support
.tif, .tiff raster-geotiff metadata and initial uncompressed windows - milestones 2-3

.tif and .tiff are shared with non-geospatial TIFF use. The bundle claims them, and a source without usable georeferencing is reported rather than assigned an invented CRS.

Scope boundary

A FileFormat Plugin does not know about transport, and a resolver does not know about formats. That boundary is not negotiable; see ADR-0002.

Repository Owns
usd-raster-plugins Raster formats, raster metadata, CRS/geotransform/NoData interpretation, raster sampling and tiling, raster USD authoring
usd-pointcloud-plugins LAS/LAZ/COPC/PLY, UsdGeomPoints, point tiling and LOD
usd-http-resolver HTTP/HTTPS, Range requests, block cache, transport metrics

Reprojection, vertical datum transformation, raster writing, and renderer-specific material graphs are out of scope; see the roadmap.

Building

The OpenStrata path, against the pinned cy2026 / usd runtime:

ost configure
ost build
ost test

The core lane, which must build and test with no OpenUSD present:

cmake -S . -B build-core -DUSDRASTER_CORE_ONLY=ON
cmake --build build-core
ctest --test-dir build-core

If the core lane stops working, a core library has acquired an OpenUSD dependency, which is invariant 1 of the workspace contract failing. Details are in BUILDING.md.

Documentation

Start at docs/README.md. The reading order for a new contributor is the design policy, the workspace contract, the coordinate model, the reader contract, and then the roadmap.

License

Apache-2.0. See LICENSE, NOTICE, and THIRD_PARTY_NOTICES.md.

About

OpenUSD plugins for geospatial raster data, including GeoTIFF readers, raster processing, and USD authoring.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages