Procedural Flame Code
•
float4 flame(float3 P)
•
{
•
P = P*flameScale + flameTrans;
•
•
// calculate radial distance in XZ plane
•
float2 uv;
•
uv.x = length(P.xz);
•
uv.y = P.y + turbulence4(noiseSampler, noisePos) * noiseStrength;
•
•
return tex2D(flameSampler, P.xy);
•
}