The Ethereum Blockchain now has a 3D rendering engine – Trustnodes
Ethereum is Turing complete, and to prove it, a team has built an entire 3d rendering engine, all on-chain and based entirely on smart contracts.
“You’re kind of using ethereum as your own personal graphics card, which is interesting,” says Ike Smith of Spectra Art.
Spectra Art is “a group of technologists, researchers, scientists and innovators, eager to redefine what is possible in generative art.”
They have built Shackled which renders 3d input into 2d jpeg files using ethereum nodes and the ethereum virtual machine.
“Shackled is based on the work of early graphics pioneers, using technology from nearly 50 years ago (which is more suitable for on-chain implementation today).
In particular, we change versions of Bui Tong Phuong’s [Pho75] and Jim Blinns [Bli77] original 3D rendering and lighting models and use them to create a Solidity version of a simple rendering pipeline inspired by OpenGL [SA99].”
So says the team in an article introducing this development of the first known 3d rendering engine on ethereum. They further say:
“Shackled does not require the use of gas to perform rendering operations. The entire rendering operation is implemented in a read call, thus writing no data to the Ethereum blockchain.”
You can try it yourself, and while it may look strange and complicated from the image above, Smith makes it all easy in a tutorial.
The rendering engine just renders exactly. It doesn’t put the jpeg in the blockchain, but the process is interesting nonetheless.
It is primarily because we are introduced to json, a data programming language that most coders are familiar with, and it is through this type of code that we will talk to the smart contract.
Hand coding that json file is torture. So Smith designs what he wants on Blender, a well-known 3d design software, and then Blender itself translates the image into a json code file where things like color are given in RGB numbers of 000000 or 454545.
We then just insert the Json file and we get the image. The image itself is not on the blockchain, you can only see it on your UI, but the blockchain nodes processed the image, and the development here is that you can use the nodes to do this processing.
But since we have this json file and the nodes could process it, can’t we upload the json code on the blockchain in a tokenized smart contract and now the image itself or the NFT is on the chain?
It’s the potential evolution of this 1970s experiment that somehow brings graphics to crypto the way the internet first moved from words to jpegs.
It wouldn’t mean more need for IPFS, no more right-click storage, but it wouldn’t necessarily address the question of exactly what ownership of open source that anyone can access means.
What does a token associated with some code mean? Well, since ethereum is Turing complete, it can mean anything the coder wants, including in theory that the token gives access to another code that has hidden art, even if it’s hidden in plain sight.
The development in such experimentation therefore seems to continue, and although this is the application of 70s technology to new technology, it is presumably through such an application that we can find both what ethereum is capable of, and exactly what code ownership means.