I want to build an fairly high level shader. Here are initial thoughts on features or passes the shader should have.
0. Vertex Colours (RGB)
1. Color Map (RGB Color, A Illumination)
2. Normal Map
3. Specular Map (RGB Color, A Shininess)
5. Environment Cube Map
The specular map is used for environment mapping, in that the Alpha channel shows which parts of the model will be shiny, and therefore reflect the environment. The RGB channels in the specular map are used to tint the colour of the reflection. The reflected texture should follow the distortions created by the normal map.
Vertex colours are used to tint the model, and will be used for fake ambient lighting effects.
The shader should fallback to using passes 0,1,2 and 3, Then fallback to 0,1 and 2 and finally fallback to 0 and 1 as quality is reduced.
So, you've created a car prefab using WheelCollider components, and now you can apply a motorTorque to make the whole thing move along. ...
I've been working on something new. I get a lot of projects where I have to add multiuser functionality. Finally I've made the jump ...
Some favourite quotes from Ron Jeffries, one of the three founders of the Extreme Programming software development methodology... Often yo...
When you start working with threads in your Unity3D project, you will discover that many things need to be done in the main loop. For exampl...
I've been investigating and learning Go . There is a lot of high quality tools out there, for example: - xo generates types and funct...
I use the var keyword everywhere. Someone told me today that this is a bad practice, because "sometimes you can't tell what type it...
As part of my quest to create amazing procedural spacecraft, I made a greebling tool for Unity. Here are the before and after screengrabs. ...
The NetworkManager instantiates a Player prefab. This is your Player Object. In a two player game, your GameObjects exist conceptually in ...
In my efforts to write a malloc-free network library for Unity3D, I discovered that BinaryReader and BinaryWriter perform malloc operations ...