| 1109 | } |
| 1110 | |
| 1111 | [[nodiscard]] float geometrySmith(const glm::vec3& normal, |
| 1112 | const glm::vec3& view, |
| 1113 | const glm::vec3& light, |
| 1114 | const float roughness) { |
| 1115 | return geometrySchlickGGX(std::max(glm::dot(normal, view), 0.0f), roughness) * |
| 1116 | geometrySchlickGGX(std::max(glm::dot(normal, light), 0.0f), roughness); |
| 1117 | } |
| 1118 | |
| 1119 | [[nodiscard]] glm::vec3 fresnelSchlick(const float cos_theta, |
| 1120 | const glm::vec3& f0) { |
no test coverage detected