cloudy-raytracer/shader/refractionshader.cpp

16 lines
602 B
C++
Raw Normal View History

2022-11-11 14:39:48 +01:00
#include "scene/scene.h"
#include "shader/refractionshader.h"
RefractionShader::RefractionShader(float indexInside, float indexOutside) : indexInside(indexInside), indexOutside(indexOutside) {}
Color RefractionShader::shade(Scene const &scene, Ray const &ray) const {
// IMPLEMENT ME
// Calculate the refracted ray using the surface normal vector and
// indexInside, indexOutside
// Also check for total internal reflection
// Send out a new refracted ray into the scene; recursively call traceRay()
return Color(1, 0, 0);
}
bool RefractionShader::isTransparent() const { return true; }