Castor3D 0.16.0
Multiplatform 3D engine
Classes | Namespaces | Macros
GraphicsModule.hpp File Reference

Classes

struct  castor::ImageLoaderConfig
 The image loading configuration. More...
 
struct  castor::TextLineMetrics
 The metrics for a line of text. More...
 
struct  castor::TextMetrics
 The metrics for a text. More...
 
struct  castor::IsColourFormat< PixelFormatT >
 Helper struct to tell if a pixel format represents a colour. More...
 
struct  castor::IsDepthFormat< PixelFormatT >
 Helper struct to tell if a pixel format represents a depth pixel. More...
 
struct  castor::IsStencilFormat< PixelFormatT >
 Helper struct to tell if a pixel format represents a stencil pixel. More...
 
struct  castor::IsDepthStencilFormat< PixelFormatT >
 Helper struct to tell if a pixel format represents a depth or stencil pixel. More...
 
struct  castor::IsCompressed< PixelFormatT >
 Helper struct to tell if a pixel format is compressed. More...
 
struct  castor::HasAlpha< PixelFormatT >
 Helper struct to tell if a pixel format is compressed. More...
 
struct  castor::Is8SRGBComponents< PixelFormatT >
 Helper struct to tell if a pixel format uses unsigned 8 bits components. More...
 
struct  castor::Is8UComponents< PixelFormatT >
 Helper struct to tell if a pixel format uses unsigned 8 bits components. More...
 
struct  castor::Is16UComponents< PixelFormatT >
 Helper struct to tell if a pixel format uses unsigned 16 bits components. More...
 
struct  castor::Is32UComponents< PixelFormatT >
 Helper struct to tell if a pixel format uses unsigned 32 bits components. More...
 
struct  castor::Is64UComponents< PixelFormatT >
 Helper struct to tell if a pixel format uses unsigned 64 bits components. More...
 
struct  castor::Is8SComponents< PixelFormatT >
 Helper struct to tell if a pixel format uses signed 8 bits components. More...
 
struct  castor::Is16SComponents< PixelFormatT >
 Helper struct to tell if a pixel format uses signed 16 bits components. More...
 
struct  castor::Is32SComponents< PixelFormatT >
 Helper struct to tell if a pixel format uses signed 32 bits components. More...
 
struct  castor::Is64SComponents< PixelFormatT >
 Helper struct to tell if a pixel format uses signed 64 bits components. More...
 
struct  castor::Is16FComponents< PixelFormatT >
 Helper struct to tell if a pixel format uses floating point 16 bits components. More...
 
struct  castor::Is32FComponents< PixelFormatT >
 Helper struct to tell if a pixel format uses floating point 32 bits components. More...
 
struct  castor::Is64FComponents< PixelFormatT >
 Helper struct to tell if a pixel format uses floating point 64 bits components. More...
 
struct  castor::IsD16UComponent< PixelFormatT >
 Helper struct to tell if a pixel format uses unsigned 16 bits depth component. More...
 
struct  castor::IsD24UComponent< PixelFormatT >
 Helper struct to tell if a pixel format uses unsigned 24 bits depth component. More...
 
struct  castor::IsD32FComponent< PixelFormatT >
 Helper struct to tell if a pixel format uses floating point 32 bits depth component. More...
 
struct  castor::IsS8UComponent< PixelFormatT >
 Helper struct to tell if a pixel format uses only an unsigned 8 bits stencil component. More...
 
struct  castor::ResourceCacheTraitsT< Font, String >
 

Namespaces

namespace  castor
 

Macros

#define CUPF_ENUM_VALUE(name, value, components, alpha, colour, depth, stencil, compressed)   e##name = value,
 

Graphics

enum class  castor::PixelFormat : uint32_t { castor::CUPF_ENUM_VALUE , castor::eCount , castor::eMin = eUNDEFINED }
 Pixel format enumeration. More...
 
