The first Gaussian Splatting ever encoded on the blockchain,
fusing 3D scene representation with AI, Computer Vision, and Crypto.
All scenes are permanently sealed onchain.
Witness an Immutable Record of History
Introducing $FOCGS (The First OnChain Gaussian Splatting): a token created to commemorate the first-ever attempt to store 3D scene representation with Gaussian Splatting (GS) data on-chain. This milestone symbolizes a bold step into the emerging intersection of AI x Computer Vision x Crypto.
The developer plans to:
Disclaimers: $FOCGS is purely a meme coin with no utility. DYOR and NFA.
3D Gaussian Splatting (GS)[1] is an innovative technique for 3D scene reconstruction and rendering. It uses 3D Gaussian functions to represent scene elements, encoding both geometric and appearance information. This approach offers a novel way to achieve efficient 3D rendering with applications in real-time graphics and visualization.
Figure 1: Gaussian Splat Representation
Figure 2: Gaussian Densification Scheme
Key characteristics of Gaussian Splatting include:
Gaussian Splatting represents a new direction in 3D rendering techniques, merging advanced computational approaches with practical rendering needs.
[1] Kerbl, Bernhard, Georgios Kopanas, Thomas Leimkuehler, and George Drettakis. "3D Gaussian Splatting for Real-Time Radiance Field Rendering." ACM Transactions on Graphics (TOG) 42 (2023): 1–14.
Further Reading: https://scaniverse.com/news/intro-gaussian-splats
This project marks the first-ever attempt to encode a reconstructed Gaussian Splatting scene on the Solana blockchain, ensuring:
By storing Gaussian Splats on-chain, we create a permanent, accessible repository of 3D scenes that can be easily shared and verified across the network.
But how? Gaussian Splatting typically contains millions of splats to represent a realistic scene, with file sizes exceeding 100MB. This project adopts several techniques to compress and quantize the GS data.
The reconstructed GS data is first split into several small chunks, each containing only a few splats. Note that the Solana Memo Program only accepts data chunks of approximately 500 bytes. These chunks are then quantized into the SPZ format (introduced in [2]), which can reduce the file size by approximately 90%. After that, post-processing (adjusting the degree of Spherical Harmonics, or SH) is applied to further reduce the file sizes. Finally, the chunks of binary data are encoded into ASCII using base64 encoding, which results in a ~33% increase in size.
In our demo on this website, the uncompressed GS contains 667,071 splats with 158MB (which is approximately 165,150,720 bytes). We successfully compressed it to 43MB (approximately 45,056,512 bytes) and separated it into 39,341 chunks, uploading it on-chain by 39,341 transactions.
These transactions can be viewed in the gs_chunks_transactions.txt text file.
[2] Scaniverse, "SPZ: Gaussian Splat Open-Source File Format." Scaniverse News. Available at: https://scaniverse.com/news/spz-gaussian-splat-open-source-file-format.
Below you will witness a groundbreaking achievement:
The scene you're interacting with contains 667,071 Gaussian Splats, compressed and stored across multiple Solana transactions. Each indivisual color you saw represents a chunk of this data, which is retrieved and decoded to reconstruct the 3D scene.
The demo provides several ways to explore and understand how the scene is stored and reconstructed: