GAMES101
GAMES101 copied to clipboard
pa3 displacement mapping
我认为应该把displacement_fragment_shader
中的这段
Vector3f n = (TBN * ln).normalized();
Vector3f p = point + n * huv * kn;
根据注释修改为
Vector3f p = point + normal * huv * kn;
Vector3f n = (TBN * ln).normalized();
然后将下面进行着色的代码中的normal修改成上面的n
diffsue[i] = kd[i] * intensity * std::max(0.0f,normal.dot(light_dir)); // 应该修改为n
specular[i] = ks[i] * intensity * std::pow(std::max(0.0f,normal.dot(h)),150); // 应该修改为n
我认为应该把
displacement_fragment_shader
中的这段Vector3f n = (TBN * ln).normalized(); Vector3f p = point + n * huv * kn;
根据注释修改为
Vector3f p = point + normal * huv * kn; Vector3f n = (TBN * ln).normalized();
然后将下面进行着色的代码中的normal修改成上面的n
diffsue[i] = kd[i] * intensity * std::max(0.0f,normal.dot(light_dir)); // 应该修改为n specular[i] = ks[i] * intensity * std::pow(std::max(0.0f,normal.dot(h)),150); // 应该修改为n
正确的,因为点是沿着原来的normal方向移动的