Classes | Namespaces | Defines | Enumerations | Functions

D:/SoftwareEntwicklung/C++/HLC/Tools/SoftPixelEngine/repository/sources/Base/spImageManagement.hpp File Reference

#include "Base/spStandard.hpp"
#include "Base/spInputOutput.hpp"
#include "Base/spMath.hpp"
#include "Base/spMaterialColor.hpp"
#include "FileFormats/Image/spImageFormatInterfaces.hpp"
#include <cstdio>

Go to the source code of this file.

Classes

struct  sp::video::SHeightMapTexture

Namespaces

namespace  sp
 

!!


namespace  sp::video
 

All rendering and drawing operations for 2D and 3D can be found in this namespace.


namespace  sp::video::ImageConverter
 

ImageConverter namespace used for image buffer manipulation. This is particular used in the Texture class (e.g. for "setFormat", "setSize" etc.).


Defines

#define __SP_CONVERT_1_TO_2(src, dest, i, j)
#define __SP_CONVERT_1_TO_3(src, dest, i, j)
#define __SP_CONVERT_1_TO_4(src, dest, i, j)
#define __SP_CONVERT_2_TO_1(src, dest, i, j)   dest[j+0] = src[i+0];
#define __SP_CONVERT_2_TO_3(src, dest, i, j)
#define __SP_CONVERT_2_TO_4(src, dest, i, j)
#define __SP_CONVERT_3_TO_1(src, dest, i, j)   dest[j+0] = ( src[i+0] + src[i+1] + src[i+2] ) / 3;
#define __SP_CONVERT_3_TO_2(src, dest, i, j)
#define __SP_CONVERT_3_TO_4(src, dest, i, j)
#define __SP_CONVERT_4_TO_1(src, dest, i, j)   dest[j+0] = ( src[i+0] + src[i+1] + src[i+2] ) / 3;
#define __SP_CONVERT_4_TO_2(src, dest, i, j)
#define __SP_CONVERT_4_TO_3(src, dest, i, j)

Enumerations

enum  sp::video::EImageTurnDegrees { sp::video::TURNDEGREE_90, sp::video::TURNDEGREE_180, sp::video::TURNDEGREE_270 }
 

Methods of image data rotation.

More...

Functions

template<typename T , s32 DefVal>
void sp::video::ImageConverter::invertImageColors (T *ImageBuffer, u32 ImageBufferSize)
 Inverts the colors.
template<typename T >
void sp::video::ImageConverter::flipImageColors (T *ImageBuffer, s32 Width, s32 Height, s32 FormatSize)
 Flips the color values (BGR -> RGB).
template<typename T >
void sp::video::ImageConverter::flipImageHorz (T *ImageBuffer, s32 Width, s32 Height, s32 FormatSize)
 Flips the image data on the x-axis.
template<typename T >
void sp::video::ImageConverter::flipImageVert (T *ImageBuffer, s32 Width, s32 Height, s32 FormatSize)
 Flips the image data on the y-axis.
template<typename T >
void sp::video::ImageConverter::scaleImage (const T *SrcImageBuffer, s32 SrcWidth, s32 SrcHeight, T *DestImageBuffer, s32 DestWidth, s32 DestHeight, s32 FormatSize)
 Copies the source image in a scaled form to the destination image.
template<typename T >
void sp::video::ImageConverter::scaleImage (T *&ImageBuffer, s32 Width, s32 Height, s32 NewWidth, s32 NewHeight, s32 FormatSize)
 Scales the image to a new size.
template<typename T >
void sp::video::ImageConverter::halveImage (T *&ImageBuffer, s32 Width, s32 Height, s32 FormatSize)
 Scales the image to a half size (smooth).
template<typename T , s32 DefVal>
void sp::video::ImageConverter::convertImageFormat (T *&ImageBuffer, s32 Width, s32 Height, s32 OldFormatSize, s32 NewFormatSize)
 Converts the image data formats (e.g. RGB -> RGBA).
template<typename T >
void sp::video::ImageConverter::blurImage (T *&ImageBuffer, s32 Width, s32 Height, s32 FormatSize)
 Blurs the image data (for mipmap levels).
template<typename T >
void sp::video::ImageConverter::turnImage (T *ImageBuffer, s32 Width, s32 Height, s32 FormatSize, const EImageTurnDegrees Degree)
 Turns the image data in 90°, 180° or 270°.
