aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/libraries/irrlicht-1.8/source/Irrlicht/CD3D9ShaderMaterialRenderer.h
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/irrlicht-1.8/source/Irrlicht/CD3D9ShaderMaterialRenderer.h')
-rw-r--r--libraries/irrlicht-1.8/source/Irrlicht/CD3D9ShaderMaterialRenderer.h204
1 files changed, 102 insertions, 102 deletions
diff --git a/libraries/irrlicht-1.8/source/Irrlicht/CD3D9ShaderMaterialRenderer.h b/libraries/irrlicht-1.8/source/Irrlicht/CD3D9ShaderMaterialRenderer.h
index 2c2bb19..2f9d301 100644
--- a/libraries/irrlicht-1.8/source/Irrlicht/CD3D9ShaderMaterialRenderer.h
+++ b/libraries/irrlicht-1.8/source/Irrlicht/CD3D9ShaderMaterialRenderer.h
@@ -1,102 +1,102 @@
1// Copyright (C) 2002-2012 Nikolaus Gebhardt 1// Copyright (C) 2002-2012 Nikolaus Gebhardt
2// This file is part of the "Irrlicht Engine". 2// This file is part of the "Irrlicht Engine".
3// For conditions of distribution and use, see copyright notice in irrlicht.h 3// For conditions of distribution and use, see copyright notice in irrlicht.h
4 4
5#ifndef __C_D3D9_SHADER_MATERIAL_RENDERER_H_INCLUDED__ 5#ifndef __C_D3D9_SHADER_MATERIAL_RENDERER_H_INCLUDED__
6#define __C_D3D9_SHADER_MATERIAL_RENDERER_H_INCLUDED__ 6#define __C_D3D9_SHADER_MATERIAL_RENDERER_H_INCLUDED__
7 7
8#include "IrrCompileConfig.h" 8#include "IrrCompileConfig.h"
9#ifdef _IRR_WINDOWS_ 9#ifdef _IRR_WINDOWS_
10 10
11#ifdef _IRR_COMPILE_WITH_DIRECT3D_9_ 11#ifdef _IRR_COMPILE_WITH_DIRECT3D_9_
12#if defined(__BORLANDC__) || defined (__BCPLUSPLUS__) 12#if defined(__BORLANDC__) || defined (__BCPLUSPLUS__)
13#include "irrMath.h" // needed by borland for sqrtf define 13#include "irrMath.h" // needed by borland for sqrtf define
14#endif 14#endif
15#include <d3dx9shader.h> 15#include <d3dx9shader.h>
16 16
17#include "IMaterialRenderer.h" 17#include "IMaterialRenderer.h"
18 18
19namespace irr 19namespace irr
20{ 20{
21namespace video 21namespace video
22{ 22{
23 23
24class IVideoDriver; 24class IVideoDriver;
25class IShaderConstantSetCallBack; 25class IShaderConstantSetCallBack;
26class IMaterialRenderer; 26class IMaterialRenderer;
27 27
28//! Class for using vertex and pixel shaders with D3D9 28//! Class for using vertex and pixel shaders with D3D9
29class CD3D9ShaderMaterialRenderer : public IMaterialRenderer 29class CD3D9ShaderMaterialRenderer : public IMaterialRenderer
30{ 30{
31public: 31public:
32 32
33 //! Public constructor 33 //! Public constructor
34 CD3D9ShaderMaterialRenderer(IDirect3DDevice9* d3ddev, video::IVideoDriver* driver, 34 CD3D9ShaderMaterialRenderer(IDirect3DDevice9* d3ddev, video::IVideoDriver* driver,
35 s32& outMaterialTypeNr, const c8* vertexShaderProgram, const c8* pixelShaderProgram, 35 s32& outMaterialTypeNr, const c8* vertexShaderProgram, const c8* pixelShaderProgram,
36 IShaderConstantSetCallBack* callback, IMaterialRenderer* baseMaterial, s32 userData); 36 IShaderConstantSetCallBack* callback, IMaterialRenderer* baseMaterial, s32 userData);
37 37
38 //! Destructor 38 //! Destructor
39 ~CD3D9ShaderMaterialRenderer(); 39 ~CD3D9ShaderMaterialRenderer();
40 40
41 virtual void OnSetMaterial(const video::SMaterial& material, const video::SMaterial& lastMaterial, 41 virtual void OnSetMaterial(const video::SMaterial& material, const video::SMaterial& lastMaterial,
42 bool resetAllRenderstates, video::IMaterialRendererServices* services); 42 bool resetAllRenderstates, video::IMaterialRendererServices* services);
43 43
44 virtual void OnUnsetMaterial(); 44 virtual void OnUnsetMaterial();
45 45
46 virtual bool OnRender(IMaterialRendererServices* service, E_VERTEX_TYPE vtxtype); 46 virtual bool OnRender(IMaterialRendererServices* service, E_VERTEX_TYPE vtxtype);
47 47
48 //! Returns if the material is transparent. 48 //! Returns if the material is transparent.
49 virtual bool isTransparent() const; 49 virtual bool isTransparent() const;
50 50
51protected: 51protected:
52 52
53 //! constructor only for use by derived classes who want to 53 //! constructor only for use by derived classes who want to
54 //! create a fall back material for example. 54 //! create a fall back material for example.
55 CD3D9ShaderMaterialRenderer(IDirect3DDevice9* d3ddev, 55 CD3D9ShaderMaterialRenderer(IDirect3DDevice9* d3ddev,
56 video::IVideoDriver* driver, 56 video::IVideoDriver* driver,
57 IShaderConstantSetCallBack* callback, 57 IShaderConstantSetCallBack* callback,
58 IMaterialRenderer* baseMaterial, 58 IMaterialRenderer* baseMaterial,
59 s32 userData=0); 59 s32 userData=0);
60 60
61 void init(s32& outMaterialTypeNr, const c8* vertexShaderProgram, const c8* pixelShaderProgram); 61 void init(s32& outMaterialTypeNr, const c8* vertexShaderProgram, const c8* pixelShaderProgram);
62 bool createPixelShader(const c8* pxsh); 62 bool createPixelShader(const c8* pxsh);
63 bool createVertexShader(const char* vtxsh); 63 bool createVertexShader(const char* vtxsh);
64 64
65 HRESULT stubD3DXAssembleShader(LPCSTR pSrcData, UINT SrcDataLen, 65 HRESULT stubD3DXAssembleShader(LPCSTR pSrcData, UINT SrcDataLen,
66 CONST D3DXMACRO* pDefines, LPD3DXINCLUDE pInclude, 66 CONST D3DXMACRO* pDefines, LPD3DXINCLUDE pInclude,
67 DWORD Flags, LPD3DXBUFFER* ppShader, 67 DWORD Flags, LPD3DXBUFFER* ppShader,
68 LPD3DXBUFFER* ppErrorMsgs); 68 LPD3DXBUFFER* ppErrorMsgs);
69 69
70 HRESULT stubD3DXAssembleShaderFromFile(LPCSTR pSrcFile, 70 HRESULT stubD3DXAssembleShaderFromFile(LPCSTR pSrcFile,
71 CONST D3DXMACRO* pDefines, LPD3DXINCLUDE pInclude, DWORD Flags, 71 CONST D3DXMACRO* pDefines, LPD3DXINCLUDE pInclude, DWORD Flags,
72 LPD3DXBUFFER* ppShader, LPD3DXBUFFER* ppErrorMsgs); 72 LPD3DXBUFFER* ppShader, LPD3DXBUFFER* ppErrorMsgs);
73 73
74 HRESULT stubD3DXCompileShader(LPCSTR pSrcData, UINT SrcDataLen, CONST D3DXMACRO* pDefines, 74 HRESULT stubD3DXCompileShader(LPCSTR pSrcData, UINT SrcDataLen, CONST D3DXMACRO* pDefines,
75 LPD3DXINCLUDE pInclude, LPCSTR pFunctionName, 75 LPD3DXINCLUDE pInclude, LPCSTR pFunctionName,
76 LPCSTR pProfile, DWORD Flags, LPD3DXBUFFER* ppShader, 76 LPCSTR pProfile, DWORD Flags, LPD3DXBUFFER* ppShader,
77 LPD3DXBUFFER* ppErrorMsgs, LPD3DXCONSTANTTABLE* ppConstantTable); 77 LPD3DXBUFFER* ppErrorMsgs, LPD3DXCONSTANTTABLE* ppConstantTable);
78 78
79 HRESULT stubD3DXCompileShaderFromFile(LPCSTR pSrcFile, CONST D3DXMACRO* pDefines, 79 HRESULT stubD3DXCompileShaderFromFile(LPCSTR pSrcFile, CONST D3DXMACRO* pDefines,
80 LPD3DXINCLUDE pInclude, LPCSTR pFunctionName, 80 LPD3DXINCLUDE pInclude, LPCSTR pFunctionName,
81 LPCSTR pProfile, DWORD Flags, LPD3DXBUFFER* ppShader, LPD3DXBUFFER* ppErrorMsgs, 81 LPCSTR pProfile, DWORD Flags, LPD3DXBUFFER* ppShader, LPD3DXBUFFER* ppErrorMsgs,
82 LPD3DXCONSTANTTABLE* ppConstantTable); 82 LPD3DXCONSTANTTABLE* ppConstantTable);
83 83
84 IDirect3DDevice9* pID3DDevice; 84 IDirect3DDevice9* pID3DDevice;
85 video::IVideoDriver* Driver; 85 video::IVideoDriver* Driver;
86 IShaderConstantSetCallBack* CallBack; 86 IShaderConstantSetCallBack* CallBack;
87 IMaterialRenderer* BaseMaterial; 87 IMaterialRenderer* BaseMaterial;
88 88
89 IDirect3DVertexShader9* VertexShader; 89 IDirect3DVertexShader9* VertexShader;
90 IDirect3DVertexShader9* OldVertexShader; 90 IDirect3DVertexShader9* OldVertexShader;
91 IDirect3DPixelShader9* PixelShader; 91 IDirect3DPixelShader9* PixelShader;
92 s32 UserData; 92 s32 UserData;
93}; 93};
94 94
95 95
96} // end namespace video 96} // end namespace video
97} // end namespace irr 97} // end namespace irr
98 98
99#endif 99#endif
100#endif 100#endif
101#endif 101#endif
102 102