Lerp

Linear Interpolation It would commonly take in 3 scalar or 2 vector and a scalar, and return the result of the formula x + s(y-x). Gameplay I often find this function useful for cheap generation of points along a relatively straight line. It is also very useful to...

Optimising Shaders

I am using HLSL shader model 3, but this article should apply to other languages and shader models. It is Good to MAD One of the most basic optimisation is to use mad operation, which is to multiply 2 values and add a third value to the result. This is two...

Playing with NormalMap

Combining tangent space normal map is different from combining normal images. Here are some ways to combine two normal map together. The general idea is the identity normal, float3(0, 0, 1), will use the vertex default normal. Adding Adding two normals and preserving...

Power

A Power function raised x to specific power. It has an interesting property when x is between 0 – 1, the result will be always between 0 – 1. Do take note Power function will not preserve the sign of x, it may be necessary to calculate the sign beforehand. What Power...