2 comments

2

I've made a small c++ library for generating n-dimensional (templated number of dimensions) gradient-noise (similar to Perlin noise) in a style similar to the standard library's random number generator. https://github.com/WesOfX/gradient-noise

0

From wiki:

Perlin did not apply for any patents on the algorithm, but in 2001 he was granted a patent for the use of 3D+ implementations of simplex noise for texture synthesis. Simplex noise has the same purpose, but uses a simpler space-filling grid. Simplex noise alleviates some of the problems with Perlin's "classic noise", among them computational complexity and visually-significant directional artifacts.

This guy's patents have some nice statements:

Expense of generalizing to higher dimensions: The original implementation of Noise was based on a cubic lattice. Moving to higher dimensions causes implementation cost to more than double with each additional dimension, since it requires moving to an n-dimensional hypercube lattice. In hardware, this cost would be measured as a product of gate count and number of successive instruction cycles. For example, the cost of Noise over four dimensions is at least twice the cost of Noise over three dimensions. Quite soon, it will be desirable to extend the standard from 3D Noise to 4D Noise (to account for time-varying volume textures), and thereafter to 5D Noise (to specify textured BRDFs). It is important to address this issue now.

https://www.google.com/patents/US6867776

In non-real time applications, in which perfection of the final result is far more important than is processing budget, such as is the case in the use of Noise for motion picture special effects, it is possible to “fudge” some these artifacts by applying Noise multiple times. For example, the procedural shaders for the scene depicting ocean waves in the recent film “The Perfect Storm” combined about 200 shader procedures, each of which invoked Perlin Noise. In contrast, for real-time applications, where the cost of every evaluation counts, it is crucial that Noise itself be artifact free, that its derivative be directly computable, and that it incur a relatively small computational cost.

He gave a talk this month in Toronto "Ken Perlin's Sanders Series Lecture: The Coming Age of Computer Graphics" https://youtu.be/iWa4t9oa5zw?t=466 after 12:30:

I would say everything is virtual reality. Clothing is virtual reality. We're not wearing clothing in this room right now because of temperature, we actually have fans, so actually the temperature's just fine. We are wearing clothing mostly as a form of communication to each other, and if it's a form of communication that we embody in a technology, it's virtual reality, it's just an older form of virtual reality. And some forms of virtual reality, like clothing, have become so pervasive that we forget that we made them and that they don't exist. To be natural would be to go naked, but in fact if you try to go naked people will arrest you and they'll probably lock you up because they think you're crazy. And if you walk outside without money or without credit cards or anything, well, technically in many cities that's illegal. You're allowed to walk around naked, without money, in your house. That's okay. But you walk into the shared space, there are consensual virtual realities that you are demanded to use. The reason this is important is because everyone is talking about VR like it's new.