Не понимаю решение «Яркие точки в свертке перед фильтром» в learnopengl.com - PullRequest
0 голосов
/ 10 ноября 2019

Я не понимаю код решения «Яркие точки в свертке перед фильтром» в https://learnopengl.com/PBR/IBL/Specular-IBL,, особенно в части PDF (функция плотности возможностей).

вот код

float D   = DistributionGGX(NdotH, roughness);
float pdf = (D * NdotH / (4.0 * HdotV)) + 0.0001; 

float resolution = 512.0; // resolution of source cubemap (per face)
float saTexel  = 4.0 * PI / (6.0 * resolution * resolution);
float saSample = 1.0 / (float(SAMPLE_COUNT) * pdf + 0.0001);

float mipLevel = roughness == 0.0 ? 0.0 : 0.5 * log2(saSample / saTexel); 

Я не знаю, почему взято (D * NdotH / (4.0 * HdotV)) + 0.0001. И почему saTexel и saSample рассчитываются таким образом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...