Ich arbeite an der Implementierung der indirekten diffuse in meinem Renderer und ich schaue Abschnitt 8.4.1 of this paper from Valve.Approximate Indirect Diffuse
In meinem Renderer mit Im ein Voxelraster von 256x256x256 mit Glanz und Schatten injizierte und Im Versuch, diesen Ausschnitt aus dem Papier zu konvertieren/verwenden, um Umgebungslicht gegen meine Voxel zu berechnen:
float3 AmbientLight(const float3 worldNormal)
{
float3 nSquared = worldNormal * worldNormal;
int3 isNegative = (worldNormal < 0.0);
float3 linearColor;
linearColor = nSquared.x * cAmbientCube[isNegative.x] +
nSquared.y * cAmbientCube[isNegative.y+2] +
nSquared.z * cAmbientCube[isNegative.z+4];
return linearColor;
}
Das Problem ist, dass kann nicht herausfinden, was ist cAmbientCube in der Berechnung ...
Was ist diese Variable und woher kommt sie?
Sieht aus wie eine Reihe von 6 Farben, nein? – Zouch
Verwenden Sie Desktop-OpenGL oder OpenGL ES? –