1 // Copyright (C) 2002-2012 Nikolaus Gebhardt / Thomas Alten
2 // This file is part of the "Irrlicht Engine".
3 // For conditions of distribution and use, see copyright notice in irrlicht.h
4 
5 #ifndef __S_VIDEO_2_SOFTWARE_COMPILE_CONFIG_H_INCLUDED__
6 #define __S_VIDEO_2_SOFTWARE_COMPILE_CONFIG_H_INCLUDED__
7 
8 #include "IrrCompileConfig.h"
9 
10 
11 // Generic Render Flags for burning's video rasterizer
12 // defined now in irrlicht compile config
13 
14 
15 #ifdef BURNINGVIDEO_RENDERER_BEAUTIFUL
16 	#define SOFTWARE_DRIVER_2_PERSPECTIVE_CORRECT
17 	#define SOFTWARE_DRIVER_2_SUBTEXEL
18 	#define SOFTWARE_DRIVER_2_BILINEAR
19 	#define SOFTWARE_DRIVER_2_LIGHTING
20 	#define SOFTWARE_DRIVER_2_USE_VERTEX_COLOR
21 	#define SOFTWARE_DRIVER_2_32BIT
22 	#define SOFTWARE_DRIVER_2_MIPMAPPING
23 	#define SOFTWARE_DRIVER_2_USE_WBUFFER
24 	#define SOFTWARE_DRIVER_2_TEXTURE_TRANSFORM
25 	#define SOFTWARE_DRIVER_2_TEXTURE_MAXSIZE		0
26 #endif
27 
28 //! Set Flags for Windows Mobile
29 #ifdef BURNINGVIDEO_RENDERER_CE
30 	#define SOFTWARE_DRIVER_2_PERSPECTIVE_CORRECT
31 	#define SOFTWARE_DRIVER_2_SUBTEXEL
32 	//#define SOFTWARE_DRIVER_2_BILINEAR
33 	//#define SOFTWARE_DRIVER_2_LIGHTING
34 	#define SOFTWARE_DRIVER_2_USE_VERTEX_COLOR
35 	#define SOFTWARE_DRIVER_2_16BIT
36 	#define SOFTWARE_DRIVER_2_MIPMAPPING
37 	#define SOFTWARE_DRIVER_2_USE_WBUFFER
38 	//#define SOFTWARE_DRIVER_2_TEXTURE_TRANSFORM
39 	#define SOFTWARE_DRIVER_2_TEXTURE_MAXSIZE		128
40 #endif
41 
42 #ifdef BURNINGVIDEO_RENDERER_FAST
43 	#define SOFTWARE_DRIVER_2_PERSPECTIVE_CORRECT
44 	#define SOFTWARE_DRIVER_2_SUBTEXEL
45 	//#define SOFTWARE_DRIVER_2_BILINEAR
46 	//#define SOFTWARE_DRIVER_2_LIGHTING
47 	//#define SOFTWARE_DRIVER_2_USE_VERTEX_COLOR
48 	#define SOFTWARE_DRIVER_2_32BIT
49 	#define SOFTWARE_DRIVER_2_MIPMAPPING
50 	#define SOFTWARE_DRIVER_2_USE_WBUFFER
51 	#define SOFTWARE_DRIVER_2_TEXTURE_MAXSIZE		0
52 #endif
53 
54 #ifdef BURNINGVIDEO_RENDERER_ULTRA_FAST
55 	#define BURNINGVIDEO_RENDERER_FAST
56 
57 	//#define SOFTWARE_DRIVER_2_PERSPECTIVE_CORRECT
58 	#define SOFTWARE_DRIVER_2_SUBTEXEL
59 	//#define SOFTWARE_DRIVER_2_BILINEAR
60 	//#define SOFTWARE_DRIVER_2_LIGHTING
61 	//#define SOFTWARE_DRIVER_2_USE_VERTEX_COLOR
62 	//#define SOFTWARE_DRIVER_2_32BIT
63 	#define SOFTWARE_DRIVER_2_MIPMAPPING
64 	#define SOFTWARE_DRIVER_2_USE_WBUFFER
65 	#define SOFTWARE_DRIVER_2_TEXTURE_MAXSIZE		0
66 #endif
67 
68 // Derivate flags
69 
70 // texture format
71 #ifdef SOFTWARE_DRIVER_2_32BIT
72 	#define	BURNINGSHADER_COLOR_FORMAT	ECF_A8R8G8B8
73 #else
74 	#define	BURNINGSHADER_COLOR_FORMAT	ECF_A1R5G5B5
75 #endif
76 
77 // mip mapping
78 #if defined ( SOFTWARE_DRIVER_2_MIPMAPPING )
79 	#if defined( BURNINGVIDEO_RENDERER_BEAUTIFUL )
80 		#define SOFTWARE_DRIVER_2_MIPMAPPING_MAX		8
81 		#define SOFTWARE_DRIVER_2_MIPMAPPING_LOD_BIAS	0
82 	#elif defined ( BURNINGVIDEO_RENDERER_CE )
83 		#define SOFTWARE_DRIVER_2_MIPMAPPING_MAX		4
84 		#define SOFTWARE_DRIVER_2_MIPMAPPING_LOD_BIAS	0
85 	#else
86 		#define SOFTWARE_DRIVER_2_MIPMAPPING_MAX		8
87 		#define SOFTWARE_DRIVER_2_MIPMAPPING_LOD_BIAS	0
88 	#endif
89 #else
90 	#define SOFTWARE_DRIVER_2_MIPMAPPING_MAX		1
91 	#define SOFTWARE_DRIVER_2_MIPMAPPING_LOD_BIAS	0
92 #endif
93 
94 #define SOFTWARE_DRIVER_2_MIPMAPPING_SCALE (8/SOFTWARE_DRIVER_2_MIPMAPPING_MAX)
95 
96 #ifndef REALINLINE
97 	#ifdef _MSC_VER
98 		#define REALINLINE __forceinline
99 	#else
100 		#define REALINLINE inline
101 	#endif
102 #endif
103 
104 #endif
105