enum class  castor::PredefinedRgbaColour : uint32_t {
  castor::eTransparentBlack = 0x00000000 , castor::eLowAlphaBlack = 0x00000040 , castor::eMedAlphaBlack = 0x0000007F , castor::eHighAlphaBlack = 0x000000BF ,
  castor::eOpaqueBlack = 0x000000FF , castor::eTransparentDarkBlue = 0x00007F00 , castor::eLowAlphaDarkBlue = 0x00007F40 , castor::eMedAlphaDarkBlue = 0x00007F7F ,
  castor::eHighAlphaDarkBlue = 0x00007FBF , castor::eOpaqueDarkBlue = 0x00007FFF , castor::eTransparentBlue = 0x0000FF00 , castor::eLowAlphaBlue = 0x0000FF40 ,
  castor::eMedAlphaBlue = 0x0000FF7F , castor::eHighAlphaBlue = 0x0000FFBF , castor::eOpaqueBlue = 0x0000FFFF , castor::eTransparentDarkGreen = 0x007F0000 ,
  castor::eLowAlphaDarkGreen = 0x007F0040 , castor::eMedAlphaDarkGreen = 0x007F007F , castor::eHighAlphaDarkGreen = 0x007F00BF , castor::eOpaqueDarkGreen = 0x007F00FF ,
  castor::eTransparentGreen = 0x00FF0000 , castor::eLowAlphaGreen = 0x00FF0040 , castor::eMedAlphaGreen = 0x00FF007F , castor::eHighAlphaGreen = 0x00FF00BF ,
  castor::eOpaqueGreen = 0x00FF00FF , castor::eTransparentDarkRed = 0x7F000000 , castor::eLowAlphaDarkRed = 0x7F000040 , castor::eMedAlphaDarkRed = 0x7F00007F ,
  castor::eHighAlphaDarkRed = 0x7F0000BF , castor::eOpaqueDarkRed = 0x7F0000FF , castor::eTransparentRed = 0xFF000000 , castor::eLowAlphaRed = 0xFF000040 ,
  castor::eMedAlphaRed = 0xFF00007F , castor::eHighAlphaRed = 0xFF0000BF , castor::eOpaqueRed = 0xFF0000FF , castor::eTransparentLightBlue = 0x7F7FFF00 ,
  castor::eLowAlphaLightBlue = 0x7F7FFF40 , castor::eMedAlphaLightBlue = 0x7F7FFF7F , castor::eHighAlphaLightBlue = 0x7F7FFFBF , castor::eOpaqueLightBlue = 0x7F7FFFFF ,
  castor::eTransparentLightGreen = 0x7FFF7F00 , castor::eLowAlphaLightGreen = 0x7FFF7F40 , castor::eMedAlphaLightGreen = 0x7FFF7F7F , castor::eHighAlphaLightGreen = 0x7FFF7FBF ,
  castor::eOpaqueLightGreen = 0x7FFF7FFF , castor::eTransparentLightRed = 0xFF7F7F00 , castor::eLowAlphaLightRed = 0xFF7F7F40 , castor::eMedAlphaLightRed = 0xFF7F7F7F ,
  castor::eHighAlphaLightRed = 0xFF7F7FBF , castor::eOpaqueLightRed = 0xFF7F7FFF , castor::eTransparentWhite = 0xFFFFFF00 , castor::eLowAlphaWhite = 0xFFFFFF40 ,
  castor::eMedAlphaWhite = 0xFFFFFF7F , castor::eHighAlphaWhite = 0xFFFFFFBF , castor::eOpaqueWhite = 0xFFFFFFFF
}
 Predefined colours enumeration. More...
 
enum class  castor::PredefinedRgbColour : uint32_t {
  castor::eBlack = 0x000000FF , castor::eDarkBlue = 0x00007FFF , castor::eBlue = 0x0000FFFF , castor::eDarkGreen = 0x007F00FF ,
  castor::eGreen = 0x00FF00FF , castor::eDarkRed = 0x7F0000FF , castor::eRed = 0xFF0000FF , castor::eLightBlue = 0x7F7FFFFF ,
  castor::eLightGreen = 0x7FFF7FFF , castor::eLightRed = 0xFF7F7FFF , castor::eWhite = 0xFFFFFFFF
}
 Predefined colours enumeration. More...
 
enum class  castor::RgbaComponent : uint8_t {
  castor::eRed = 0 , castor::eGreen = 1 , castor::eBlue = 2 , castor::eAlpha = 3 ,
  castor::eCount , castor::eMin = eRed
}
 RgbaColourT components enumeration. More...
 
enum class  castor::RgbComponent : uint8_t {
  castor::eRed = 0 , castor::eGreen = 1 , castor::eBlue = 2 , castor::eCount ,
  castor::eMin = eRed
}
 RgbColourT components enumeration. More...
 
enum class  castor::Intersection : uint8_t {
  castor::eIn = 0 , castor::eOut = 1 , castor::eIntersect = 2 , castor::eCount ,
  castor::eMin = eIn
}
 Intersection types. More...
 
enum class  castor::PixelComponent : uint8_t {
  castor::eRed = 0x01 , castor::eGreen = 0x02 , castor::eBlue = 0x04 , castor::eAlpha = 0x08 ,
  castor::eDepth = 0x10 , castor::eStencil = 0x20
}
 Pixel PixelComponentsT enumeration. More...
 
using castor::BoundingContainer2D = BoundingContainer< 2 >
 Typedef on a 2 dimensions BoundingContainer.
 
using castor::BoundingContainer3D = BoundingContainer< 3 >
 Typedef on a 3 dimensions BoundingContainer.
 
using castor::UbPixel = Pixel< PixelFormat::eR8G8B8A8_UNORM >
 Typedef over a pixel in A8R8G8B8 format.
 
using castor::PixelComponents = castor::FlagCombination< PixelComponent >
 
template<typename TypeT >
using castor::LargerTypeT = typename LargerTyperT< TypeT >::Type
 
using castor::FontCacheTraits = ResourceCacheTraitsT< Font, String >
 
