Photon Engine 2.0.0-beta
A physically based renderer.
|
An image whose primary purpose is to swizzle the output of a source image. More...
#include <SwizzledImage.h>
Public Member Functions | |
std::shared_ptr< TTexture< Image::ArrayType > > | genNumericTexture (const CookingContext &ctx) override |
std::shared_ptr< TTexture< math::Spectrum > > | genColorTexture (const CookingContext &ctx) override |
SwizzledImage & | setInput (std::shared_ptr< Image > image) |
SwizzledImage & | setSwizzleSubscripts (std::string swizzleSubscripts) |
Image * | getInput () const |
Get the input image. | |
std::string_view | getSwizzleSubscripts () const |
Get the swizzle subscripts for the image. | |
PH_DEFINE_SDL_CLASS (TSdlOwnerClass< SwizzledImage >) | |
std::shared_ptr< TTexture< real > > | genRealTexture (const CookingContext &ctx) |
Generates numeric texture of an alternative type. | |
std::shared_ptr< TTexture< math::Vector2R > > | genVector2RTexture (const CookingContext &ctx) |
std::shared_ptr< TTexture< math::Vector3R > > | genVector3RTexture (const CookingContext &ctx) |
std::shared_ptr< TTexture< math::Vector4R > > | genVector4RTexture (const CookingContext &ctx) |
Public Member Functions inherited from ph::Image | |
PH_DEFINE_SDL_CLASS (TSdlOwnerClass< Image >) | |
Public Member Functions inherited from ph::TSdlResourceBase< ESdlTypeCategory::Ref_Image > | |
ESdlTypeCategory | getDynamicCategory () const override |
Public Member Functions inherited from ph::SdlResourceBase | |
SdlResourceId | getId () const override |
Get the unique ID of this resource. The returned ID is guaranteed to be unique in the current process. Newly created resource cannot have an ID that has been used by a previous resource, even if the previous resource has ended its life cycle. See SdlResourceId.h for some utilities. | |
Public Member Functions inherited from ph::ISdlResource | |
ISdlResource (const ISdlResource &other)=default | |
ISdlResource (ISdlResource &&other)=default | |
virtual | ~ISdlResource ()=default |
ISdlResource & | operator= (const ISdlResource &rhs)=default |
ISdlResource & | operator= (ISdlResource &&rhs)=default |
virtual const SdlClass * | getDynamicSdlClass () const |
Get runtime SDL class of the resource. | |
virtual bool | isInlinable () const |
Additional Inherited Members | |
Public Types inherited from ph::Image | |
using | ArrayType = math::TArithmeticArray<float64, PH_NUMERIC_IMAGE_MAX_ELEMENTS> |
Static Public Attributes inherited from ph::Image | |
static constexpr auto | ARRAY_SIZE = ArrayType::NUM_ELEMENTS |
Static Public Attributes inherited from ph::TSdlResourceBase< ESdlTypeCategory::Ref_Image > | |
static constexpr ESdlTypeCategory | CATEGORY |
Static category information of the resource. This static category information is required by ISdlResource. See its documentation for more details. | |
Protected Member Functions inherited from ph::TSdlResourceBase< ESdlTypeCategory::Ref_Image > | |
TSdlResourceBase ()=default | |
TSdlResourceBase (const TSdlResourceBase &other)=default | |
TSdlResourceBase (TSdlResourceBase &&other)=default | |
TSdlResourceBase & | operator= (const TSdlResourceBase &rhs)=default |
TSdlResourceBase & | operator= (TSdlResourceBase &&rhs)=default |
Protected Member Functions inherited from ph::SdlResourceBase | |
SdlResourceBase () | |
SdlResourceBase (const SdlResourceBase &other) | |
SdlResourceBase (SdlResourceBase &&other)=default | |
SdlResourceBase & | operator= (const SdlResourceBase &rhs) |
SdlResourceBase & | operator= (SdlResourceBase &&rhs)=default |
Protected Member Functions inherited from ph::ISdlResource | |
ISdlResource ()=default | |
An image whose primary purpose is to swizzle the output of a source image.
|
overridevirtual |
Color textures are expected to be used where spectral distribution is involved. Color space transformations will take place if required. It is generally not recommended to use color texture to represent data that need to be precisely preserved (e.g., normal map).
Implements ph::Image.
|
overridevirtual |
When generating numeric textures, the convention is that the image will be treated as if raw values are used. Numeric textures are expected to be used as part of a general mathematical operation.
Implements ph::Image.
std::shared_ptr< TTexture< real > > ph::SwizzledImage::genRealTexture | ( | const CookingContext & | ctx | ) |
Generates numeric texture of an alternative type.
std::shared_ptr< TTexture< math::Vector2R > > ph::SwizzledImage::genVector2RTexture | ( | const CookingContext & | ctx | ) |
std::shared_ptr< TTexture< math::Vector3R > > ph::SwizzledImage::genVector3RTexture | ( | const CookingContext & | ctx | ) |
std::shared_ptr< TTexture< math::Vector4R > > ph::SwizzledImage::genVector4RTexture | ( | const CookingContext & | ctx | ) |
Image * ph::SwizzledImage::getInput | ( | ) | const |
Get the input image.
std::string_view ph::SwizzledImage::getSwizzleSubscripts | ( | ) | const |
Get the swizzle subscripts for the image.
|
inline |
SwizzledImage & ph::SwizzledImage::setInput | ( | std::shared_ptr< Image > | image | ) |
SwizzledImage & ph::SwizzledImage::setSwizzleSubscripts | ( | std::string | swizzleSubscripts | ) |