raSystem  1.0 bata
raSkyBox.cpp
Go to the documentation of this file.
1 #include "..\include\raMain.h"
2 
3 namespace System
4 {
6  {
7  m_nVertices = 8;
8  m_nIndices = 36;
9 
10  m_DrawOder = 0;
11  m_bDepthDisable = true;
12  }
14  raEntity(dx, new raTexturedMaterial(dx.get(), "raEffects\\SkyBoxEffect.fx", "RenderSkyBox",
15  texFileName, "g_SkyboxTexture"))
16  {
17  m_nVertices = 8;
18  m_nIndices = 36;
19 
20  m_DrawOder = 0;
21  m_bDepthDisable = true;
22  }
24  {
26  m_pVertices[0].position.x = -1.0f;
27  m_pVertices[0].position.y = -1.0f;
28  m_pVertices[0].position.z = -1.0f;
29 
30  m_pVertices[1].position.x = -1.0f;
31  m_pVertices[1].position.y = 1.0f;
32  m_pVertices[1].position.z = -1.0f;
33 
34  m_pVertices[2].position.x = 1.0f;
35  m_pVertices[2].position.y = -1.0f;
36  m_pVertices[2].position.z = -1.0f;
37 
38  m_pVertices[3].position.x = 1.0f;
39  m_pVertices[3].position.y = 1.0f;
40  m_pVertices[3].position.z = -1.0f;
41 
42  m_pVertices[4].position.x = -1.0f;
43  m_pVertices[4].position.y = -1.0f;
44  m_pVertices[4].position.z = 1.0f;
45 
46  m_pVertices[5].position.x = -1.0f;
47  m_pVertices[5].position.y = 1.0f;
48  m_pVertices[5].position.z = 1.0f;
49 
50  m_pVertices[6].position.x = 1.0f;
51  m_pVertices[6].position.y = -1.0f;
52  m_pVertices[6].position.z = 1.0f;
53 
54  m_pVertices[7].position.x = 1.0f;
55  m_pVertices[7].position.y = 1.0f;
56  m_pVertices[7].position.z = 1.0f;
57 
58  for(UINT i = 0; i < m_nVertices; i++)
59  {
61  }
62  }
64  {
66 
67  //vorn
68  m_pIndices[0] = 0;
69  m_pIndices[1] = 2;
70  m_pIndices[2] = 1;
71  m_pIndices[3] = 1;
72  m_pIndices[4] = 2;
73  m_pIndices[5] = 3;
74 
75  //hinten
76  m_pIndices[6] = 4;
77  m_pIndices[7] = 5;
78  m_pIndices[8] = 6;
79  m_pIndices[9] = 5;
80  m_pIndices[10] = 7;
81  m_pIndices[11] = 6;
82 
83  //links
84  m_pIndices[12] = 4;
85  m_pIndices[13] = 1;
86  m_pIndices[14] = 5;
87  m_pIndices[15] = 4;
88  m_pIndices[16] = 0;
89  m_pIndices[17] = 1;
90 
91  //rechts
92  m_pIndices[18] = 2;
93  m_pIndices[19] = 7;
94  m_pIndices[20] = 3;
95  m_pIndices[21] = 2;
96  m_pIndices[22] = 6;
97  m_pIndices[23] = 7;
98 
99  //unten
100  m_pIndices[24] = 0;
101  m_pIndices[25] = 4;
102  m_pIndices[26] = 6;
103  m_pIndices[27] = 0;
104  m_pIndices[28] = 6;
105  m_pIndices[29] = 2;
106 
107  //oben
108  m_pIndices[30] = 1;
109  m_pIndices[31] = 7;
110  m_pIndices[32] = 5;
111  m_pIndices[33] = 1;
112  m_pIndices[34] = 3;
113  m_pIndices[35] = 7;
114 
115  m_pSubsets[0].IndexStart = 0;
117  }
118  void raSkyBox::SetupEffectVariables(const raMatrix& pView, const raMatrix& pProj,
119  const raLight* pLight)
120  {
121  float zf = pProj.m43 / ( 1 - pProj.m33);
122  float scale = 0.04f * zf;
123  raMatrix mScale;
124  mScale = raMatrixScaling(raVector3(scale, scale,scale));
125 
126  raMatrix worldTmp(mScale * m_World);
127  raMatrix viewTmp(pView);
128 
129  viewTmp.m41 = 0;
130  viewTmp.m42 = 0;
131  viewTmp.m43 = 0;
132 
133  raMatrix mWorldView, mWorldViewProjection;
134  mWorldView = worldTmp * viewTmp;
135  mWorldViewProjection = mWorldView * pProj;
136 
137  for (DWORD matNo = 0; matNo < m_numMaterials; matNo++)
138  {
139  m_pMaterials[matNo]->SetupPerFrame(pLight);
140  m_pMaterials[matNo]->SetupPerObject(worldTmp, mWorldView, mWorldViewProjection);
141  }
142  }
143 };
raFloat y
Definition: raVector3.h:13
Definition: raLight.h:5
raFloat x
Definition: raVector3.h:12
virtual void SetupPerFrame(const raLight *Light, const raMatrix *pView=NULL, const raMatrix *pProj=NULL)
Definition: raMaterial.cpp:135
UINT m_DrawOder
Definition: raVisual.h:95
unsigned short UINT16
Definition: d3dx11dbg.h:35
CUBEMAPVERTEX * m_pVertices
Definition: raEntity.h:39
UINT64 IndexCount
Definition: raSDKmesh.h:142
raVector3 texcoord
Definition: raVectexType.h:115
float m33
Definition: raMatrix.h:12
virtual void SetupIndices()
Definition: raSkyBox.cpp:63
RAPI raMatrix raMatrixScaling(const raVector3 &v)
Definition: raMatrix.cpp:100
raFloat z
Definition: raVector3.h:14
SDKMESH_SUBSET * m_pSubsets
Definition: raVisual.h:121
UINT64 IndexStart
Definition: raSDKmesh.h:141
float m41
Definition: raMatrix.h:12
virtual void SetupVertices()
Definition: raSkyBox.cpp:23
raMaterial ** m_pMaterials
Definition: raVisual.h:97
bool m_bDepthDisable
Definition: raVisual.h:114
raVector3 position
Definition: raVectexType.h:114
virtual void SetupEffectVariables(const raMatrix &pView, const raMatrix &pProj, const raLight *pLight)
Definition: raSkyBox.cpp:118
virtual void SetupPerObject(const raMatrix &mWorld, const raMatrix &mWorldView, const raMatrix &mWorldViewProjection)
Definition: raMaterial.cpp:121
raMatrix m_World
Definition: raRender.h:34
raSkyBox(raSmartPointer< raDirectX > dx, raMaterial *pMaterial)
Definition: raSkyBox.cpp:5
float m43
Definition: raMatrix.h:12
DWORD m_numMaterials
Definition: raVisual.h:96
float m42
Definition: raMatrix.h:12