Flowscapes explores the beauty of flow field visualization, brought to life by the enchanting dance of Perlin noise.
Inspired by the iconic palettes of abstract expressionist painter Mark Rothko, Flowscapes takes you on a visual journey.
"Flowscapes: A Journey Through Perlin Noise and Rothko Palettes" #WIP

At the heart of Flowscapes is the intricate interplay between Perlin noise and its ability to create fluid and organic patterns. Perlin noise, a type of procedural noise developed by Ken Perlin, adds a sense of natural randomness and organic flow to the visuals, resulting in a visual experience that is soothing and captivating.

This art project has been in the making for over two years. Prototype now 18m old
We generated batches to fine-tune the various probabilities and called it done (which was not an easy decision, as you always want to add "just one more thing").

Traditionally, NFTs have relied on URIs pointing to external servers or decentralized storage platforms like IPFS or Arweave to host the visual and metadata associated with each unique item. However, the rise of data URIs has revolutionized the way NFT content is stored and accessed, allowing creators to encapsulate all the necessary information within the NFT itself. This shift not only adds a layer of permanence but also eliminates the reliance on external infrastructure to display and preserve the artwork.

At the forefront of this movement is the usage of SVG, a versatile vector image format that can be natively parsed by most web browsers. Storing NFT visuals as SVG within data URIs has opened up new possibilities for artists and collectors to explore dynamic, visually captivating creations directly on the blockchain. By leveraging the limited execution and expensive storage of smart contracts, creators engage in a game of "gas golf," strategically optimizing their code to pack as much artistic expression as possible into the architecture while keeping it cost-effective.

One notable characteristic of onchain SVG projects is their ability to generate images based on the current state stored in the smart contract. When a viewer "calls" the smart contract and triggers the code execution, the artwork is dynamically rendered and displayed. Importantly, this execution does not require a monetary transaction, as it does not modify the state of the contract. Instead, it falls under the category of "calling" the smart contract, enabling viewers to experience the artwork without incurring additional costs.

It is essential to note that although rendering onchain SVG is not entirely "free" in terms of computational resources, as it still requires processing on Ethereum nodes, the costs are often subsidized by dapp providers or hosting services like Infura. The determining factor is the number of requests rather than the size or complexity of the computation. This unique approach ensures that the artwork remains accessible and dynamically generated when viewed.

The Michelin guide to onchain art

❌ ipfs, arweave, or content hash
⭐️ data stored via calldata
⭐️ ⭐️ data stored via sstore. external script necessary to render data
⭐️⭐️⭐️ data stored via sstore. renderer built into contract. outputs svg or data uri