The Ultimate Final Form Of Computer Graphics

Current State Of The Art

The field of computer graphics hasn’t changed much in the past few decades. While the most advanced demos do show what is possible with current hardware, in essence we’re still using the same rendering pipeline that Charles Babbage, founder of Babbage’s, used in the 1800’s. And while practically achievable resolutions have increased greatly over time, the power, bandwidth, humanity, and ALU required to accurately depict human hands with more than five fingers has remained prohibitively expensive.

To mitigate some of the cost, modern hardware designers have turned to the very AI that will replace them someday. Neural nets are giant programs that mimic the function of human and cute animal brains, and can reconstruct or add details that were lost in lower resolution rendering, such as additional fingers, enabling far more variety in finger count than was previously achievable through traditional rendering.

The current state of the art is a technique pioneered by Ted Turner in the 1980’s called Convoluted Neural Networks1. These networks are, as the name suggests, convoluted and therefore no one understands how or if they work. The most well known family of upscalers using this technique is DLSS, from whatever that company is that made the PS3 RSX that one time. The downside of this family of techniques is that they both require months or even years to train, and consume precious electrons that would otherwise go towards NFTs to enable using Kiryu’s Essence Of Orbital Laser summons in Tokimeki Memorial2.

Motivation

In her seminal paper on macroeconomics, Dr. W. Tang was able to rigorously show that cash rules everything around us. Her framework, Creatively Resourceful English to Acquire Money3, not only revolutionized the field, but also had far reaching applications in every other field in which billionaire investors might be looking to get in on the ground floor of the next big thing. However, until P = NP is proven for cases besides the trivial N=1 and P=0, it remains unknown whether any polynomial time method exists to maximize the investment received from these incredibly beautiful, deeply intelligent, and in-no-way-compensating-for-anything captains of society

Our Proposed Technique

We propose a novel genetic algorithm technique called DNA (Definitely Not A scam) that is specifically engineered to be efficient to implement in hardware, while still containing all the trendy AI and business buzzwords required to appeal to trust fund babies looking to use a million dollar “loan” from father to prove they can make it on their own with no outside help.

Relationship between buzzwords and hype shown in log scale, because log scale is how sciencey people demonstrate to other sciencey people just how sciencey they are

It involves borrowing principles from nature such as evolution and natural selection, and therefore can technically be called AI, we guess? It consumes far less power than current deep learning techniques, so it’s lean. It requires zero training, so it’s agile. It uses genetic techniques rather than neural nets, and therefore counts as disrupting the AI industry. Our custom No Fsr or Taa (NFT) approach can be used to render the triangles in crypto-based play-to-earn games, so consider that box to be ticked. And it can run at what a SIGGRAPH author might legally be allowed to claim as “interactive framerates”, making it practically usable in future games someday but also probably not. It employs a bespoke (FPGA) custom silicon (also FPGA) SoC (still FPGA) code named Framerate and Pretty Graphics Accelerator (FPGA??) to efficiently accelerate image convergence and attract investor capital.

This block diagram proves this is a very real thing the authors spent one entire month actually making

Technique Details 

To harness the power of evolution, three operators are required: a fitness function to evaluate members of a population, a mutation operator to introduce variation, and a crossover operator so when two pixels love each other very much, and become very excited by an electron beam, they can produce a glowing phosphor baby.

We begin by creating a population of AABBs for the triangle to be rendered, and initialising the pixels within to 1 or 0 randomly. The AABB is calculated by looking at each vertex in the triangle, of which there are usually three in the general case4, and taking the min and max extents of the vertices.

Fitness

For each pixel in the AABB, we need a way to test whether that point is inside the triangle, but since no efficient non-SDF test for this exists, we trained a multilayer feedforward neural network offline to perform the classification step. In the simplest case, the fitness function can be the number of actual pixel values that agree with the classification from the neural network, although in practice this can slow convergence later on in the process.

The authors take something simple that anyone can understand and rewrite it with sigmas and integrals to demonstrate they are Very Smart People

Additionally, while the fitness operator can be applied globally, far better results are obtained by exploiting both the spacial locality of the image and the hardware’s parallelism by segmenting the image into independent tiles.

