Photon Engine
2.0.0-beta
A physically based renderer.
Loading...
Searching...
No Matches
Image.h
Go to the documentation of this file.
1
#pragma once
2
3
#include "
SDL/TSdlResourceBase.h
"
4
#include "
Math/TVector3.h
"
5
#include "
Core/Texture/TTexture.h
"
6
#include "
Math/Color/Spectrum.h
"
7
#include "
SDL/sdl_interface.h
"
8
#include "
Math/TArithmeticArray.h
"
9
10
#include <Common/config.h>
11
#include <Common/primitive_type.h>
12
13
#include <memory>
14
15
namespace
ph
{
class
CookingContext; }
16
17
namespace
ph
18
{
19
20
class
Image
:
public
TSdlResourceBase
<ESdlTypeCategory::Ref_Image>
21
{
22
public
:
23
using
ArrayType
=
math::TArithmeticArray<float64, PH_NUMERIC_IMAGE_MAX_ELEMENTS>
;
24
25
inline
static
constexpr
auto
ARRAY_SIZE
=
ArrayType::NUM_ELEMENTS
;
26
27
public
:
33
virtual
std::shared_ptr<TTexture<Image::ArrayType>>
genNumericTexture
(
34
const
CookingContext
& ctx) = 0;
35
41
virtual
std::shared_ptr<TTexture<math::Spectrum>>
genColorTexture
(
42
const
CookingContext
& ctx) = 0;
43
44
public
:
45
PH_DEFINE_SDL_CLASS
(
TSdlOwnerClass<Image>
)
46
{
47
ClassType clazz(
"image"
);
48
clazz.docName(
"Image"
);
49
clazz.description(
"A block of data."
);
50
return
clazz;
51
}
52
};
53
54
}
// end namespace ph
Spectrum.h
TArithmeticArray.h
TSdlResourceBase.h
TTexture.h
TVector3.h
ph::CookingContext
Information about the world being cooked.
Definition
CookingContext.h:24
ph::Image
Definition
Image.h:21
ph::Image::genNumericTexture
virtual std::shared_ptr< TTexture< Image::ArrayType > > genNumericTexture(const CookingContext &ctx)=0
ph::Image::genColorTexture
virtual std::shared_ptr< TTexture< math::Spectrum > > genColorTexture(const CookingContext &ctx)=0
ph::Image::ARRAY_SIZE
static constexpr auto ARRAY_SIZE
Definition
Image.h:25
ph::Image::PH_DEFINE_SDL_CLASS
PH_DEFINE_SDL_CLASS(TSdlOwnerClass< Image >)
Definition
Image.h:45
ph::TSdlOwnerClass
SDL binding type for a canonical SDL resource class.
Definition
TSdlOwnerClass.h:23
ph::TSdlResourceBase
A convenient ISdlResource with core requirements implemented. This class is similar to SdlResourceBas...
Definition
TSdlResourceBase.h:16
ph::math::TArithmeticArrayBase< TArithmeticArray< T, N >, T, N >::NUM_ELEMENTS
static constexpr auto NUM_ELEMENTS
Definition
TArithmeticArrayBase.h:36
ph::math::TArithmeticArray
Definition
TArithmeticArray.h:13
ph
The root for all renderer implementations.
Definition
EEngineProject.h:6
sdl_interface.h
Source
Actor
Image
Image.h
Generated by
1.11.0