- General components in the Unity rendering workflow are models (vertex data), textures, and shaders
- Support for surface as well as vertex + fragment shaders
- Uses “Unity-ized” CG/HLSL (High-Level Shading Language)
- Implements a “tag Queue” to provide some control over rendering order
Catlike Coding - Rendering Part 2
- Object is drawn if a portion of its bounding box lies within the view frustum of the camera
- Shader is compiled per target platform, as each platform (e.g. Windows vs Android) uses a different graphics API (DirectX versus OpenGL although there are some exceptions)
- Unity has some predefined files (such as UnityCG.cginc or UnityShaderVariables.cginc) that can be included in a custom shader
- Vertex shader has to output a vertex, and Fragment shader has to output a color
- White noise is essentially pixels that are independent of each other, which is not very useful overall
- Perlin noise can be created in many dimensions
- Produces continuous and organic looking noise
- Includes a concept of octaves in that additional noise can be added (with some modifications to the calculation) to the “base”
- A shape that has infinite detail, sometimes self-similar i.e. zooming in reveals the same shape
- In some cases these shapes can be created through significant (infinite really, but for computing have to limit to significant) iterations of a process
- Fractal dimension is not a whole number like 2D or 3D
- There are various approaches to measuring fractal dimension, such as Hausdorff dimension
Book - CG Programming in Unity
Repo - awesome creative coding
>> Home