From db072ad4dc181eca5a1458656b130beb43f475bf Mon Sep 17 00:00:00 2001 From: 53hornet <53hornet@gmail.com> Date: Sat, 2 Feb 2019 23:33:15 -0500 Subject: Init. --- hw6/src/scene.cpp | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 hw6/src/scene.cpp (limited to 'hw6/src/scene.cpp') diff --git a/hw6/src/scene.cpp b/hw6/src/scene.cpp new file mode 100644 index 0000000..35e0fe4 --- /dev/null +++ b/hw6/src/scene.cpp @@ -0,0 +1,60 @@ +/******************************************************************/ +/* This file is part of the homework assignments for CSCI-427/527 */ +/* at The College of William & Mary and authored by Pieter Peers. */ +/* No part of this file, whether altered or in original form, can */ +/* be distributed or used outside the context of CSCI-427/527 */ +/* without consent of either the College of William & Mary or */ +/* Pieter Peers. */ +/******************************************************************/ +#include +#include "scene.h" +#include "render_base.h" + +//////////////// +// Inspectors // +//////////////// +const camera& scene::getCamera(void) const +{ + return _camera; +} + + +const lightsource_base& scene::getLightsource(size_t idx) const +{ + assert(idx < _lightsources.size()); + return *(_lightsources[idx]); +} + + +size_t scene::numberOfLightsources(void) const +{ + return _lightsources.size(); +} + + +bool scene::hasEnvironmentMap(void) const +{ + return (_environmentMap != nullptr); +} + + +color scene::evaluateEnvironmentMap(const vec3d& direction) const +{ + assert(_environmentMap); + return (*_environmentMap)(direction); +} + + +///////////// +// Methods // +///////////// +intersectionPoint scene::intersect(const ray& r) const +{ + return _sceneGraphRoot->intersect(r); +} + + +image scene::render(void) const +{ + return _renderEngine->render(*this); +} -- cgit v1.2.3