summaryrefslogtreecommitdiff
path: root/hw6/include/sceneIO_basis.h
blob: cdecc1c6cd72a1f809374a334be7c95e81792afb (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
/******************************************************************/
/* 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.                                                  */
/******************************************************************/
#ifndef _SCENEIO_BASIS_H_
#define _SCENEIO_BASIS_H_

#include <string>
#include <vector>
#include <memory>

#include "camera.h"
#include "render_base.h"
#include "sceneIO_xml.h"
#include "texture_base.h"
#include "sceneIO_cache.h"
#include "environmentMap.h"
#include "lightsource_base.h"
#include "intersector_factory_base.h"

bool importCamera(const XMLNode& node, camera& cam);
void importRenderEngine(const XMLNode& node, std::unique_ptr<const render_base>& renderer);
void importIntersector(const XMLNode& node, std::unique_ptr<const intersector_factory_base>& intersector);
void importEnvironmentMap(const XMLNode& node, nodeCache<texture_base>& texture_cache, const std::string& rootDir, std::unique_ptr<const environmentMap>& map);

#endif /* _SCENEIO_BASIS_H_ */