diff options
author | chai <chaifix@163.com> | 2019-08-14 22:50:43 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2019-08-14 22:50:43 +0800 |
commit | 15740faf9fe9fe4be08965098bbf2947e096aeeb (patch) | |
tree | a730ec236656cc8cab5b13f088adfaed6bb218fb /Runtime/Graphics/CubemapProcessor.h |
Diffstat (limited to 'Runtime/Graphics/CubemapProcessor.h')
-rw-r--r-- | Runtime/Graphics/CubemapProcessor.h | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/Runtime/Graphics/CubemapProcessor.h b/Runtime/Graphics/CubemapProcessor.h new file mode 100644 index 0000000..b824e8d --- /dev/null +++ b/Runtime/Graphics/CubemapProcessor.h @@ -0,0 +1,35 @@ +#ifndef CUBEMAPPROCESSOR_H +#define CUBEMAPPROCESSOR_H + +//-------------------------------------------------------------------------------------- +// Based on CCubeMapProcessor from CubeMapGen v1.4 +// http://developer.amd.com/archive/gpu/cubemapgen/Pages/default.aspx#download +// Class for filtering and processing cubemaps +// +// +//-------------------------------------------------------------------------------------- +// (C) 2005 ATI Research, Inc., All rights reserved. +//-------------------------------------------------------------------------------------- + + +#define CP_ITYPE float + +struct CImageSurface +{ + int m_Width; //image width + int m_Height; //image height + int m_NumChannels; //number of channels + CP_ITYPE *m_ImgData; //cubemap image data +}; + +// Edge fixup type (how to perform smoothing near edge region) +#define CP_FIXUP_NONE 0 +#define CP_FIXUP_PULL_LINEAR 1 +#define CP_FIXUP_PULL_HERMITE 2 +#define CP_FIXUP_AVERAGE_LINEAR 3 +#define CP_FIXUP_AVERAGE_HERMITE 4 + + +void FixupCubeEdges (CImageSurface *a_CubeMap, int a_FixupType, int a_FixupWidth); + +#endif |