Changes

Jump to navigation Jump to search
Hey, look what I found... (thanks @ yuriks for translating!)
The 3DS GPU supports procedural generation of texture data using [[GPU_Textures|texture unit 3]]. Little is known about this feature, albeit a few public hints have been dropped. The contents of this page are solely based on reports on a [http://www.4gamer.net/games/017/G001762/20120822007/ presentation] given by DMP.

== Overview ==
Procedural texture generation has four stages:
* Noise Module
* Repeat Module
* Base Shape
* F(g) and Lookup Table

== Noise Module ==
This stage applies noise on the input coordinates. Little is known about this other than that there are three noise parameters:
* Turbulence (?)
* Frequency
* Phase

== Repeat Module ==
This stage performs basic texture coordinate wrapping on the noised coordinates. It supports symmetric and mirrored wrapping. They don't seem to be configurable beyond that.

== Base Shape ==

The U’’ and V’’ coordinates are used to generate a scalar value in the range [0;1] from the wrapped coordinates using one of six functions:
* ADDSQRT2: sqrt(U’’*U’’+V’’*V’’) (?)
* U’’: U’’ (discards V’’)
* V’’: V’’ (discards U’’)
* MIN: min(U’’,V’’)
* MAX: min(U’’,V’’)
* ADD: U’’+V’’

The output of this function is named "g".

== F(g) and Lookup Table ==

F is a selectable function which transforms g to another scalar value. There are two known options for F:
* the identity function
* a triangle function

The final texel color is determined by using the value of F(g) as an index into a configurable lookup table.
549

edits

Navigation menu