template<typename T , s32 DefVal>
void sp::video::ImageConverter::convertImageGrayToAlpha (T *ImageBuffer, s32 Width, s32 Height)
template<typename T >
bool sp::video::ImageConverter::appendImageBufferBottom (T *&ImageBuffer, const T *AdditionalBuffer, s32 Width, s32 Height, s32 FrameWidth, s32 FrameHeight, s32 FormatSize)
template<typename T >
bool sp::video::ImageConverter::appendImageBufferRight (T *&ImageBuffer, const T *AdditionalBuffer, s32 Width, s32 Height, s32 FrameWidth, s32 FrameHeight, s32 FormatSize)
SP_EXPORT void sp::video::ImageConverter::setImageColorKey (u8 *ImageBuffer, s32 Width, s32 Height, const video::color &Color, s32 Tolerance)
SP_EXPORT bool sp::video::ImageConverter::checkImageSize (dim::size2di &InputSize)
 Get the correct image size (2^x).
SP_EXPORT s32 sp::video::ImageConverter::getMipmapLevelsCount (s32 Width, s32 Height)
 Get the count of mipmap levels.
template<typename T >
void sp::video::ImageConverter::copySubBufferToBuffer (T *DestBuffer, const T *SrcBuffer, const dim::size2di &DestSize, u32 FormatSize, const dim::point2di &Pos, const dim::size2di &Size)
template<typename T >
void sp::video::ImageConverter::copyBufferToSubBuffer (T *DestBuffer, const T *SrcBuffer, const dim::size2di &SrcSize, u32 FormatSize, const dim::point2di &Pos, const dim::size2di &Size)

Define Documentation

#define __SP_CONVERT_1_TO_2 (   src,
  dest,
  i,
  j 
)
Value:
dest[j+0] = src[i+0];                               \
    dest[j+1] = DefVal;
#define __SP_CONVERT_1_TO_3 (   src,
  dest,
  i,
  j 
)
Value:
dest[j+0] = src[i+0];                               \
    dest[j+1] = src[i+0];                               \
    dest[j+2] = src[i+0];
#define __SP_CONVERT_1_TO_4 (   src,
  dest,
  i,
  j 
)
Value:
dest[j+0] = src[i+0];                               \
    dest[j+1] = src[i+0];                               \
    dest[j+2] = src[i+0];                               \
    dest[j+3] = DefVal;
#define __SP_CONVERT_2_TO_1 (   src,
  dest,
  i,
  j 
)    dest[j+0] = src[i+0];
#define __SP_CONVERT_2_TO_3 (   src,
  dest,
  i,
  j 
)
Value:
dest[j+0] = src[i+0];                               \
    dest[j+1] = src[i+0];                               \
    dest[j+2] = src[i+0];
#define __SP_CONVERT_2_TO_4 (   src,
  dest,
  i,
  j 
)
Value:
dest[j+0] = src[i+0];                               \
    dest[j+1] = src[i+0];                               \
    dest[j+2] = src[i+0];                               \
    dest[j+3] = src[i+1];
#define __SP_CONVERT_3_TO_1 (   src,
  dest,
  i,
  j 
)    dest[j+0] = ( src[i+0] + src[i+1] + src[i+2] ) / 3;
#define __SP_CONVERT_3_TO_2 (   src,
  dest,
  i,
  j 
)
Value:
dest[j+0] = ( src[i+0] + src[i+1] + src[i+2] ) / 3; \
    dest[j+1] = DefVal;
#define __SP_CONVERT_3_TO_4 (   src,
  dest,
  i,
  j 
)
Value:
dest[j+0] = src[i+0];                               \
    dest[j+1] = src[i+1];                               \
    dest[j+2] = src[i+2];                               \
    dest[j+3] = DefVal;
#define __SP_CONVERT_4_TO_1 (   src,
  dest,
  i,
  j 
)    dest[j+0] = ( src[i+0] + src[i+1] + src[i+2] ) / 3;
#define __SP_CONVERT_4_TO_2 (   src,
  dest,
  i,
  j 
)
Value:
dest[j+0] = ( src[i+0] + src[i+1] + src[i+2] ) / 3; \
    dest[j+1] = src[i+3];
#define __SP_CONVERT_4_TO_3 (   src,
  dest,
  i,
  j 
)
Value:
dest[j+0] = src[i+0];                               \
    dest[j+1] = src[i+1];                               \
    dest[j+2] = src[i+2];
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines