summaryrefslogtreecommitdiff
path: root/Runtime/Graphics/CubemapProcessor.h
blob: b824e8db20ebc89c50615d5f58571d8b7f864aaf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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