using castor::ImageLoaderPtr = castor::RawUniquePtr< ImageLoaderImpl >
 
using castor::ImageWriterPtr = castor::RawUniquePtr< ImageWriterImpl >
 
using castor::PixelBuffer = PxBuffer< PixelFormat::eR8G8B8A8_UNORM >
 
using castor::FontCache = ResourceCacheT< Font, String, FontCacheTraits >
 
using castor::RgbColour = RgbColourT< ColourComponent >
 
using castor::RgbaColour = RgbaColourT< ColourComponent >
 
using castor::HdrRgbColour = RgbColourT< HdrColourComponent >
 
using castor::HdrRgbaColour = RgbaColourT< HdrColourComponent >
 
template<PixelFormat PixelFormatT>
static PixelFormat constexpr castor::singleComponentV = SingleComponentT< PixelFormatT >::value
 
template<PixelFormat PixelFormatT>
static bool constexpr castor::isColourFormatV = IsColourFormat< PixelFormatT >::value
 
template<PixelFormat PixelFormatT>
static bool constexpr castor::isDepthFormatV = IsDepthFormat< PixelFormatT >::value
 
template<PixelFormat PixelFormatT>
static bool constexpr castor::isStencilFormatV = IsStencilFormat< PixelFormatT >::value
 
template<PixelFormat PixelFormatT>
static bool constexpr castor::isDepthStencilFormatV = IsDepthStencilFormat< PixelFormatT >::value
 
template<PixelFormat PixelFormatT>
static bool constexpr castor::isCompressedV = IsCompressed< PixelFormatT >::value
 
template<PixelFormat PixelFormatT>
static bool constexpr castor::hasAlphaV = HasAlpha< PixelFormatT >::value
 
template<PixelFormat PixelFormatT>
static bool constexpr castor::is8SRGBComponentsV = Is8SRGBComponents< PixelFormatT >::value
 
template<PixelFormat PixelFormatT>
static bool constexpr castor::is8UComponentsV = Is8UComponents< PixelFormatT >::value
 
template<PixelFormat PixelFormatT>
static bool constexpr castor::is16UComponentsV = Is16UComponents< PixelFormatT >::value
 
template<PixelFormat PixelFormatT>
static bool constexpr castor::is32UComponentsV = Is32UComponents< PixelFormatT >::value
 
template<PixelFormat PixelFormatT>
static bool constexpr castor::is64UComponentsV = Is64UComponents< PixelFormatT >::value
 
template<PixelFormat PixelFormatT>
static bool constexpr castor::is8SComponentsV = Is8SComponents< PixelFormatT >::value
 
template<PixelFormat PixelFormatT>
static bool constexpr castor::is16SComponentsV = Is16SComponents< PixelFormatT >::value
 
template<PixelFormat PixelFormatT>
static bool constexpr castor::is32SComponentsV = Is32SComponents< PixelFormatT >::value
 
template<PixelFormat PixelFormatT>
static bool constexpr castor::is64SComponentsV = Is64SComponents< PixelFormatT >::value
 
template<PixelFormat PixelFormatT>
static bool constexpr castor::is16FComponentsV = Is16FComponents< PixelFormatT >::value
 
template<PixelFormat PixelFormatT>
static bool constexpr castor::is32FComponentsV = Is32FComponents< PixelFormatT >::value
 
template<PixelFormat PixelFormatT>
static bool constexpr castor::is64FComponentsV = Is64FComponents< PixelFormatT >::value
 
template<PixelFormat PixelFormatT>
static bool constexpr castor::isD16UComponentV = IsD16UComponent< PixelFormatT >::value
 
template<PixelFormat PixelFormatT>
static bool constexpr castor::isD24UComponentV = IsD24UComponent< PixelFormatT >::value
 
template<PixelFormat PixelFormatT>
static bool constexpr castor::isD32FComponentV = IsD32FComponent< PixelFormatT >::value
 
template<PixelFormat PixelFormatT>
static bool constexpr castor::isS8UComponentV = IsS8UComponent< PixelFormatT >::value
 
CU_API String castor::getName (PixelComponent const &component)
 
CU_API String castor::getName (PixelComponents const &components)
 
 castor::CU_DeclareSmartPtr (castor, BoundingBox, CU_API)
 
 castor::CU_DeclareSmartPtr (castor, BoundingSphere, CU_API)
 
 castor::CU_DeclareSmartPtr (castor, Image, CU_API)
 
 castor::CU_DeclareSmartPtr (castor, Font, CU_API)
 
 castor::CU_DeclareSmartPtr (castor, PxBufferBase, CU_API)
 
 castor::CU_DeclareSmartPtr (castor, FontCache, CU_API)
 
CU_API bool castor::hasAlphaChannel (Image const &image)
 

Macro Definition Documentation

◆ CUPF_ENUM_VALUE

#define CUPF_ENUM_VALUE ( name,
value,
components,
alpha,
colour,
depth,
stencil,
compressed )   e##name = value,