]> git.lizzy.rs Git - irrlicht.git/blob - source/Irrlicht/CD3D9NormalMapRenderer.h
Fix path issues when imported as subdirectory
[irrlicht.git] / source / Irrlicht / CD3D9NormalMapRenderer.h
1 // Copyright (C) 2002-2012 Nikolaus Gebhardt\r
2 // This file is part of the "Irrlicht Engine".\r
3 // For conditions of distribution and use, see copyright notice in irrlicht.h\r
4 \r
5 #ifndef __C_D3D9_NORMAL_MAPMATERIAL_RENDERER_H_INCLUDED__\r
6 #define __C_D3D9_NORMAL_MAPMATERIAL_RENDERER_H_INCLUDED__\r
7 \r
8 #include "IrrCompileConfig.h"\r
9 #ifdef _IRR_WINDOWS_\r
10 \r
11 #ifdef _IRR_COMPILE_WITH_DIRECT3D_9_\r
12 #if defined(__BORLANDC__) || defined (__BCPLUSPLUS__)\r
13 #include "irrMath.h"    // needed by borland for sqrtf define\r
14 #endif\r
15 #include <d3d9.h>\r
16 \r
17 #include "CD3D9ShaderMaterialRenderer.h"\r
18 #include "IShaderConstantSetCallBack.h"\r
19 \r
20 namespace irr\r
21 {\r
22 namespace video\r
23 {\r
24 \r
25 //! Renderer for normal maps\r
26 class CD3D9NormalMapRenderer :\r
27         public CD3D9ShaderMaterialRenderer, IShaderConstantSetCallBack\r
28 {\r
29 public:\r
30 \r
31         CD3D9NormalMapRenderer(\r
32                 IDirect3DDevice9* d3ddev, video::IVideoDriver* driver,\r
33                 s32& outMaterialTypeNr, IMaterialRenderer* baseMaterial);\r
34 \r
35         ~CD3D9NormalMapRenderer();\r
36 \r
37         //! Called by the engine when the vertex and/or pixel shader constants for an\r
38         //! material renderer should be set.\r
39         virtual void OnSetConstants(IMaterialRendererServices* services, s32 userData) _IRR_OVERRIDE_;\r
40 \r
41         virtual bool OnRender(IMaterialRendererServices* service, E_VERTEX_TYPE vtxtype) _IRR_OVERRIDE_;\r
42 \r
43         //! Returns the render capability of the material.\r
44         virtual s32 getRenderCapability() const _IRR_OVERRIDE_;\r
45 \r
46 private:\r
47 \r
48 };\r
49 \r
50 } // end namespace video\r
51 } // end namespace irr\r
52 \r
53 #endif\r
54 #endif\r
55 #endif\r
56 \r