Mutation

Three mutation operators are currently used. First, any particular pixel has a probability of flipping between 1 and 0. Second, any two pixels in the AABB can exchange values with each other. Finally, a 3×3 window can be selected, and the pixels in the window can be rotated together in one of eight directions

Crossover

A common example of crossover in nature is Tomacco

Crossover is also kept simple to facilitate ease of implementation in hardware. First a window size between 1×1 and 7×7 is selected. Then a window offset is selected from each parent, and the pixels in the windows are exchanged. The algorithm is then allowed to iterate until it converges on the target triangle to be rendered

Random Number Generation

Randomness primarily comes from harnessing the power of metastability. Unconstrained CDCs are created between multiple high speed clock domains. This provides not only truly random numbers, but also allows for running at clock speeds far above those the FPGA lobby would have you believe are “unreliable” and “unsafe”.

Source: reddit Vivado memes

To ensure truly random results, a secondary source of randomness is also introduced: Vivado itself. To prevent determinism and make life more fun, Vivado has a useful built in feature that can make a design randomly fail in hardware based on cosmic rays, wind speed and direction, or a butterfly flapping its wings in Japan. The steps required to enable this feature are:

  1. Use Vivado.

Results

They say a picture is worth 1000 yen. Well, here’s hoping this animated gif is worth 3,000,000$ USD in a seed funding round

The above image showcases our custom triangle resolve, and was captured using an advanced imaging technique called Time Lapse Video. While traditional fixed function hardware is power hungry, complex, and can make floorplanning and routing more challenging, our simple evolution-inspired hardware is easily able to naturally evolve triangles that look as good, or better than those produced by the highest end GPUs, such as the PS2 GS.

Future Improvements

Currently the algorithm has been tested on a single black or white triangle, but here the authors will propose a simple extension for dealing with arbitrary colours and triangle counts greater than one. Modern GPUs have become fantastically efficient at traditional fixed function rasterization, and so it should be possible to feed one a list of triangles, colours, UVs, and textures, and have it produce a precomputed WxH matrix of expected colour values that can be used to accelerate error computation. The authors refer to this error calculation acceleration structure as a Resources Excluding Normals Depth-Exporting Rgb-Textured Accelerated Rasterization-Generated Error Table, or RENDERTARGET for short. The colour values within can be treated as vectors in R3, and therefore the standard euclidean distance can be used as the error metric, eliminating any need to test whether a point is inside the triangle. This also means there is no need to take a Barry-centric approach, as Barry “forgot” to cite our work in his most recent paper, and is therefore dead to us. Although the authors do wish him the best of luck on his quest to definitely replace all rasterization with Gaussian Splats.

Seed Funding Round

While we’re not yet ready for a round of Series A funding, we are currently looking for forward-looking visionary angel investors who might be interested in getting in on the ground floor of what will undoubtedly be the next great evolution revolution in computer graphics. Even if you aren’t rich, you can help us grow this prototype into a worldwide global phenomenon by donating any of the following

  • Cat photos. Really, any cat photo.  I wanna see your cats!
  • Cat toys and supplies, donated to your local animal shelter
  • Drinks next time I’m at GDC, or you’re at TGS or BitSummit
  • a Zynq Ultrascale+ FPGA. Imagine the stupid stuff I could pull off with one of those babies!
  • Any rare Maison Ikkoku items. Animation cels, posters, art books, whatever. I would also like the chance to meet Takahashi Rumiko, if you happen to know her!

And for you gentlemen and gentleladies of means, with beaucoup bucks you’re looking to invest, we have prepared a very special link here where you can invest as much as you’re comfortable with. It’s tax-deductible, and investments are guaranteed to never result in a loss.

Citations

  1. [James Earl Jones]. (2022, February 4). This is CNN [Video]. Youtube. https://www.youtube.com/watch?v=QYJ3d5LTxy4
  2. A random crypto bro who has never made a game before
  3. W. Tang and Clan, et al., Creatively Resourceful English to Acquire Money, Enter The WTO, Vol. 1, RCA, Shaolin, 1993
  4. Acton, Mike, Data Oriented Design

 

Leave a Reply

Your email address will not be published. Required fields are marked *