Photon Engine 2.0.0-beta
A physically based renderer.
Loading...
Searching...
No Matches
UvwMapper.h
Go to the documentation of this file.
1#pragma once
2
3#include "Core/HitDetail.h"
4#include "Math/TVector3.h"
5
6namespace ph
7{
8
10{
11public:
12 virtual ~UvwMapper();
13
14 virtual void posToUvw(const math::Vector3R& pos, math::Vector3R* out_uvw) const = 0;
15
16 virtual void dirToUvw(const math::Vector3R& dir, math::Vector3R* out_uvw) const;
17 virtual bool uvwToPos(const math::Vector3R& uvw, math::Vector3R* out_pos) const;
18 virtual bool uvwToDir(const math::Vector3R& uvw, math::Vector3R* out_dir) const;
19};
20
21// In-header Implementations:
22
23inline void UvwMapper::dirToUvw(const math::Vector3R& dir, math::Vector3R* const out_uvw) const
24{
25 posToUvw(dir, out_uvw);
26}
27
28inline bool UvwMapper::uvwToPos(const math::Vector3R& uvw, math::Vector3R* const out_pos) const
29{
30 return false;
31}
32
33inline bool UvwMapper::uvwToDir(const math::Vector3R& uvw, math::Vector3R* const out_dir) const
34{
35 return false;
36}
37
38}// end namespace ph
Definition UvwMapper.h:10
virtual ~UvwMapper()
virtual bool uvwToPos(const math::Vector3R &uvw, math::Vector3R *out_pos) const
Definition UvwMapper.h:28
virtual void dirToUvw(const math::Vector3R &dir, math::Vector3R *out_uvw) const
Definition UvwMapper.h:23
virtual void posToUvw(const math::Vector3R &pos, math::Vector3R *out_uvw) const =0
virtual bool uvwToDir(const math::Vector3R &uvw, math::Vector3R *out_dir) const
Definition UvwMapper.h:33
The root for all renderer implementations.
Definition EEngineProject.h:6