Mercurial > LightClone
annotate LightClone/Source/Bot.cpp @ 42:91e927584f92
Code cleanup
author | koryspansel |
---|---|
date | Thu, 22 Sep 2011 10:38:54 -0700 |
parents | 2caa7c7e2cb5 |
children | 95677f648a2c |
rev | line source |
---|---|
0 | 1 /* |
2 * Bot | |
3 */ | |
4 | |
5 #include "Bot.h" | |
6 #include "Clock.h" | |
9 | 7 #include "VertexTypes.h" |
0 | 8 |
9 /* | |
10 * DirectionAngle | |
37
58a16d529d95
Refactoring code and adding events for drag and drop
koryspansel <koryspansel@bendbroadband.com>
parents:
27
diff
changeset
|
11 * Angles for the different directions the bot could be facing |
0 | 12 */ |
13 const float DirectionAngle[] = {-1.0f * D3DX_PI / 2.0f, -4.0f * D3DX_PI / 2.0f, -3.0f * D3DX_PI / 2.0f, -2.0f * D3DX_PI / 2.0f}; | |
14 | |
15 /* | |
16 * DirectionStepX | |
17 */ | |
18 const int32 DirectionStepX[] = {0, 1, 0, -1}; | |
19 | |
20 /* | |
21 * DirectionStepY | |
22 */ | |
23 const int32 DirectionStepY[] = {1, 0, -1, 0}; | |
24 | |
25 /* | |
26 * Bot | |
27 */ | |
28 Bot::Bot() | |
29 { | |
30 pEnvironment = 0; | |
31 nState = BotState_Idle; | |
32 kSize = D3DXVECTOR3(0.55f, 1.00f, 0.55f); | |
9 | 33 |
34 pEffect = NULL; | |
35 pVertexBuffer = NULL; | |
36 pTexture = NULL; | |
0 | 37 } |
38 | |
39 /* | |
40 * Initialize | |
41 */ | |
9 | 42 ErrorCode Bot::Initialize(ResourceManager* pResourceManager) |
43 { | |
44 ErrorCode eCode = pResourceManager->CreateEffectFromFile("Data\\Shaders\\Environment.fx", &pEffect); | |
45 if(eCode == Error_Success) | |
46 { | |
47 //eCode = pResourceManager->CreateTextureFromFile("Data\\Textures\\Block02.tga", &pTexture); | |
48 if(eCode == Error_Success) | |
49 { | |
50 eCode = pResourceManager->CreateVertexBuffer(VerticesPerBlock * sizeof(Vertex::Block), D3DUSAGE_WRITEONLY, D3DPOOL_MANAGED, &pVertexBuffer); | |
51 if(eCode == Error_Success) | |
52 { | |
53 eCode = SetupVertexBuffer(); | |
54 } | |
55 } | |
56 } | |
57 | |
58 return eCode; | |
59 } | |
60 | |
61 /* | |
62 * Terminate | |
63 */ | |
64 void Bot::Terminate() | |
65 { | |
66 if(pVertexBuffer) | |
67 { | |
68 pVertexBuffer->Release(); | |
69 pVertexBuffer = NULL; | |
70 } | |
71 } | |
72 | |
73 /* | |
74 * Setup | |
75 */ | |
76 void Bot::Setup(Environment* pInstance) | |
0 | 77 { |
78 pEnvironment = pInstance; | |
79 nState = BotState_Idle; | |
80 nColor = D3DCOLOR_XRGB(0, 255, 0); | |
81 | |
82 kMachine.RemoveAllFunctions(); | |
83 } | |
84 | |
85 /* | |
86 * Reset | |
87 */ | |
88 void Bot::Reset() | |
89 { | |
90 nState = BotState_Idle; | |
91 nColor = D3DCOLOR_XRGB(0, 255, 0); | |
92 | |
93 kMachine.Reset(); | |
94 } | |
95 | |
37
58a16d529d95
Refactoring code and adding events for drag and drop
koryspansel <koryspansel@bendbroadband.com>
parents:
27
diff
changeset
|
96 /* |
58a16d529d95
Refactoring code and adding events for drag and drop
koryspansel <koryspansel@bendbroadband.com>
parents:
27
diff
changeset
|
97 * SetPosition |
58a16d529d95
Refactoring code and adding events for drag and drop
koryspansel <koryspansel@bendbroadband.com>
parents:
27
diff
changeset
|
98 */ |
58a16d529d95
Refactoring code and adding events for drag and drop
koryspansel <koryspansel@bendbroadband.com>
parents:
27
diff
changeset
|
99 void Bot::SetPosition(const Position& kValue) |
58a16d529d95
Refactoring code and adding events for drag and drop
koryspansel <koryspansel@bendbroadband.com>
parents:
27
diff
changeset
|
100 { |
58a16d529d95
Refactoring code and adding events for drag and drop
koryspansel <koryspansel@bendbroadband.com>
parents:
27
diff
changeset
|
101 kPosition = kValue; |
58a16d529d95
Refactoring code and adding events for drag and drop
koryspansel <koryspansel@bendbroadband.com>
parents:
27
diff
changeset
|
102 } |
58a16d529d95
Refactoring code and adding events for drag and drop
koryspansel <koryspansel@bendbroadband.com>
parents:
27
diff
changeset
|
103 |
58a16d529d95
Refactoring code and adding events for drag and drop
koryspansel <koryspansel@bendbroadband.com>
parents:
27
diff
changeset
|
104 /* |
58a16d529d95
Refactoring code and adding events for drag and drop
koryspansel <koryspansel@bendbroadband.com>
parents:
27
diff
changeset
|
105 * SetDirection |
58a16d529d95
Refactoring code and adding events for drag and drop
koryspansel <koryspansel@bendbroadband.com>
parents:
27
diff
changeset
|
106 */ |
58a16d529d95
Refactoring code and adding events for drag and drop
koryspansel <koryspansel@bendbroadband.com>
parents:
27
diff
changeset
|
107 void Bot::SetDirection(uint32 nValue) |
58a16d529d95
Refactoring code and adding events for drag and drop
koryspansel <koryspansel@bendbroadband.com>
parents:
27
diff
changeset
|
108 { |
58a16d529d95
Refactoring code and adding events for drag and drop
koryspansel <koryspansel@bendbroadband.com>
parents:
27
diff
changeset
|
109 kDirection = nValue; |
58a16d529d95
Refactoring code and adding events for drag and drop
koryspansel <koryspansel@bendbroadband.com>
parents:
27
diff
changeset
|
110 } |
58a16d529d95
Refactoring code and adding events for drag and drop
koryspansel <koryspansel@bendbroadband.com>
parents:
27
diff
changeset
|
111 |
0 | 112 /* |
113 * GetWorldPosition | |
114 */ | |
115 const D3DXVECTOR3 Bot::GetWorldPosition() const | |
116 { | |
117 const D3DXVECTOR3& kScale = pEnvironment->GetScale(); | |
118 | |
119 D3DXVECTOR3 kWorldPosition; | |
120 kWorldPosition.x = kScale.x * kPosition.X; | |
121 kWorldPosition.y = kScale.y * pEnvironment->GetAltitude(kPosition.X, kPosition.Y); | |
122 kWorldPosition.z = kScale.z * kPosition.Y; | |
123 | |
124 if(nState == BotState_Animate) | |
125 { | |
126 if(kSequencer.nSequence == BotSequence_Forward) | |
127 { | |
128 kWorldPosition.x = kScale.x * ((int32)kPosition.X + kSequencer.fTimer * ((int32)kSequencer.kPosition.X - (int32)kPosition.X)); | |
129 kWorldPosition.z = kScale.z * ((int32)kPosition.Y + kSequencer.fTimer * ((int32)kSequencer.kPosition.Y - (int32)kPosition.Y)); | |
130 } | |
131 else | |
132 | |
133 if(kSequencer.nSequence == BotSequence_Jump) | |
134 { | |
135 const uint32 nHeightA = pEnvironment->GetAltitude(kPosition.X, kPosition.Y); | |
136 const uint32 nHeightB = pEnvironment->GetAltitude(kSequencer.kPosition.X, kSequencer.kPosition.Y); | |
137 | |
138 const float fDistanceX = kScale.x; | |
139 const float fDistanceY = kScale.y * ((float)nHeightB - (float)nHeightA); | |
140 const float fHeight = nHeightB > nHeightA ? 2.0f * kScale.y : kScale.y; | |
141 | |
142 const float fB = (fHeight - 0.25f * fDistanceY) / (-0.25f * fDistanceX + 0.5f * fDistanceX); | |
143 const float fA = (fDistanceY - fB * fDistanceX) / (fDistanceX * fDistanceX); | |
144 const float fX = kSequencer.fTimer * fDistanceX; | |
145 | |
146 kWorldPosition.x = kScale.x * ((int32)kPosition.X + kSequencer.fTimer * ((int32)kSequencer.kPosition.X - (int32)kPosition.X)); | |
147 kWorldPosition.y = nHeightA * kScale.y + fX * (fA * fX + fB); | |
148 kWorldPosition.z = kScale.z * ((int32)kPosition.Y + kSequencer.fTimer * ((int32)kSequencer.kPosition.Y - (int32)kPosition.Y)); | |
149 } | |
150 } | |
151 | |
152 return kWorldPosition; | |
153 } | |
154 | |
155 /* | |
156 * GetWorldOrientation | |
157 */ | |
158 const D3DXVECTOR3 Bot::GetWorldOrientation() const | |
159 { | |
160 D3DXVECTOR3 kWorldOrientation; | |
161 kWorldOrientation.x = 0.0f; | |
162 kWorldOrientation.y = DirectionAngle[kDirection]; | |
163 kWorldOrientation.z = 0.0f; | |
164 | |
165 if(nState == BotState_Animate) | |
166 { | |
167 if(kSequencer.nSequence == BotSequence_RotateCW || kSequencer.nSequence == BotSequence_RotateCCW) | |
168 { | |
169 kWorldOrientation.y = InterpolateDirection(kDirection, kSequencer.kDirection, kSequencer.fTimer); | |
170 } | |
171 } | |
172 | |
173 return kWorldOrientation; | |
174 } | |
175 | |
176 /* | |
177 * Upload | |
178 */ | |
38 | 179 ErrorCode Bot::Upload(const Program& kProgram) |
0 | 180 { |
38 | 181 ErrorCode eCode = kProgram.Upload(kMachine); |
4 | 182 if(eCode == Error_Success) |
183 { | |
184 nState = BotState_Evaluate; | |
185 } | |
0 | 186 |
187 return eCode; | |
188 } | |
189 | |
190 /* | |
191 * Update | |
192 */ | |
3 | 193 bool Bot::Update(float fElapsed) |
0 | 194 { |
195 if(nState == BotState_Evaluate) | |
196 { | |
197 bool bHandled = false; | |
198 | |
199 kClock.Reset(); | |
200 | |
201 while(!bHandled && kClock.GetElapsed(false) < fElapsed) | |
202 { | |
203 uint32 nAction = kMachine.Step(); | |
204 | |
205 if(Action_Forward <= nAction && nAction <= Action_Light) | |
206 { | |
207 if(nAction == Action_Forward) | |
208 { | |
209 if(pEnvironment->IsMovementValid(nAction, kPosition.X, kPosition.Y, kDirection)) | |
210 { | |
211 kSequencer.kPosition.X = (int32)kPosition.X + DirectionStepX[kDirection]; | |
212 kSequencer.kPosition.Y = (int32)kPosition.Y + DirectionStepY[kDirection]; | |
213 kSequencer.nSequence = BotSequence_Forward; | |
214 kSequencer.fTimer = 0.0f; | |
215 kSequencer.fSpeed = 1.5f; | |
216 nState = BotState_Animate; | |
217 } | |
218 } | |
219 else | |
220 | |
221 if(nAction == Action_RotateCW) | |
222 { | |
223 kSequencer.kDirection = (kDirection + 1) % Direction_Count; | |
224 kSequencer.nSequence = BotSequence_RotateCW; | |
225 kSequencer.fTimer = 0.0f; | |
226 kSequencer.fSpeed = 1.5f; | |
227 nState = BotState_Animate; | |
228 } | |
229 else | |
230 | |
231 if(nAction == Action_RotateCCW) | |
232 { | |
233 nState = BotState_Animate; | |
234 kSequencer.kDirection = (kDirection - 1 + Direction_Count) % Direction_Count; | |
235 kSequencer.nSequence = BotSequence_RotateCCW; | |
236 kSequencer.fTimer = 0.0f; | |
237 kSequencer.fSpeed = 1.5f; | |
238 } | |
239 else | |
240 | |
241 if(nAction == Action_Jump) | |
242 { | |
243 if(pEnvironment->IsMovementValid(nAction, kPosition.X, kPosition.Y, kDirection)) | |
244 { | |
245 kSequencer.kPosition.X = (int32)kPosition.X + DirectionStepX[kDirection]; | |
246 kSequencer.kPosition.Y = (int32)kPosition.Y + DirectionStepY[kDirection]; | |
247 } | |
248 else | |
249 { | |
250 kSequencer.kPosition.X = kPosition.X; | |
251 kSequencer.kPosition.Y = kPosition.Y; | |
252 } | |
253 | |
254 nState = BotState_Animate; | |
255 kSequencer.nSequence = BotSequence_Jump; | |
256 kSequencer.fTimer = 0.0f; | |
257 kSequencer.fSpeed = 1.5f; | |
258 } | |
259 else | |
260 | |
261 if(nAction == Action_Light) | |
262 { | |
263 nState = BotState_Animate; | |
264 nColor = D3DCOLOR_XRGB(0, 0, 255); | |
265 kSequencer.nSequence = BotSequence_Light; | |
266 kSequencer.fTimer = 0.0f; | |
267 kSequencer.fSpeed = 3.0f; | |
268 } | |
269 | |
270 bHandled = true; | |
271 } | |
272 } | |
273 } | |
274 else | |
275 | |
276 if(nState == BotState_Animate) | |
277 { | |
278 kSequencer.fTimer += kSequencer.fSpeed * fElapsed; | |
279 if(kSequencer.fTimer >= 1.0f) | |
280 { | |
281 if(kSequencer.nSequence == BotSequence_Forward) | |
282 { | |
283 nState = BotState_Pause; | |
284 kPosition = kSequencer.kPosition; | |
285 kSequencer.fTimer = 0.4f; | |
286 } | |
287 else | |
288 | |
289 if(kSequencer.nSequence == BotSequence_RotateCW) | |
290 { | |
291 nState = BotState_Pause; | |
292 kDirection = kSequencer.kDirection; | |
293 kSequencer.fTimer = 0.4f; | |
294 } | |
295 else | |
296 | |
297 if(kSequencer.nSequence == BotSequence_RotateCCW) | |
298 { | |
299 nState = BotState_Pause; | |
300 kDirection = kSequencer.kDirection; | |
301 kSequencer.fTimer = 0.4f; | |
302 } | |
303 else | |
304 | |
305 if(kSequencer.nSequence == BotSequence_Jump) | |
306 { | |
307 nState = BotState_Pause; | |
308 kPosition = kSequencer.kPosition; | |
309 kSequencer.fTimer = 0.4f; | |
310 } | |
311 else | |
312 | |
313 if(kSequencer.nSequence == BotSequence_Light) | |
314 { | |
315 pEnvironment->NotifyAction(kPosition.X, kPosition.Y); | |
316 | |
317 nState = BotState_Pause; | |
318 nColor = D3DCOLOR_XRGB(0, 255, 0); | |
319 kSequencer.fTimer = 0.4f; | |
320 } | |
321 } | |
322 } | |
323 else | |
324 | |
325 if(nState == BotState_Pause) | |
326 { | |
327 kSequencer.fTimer -= fElapsed; | |
328 if(kSequencer.fTimer <= 0.0f) | |
329 { | |
330 nState = BotState_Evaluate; | |
3 | 331 return true; |
0 | 332 } |
333 } | |
3 | 334 |
335 return false; | |
0 | 336 } |
9 | 337 |
338 /* | |
339 * Render | |
340 */ | |
341 void Bot::Render(RenderContext& kContext, Camera& kCamera) | |
342 { | |
343 const D3DXVECTOR3& kPosition = GetWorldPosition(); | |
344 const D3DXVECTOR3& kOrientation = GetWorldOrientation(); | |
345 | |
38 | 346 const float fOffsetX = -0.5f * (pEnvironment->GetWidth() * pEnvironment->GetScale().x) + 0.5f * pEnvironment->GetScale().x; |
347 const float fOffsetZ = -0.5f * (pEnvironment->GetHeight() * pEnvironment->GetScale().z) + 0.5f * pEnvironment->GetScale().z; | |
9 | 348 |
349 uint32 nPasses = 0; | |
350 | |
10
292e534f00c2
Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
9
diff
changeset
|
351 kContext.ApplyCameraToEffect(kCamera, pEffect); |
9 | 352 |
353 pEffect->SetTechnique(pEffect->GetTechnique(0)); | |
354 pEffect->Begin(&nPasses, 0); | |
355 pEffect->BeginPass(0); | |
356 | |
357 D3DXMATRIX kScale; | |
358 D3DXMatrixScaling(&kScale, kSize.x, kSize.y, kSize.z); | |
359 | |
360 D3DXMATRIX kTranslate; | |
361 D3DXMatrixTranslation(&kTranslate, fOffsetX + kPosition.x, kPosition.y, fOffsetZ + kPosition.z); | |
362 | |
363 D3DXMATRIX kRotate; | |
364 D3DXMatrixRotationY(&kRotate, kOrientation.y); | |
365 | |
366 D3DXMATRIX kTempMatrix; | |
367 D3DXMATRIX kWorldMatrix; | |
368 D3DXMatrixMultiply(&kWorldMatrix, D3DXMatrixMultiply(&kTempMatrix, &kScale, &kRotate), &kTranslate); | |
369 | |
370 const float fAlpha = ((nColor >> 24) & 0xFF) / 255.0f; | |
371 const float fRed = ((nColor >> 16) & 0xFF) / 255.0f; | |
372 const float fGreen = ((nColor >> 8 ) & 0xFF) / 255.0f; | |
373 const float fBlue = ((nColor >> 0 ) & 0xFF) / 255.0f; | |
374 | |
375 const D3DXVECTOR4 kColorVector(fRed, fGreen, fBlue, fAlpha); | |
376 | |
377 pEffect->SetMatrix(pEffect->GetParameterByName(NULL, "kWorld"), &kWorldMatrix); | |
378 pEffect->SetVector(pEffect->GetParameterByName(NULL, "kColor"), &kColorVector); | |
379 pEffect->SetTexture(pEffect->GetParameterByName(NULL, "kTexture"), pTexture); | |
380 pEffect->CommitChanges(); | |
381 | |
382 kContext.DrawTriangles(Vertex::Block::Declaration, pVertexBuffer, sizeof(Vertex::Block), FacesPerCube * TrianglesPerFace); | |
383 | |
384 pEffect->EndPass(); | |
385 pEffect->End(); | |
386 } | |
387 | |
388 /* | |
389 * SetupVertexBuffer | |
390 */ | |
391 ErrorCode Bot::SetupVertexBuffer() | |
392 { | |
393 Vertex::Block* pVertices = NULL; | |
394 | |
395 HRESULT hResult = pVertexBuffer->Lock(0, 0, (void**)&pVertices, D3DLOCK_DISCARD); | |
396 if(FAILED(hResult)) | |
397 { | |
398 return Error_Fail; | |
399 } | |
400 | |
401 const float fU1 = 0.66f; | |
402 const float fV1 = 0.66f; | |
403 | |
404 // front | |
405 pVertices[0] = Vertex::Block(-0.5f, 0.0f, -0.5f, 0.0f, 0.0f, -1.0f, 0.00f, 1.00f); | |
406 pVertices[1] = Vertex::Block(-0.5f, 1.0f, -0.5f, 0.0f, 0.0f, -1.0f, 0.00f, 0.66f); | |
407 pVertices[2] = Vertex::Block(+0.5f, 1.0f, -0.5f, 0.0f, 0.0f, -1.0f, 1.00f, 0.66f); | |
408 pVertices[3] = Vertex::Block(-0.5f, 0.0f, -0.5f, 0.0f, 0.0f, -1.0f, 0.00f, 1.00f); | |
409 pVertices[4] = Vertex::Block(+0.5f, 1.0f, -0.5f, 0.0f, 0.0f, -1.0f, 1.00f, 0.66f); | |
410 pVertices[5] = Vertex::Block(+0.5f, 0.0f, -0.5f, 0.0f, 0.0f, -1.0f, 1.00f, 1.00f); | |
411 // back | |
412 pVertices[6] = Vertex::Block(+0.5f, 0.0f, +0.5f, 0.0f, 0.0f, +1.0f, 0.00f, 1.00f); | |
413 pVertices[7] = Vertex::Block(+0.5f, 1.0f, +0.5f, 0.0f, 0.0f, +1.0f, 0.00f, 0.66f); | |
414 pVertices[8] = Vertex::Block(-0.5f, 1.0f, +0.5f, 0.0f, 0.0f, +1.0f, 1.00f, 0.66f); | |
415 pVertices[9] = Vertex::Block(+0.5f, 0.0f, +0.5f, 0.0f, 0.0f, +1.0f, 0.00f, 1.00f); | |
416 pVertices[10] = Vertex::Block(-0.5f, 1.0f, +0.5f, 0.0f, 0.0f, +1.0f, 1.00f, 0.66f); | |
417 pVertices[11] = Vertex::Block(-0.5f, 0.0f, +0.5f, 0.0f, 0.0f, +1.0f, 1.00f, 1.00f); | |
418 // left | |
419 pVertices[12] = Vertex::Block(-0.5f, 0.0f, +0.5f, -1.0f, 0.0f, 0.0f, 0.00f, 1.00f); | |
420 pVertices[13] = Vertex::Block(-0.5f, 1.0f, +0.5f, -1.0f, 0.0f, 0.0f, 0.00f, 0.66f); | |
421 pVertices[14] = Vertex::Block(-0.5f, 1.0f, -0.5f, -1.0f, 0.0f, 0.0f, 1.00f, 0.66f); | |
422 pVertices[15] = Vertex::Block(-0.5f, 0.0f, +0.5f, -1.0f, 0.0f, 0.0f, 0.00f, 1.00f); | |
423 pVertices[16] = Vertex::Block(-0.5f, 1.0f, -0.5f, -1.0f, 0.0f, 0.0f, 1.00f, 0.66f); | |
424 pVertices[17] = Vertex::Block(-0.5f, 0.0f, -0.5f, -1.0f, 0.0f, 0.0f, 1.00f, 1.00f); | |
425 // right | |
426 pVertices[18] = Vertex::Block(+0.5f, 0.0f, -0.5f, +1.0f, 0.0f, 0.0f, 0.00f, 1.00f); | |
427 pVertices[19] = Vertex::Block(+0.5f, 1.0f, -0.5f, +1.0f, 0.0f, 0.0f, 0.00f, 0.66f); | |
428 pVertices[20] = Vertex::Block(+0.5f, 1.0f, +0.5f, +1.0f, 0.0f, 0.0f, 1.00f, 0.66f); | |
429 pVertices[21] = Vertex::Block(+0.5f, 0.0f, -0.5f, +1.0f, 0.0f, 0.0f, 0.00f, 1.00f); | |
430 pVertices[22] = Vertex::Block(+0.5f, 1.0f, +0.5f, +1.0f, 0.0f, 0.0f, 1.00f, 0.66f); | |
431 pVertices[23] = Vertex::Block(+0.5f, 0.0f, +0.5f, +1.0f, 0.0f, 0.0f, 1.00f, 1.00f); | |
432 // top | |
433 pVertices[24] = Vertex::Block(-0.5f, 1.0f, -0.5f, 0.0f, +1.0f, 0.0f, 0.00f, 0.66f); | |
434 pVertices[25] = Vertex::Block(-0.5f, 1.0f, +0.5f, 0.0f, +1.0f, 0.0f, 0.00f, 0.00f); | |
435 pVertices[26] = Vertex::Block(+0.5f, 1.0f, +0.5f, 0.0f, +1.0f, 0.0f, 1.00f, 0.00f); | |
436 pVertices[27] = Vertex::Block(-0.5f, 1.0f, -0.5f, 0.0f, +1.0f, 0.0f, 0.00f, 0.66f); | |
437 pVertices[28] = Vertex::Block(+0.5f, 1.0f, +0.5f, 0.0f, +1.0f, 0.0f, 1.00f, 0.00f); | |
438 pVertices[29] = Vertex::Block(+0.5f, 1.0f, -0.5f, 0.0f, +1.0f, 0.0f, 1.00f, 0.66f); | |
439 // bottom | |
440 pVertices[30] = Vertex::Block(-0.5f, 0.0f, +0.5f, 0.0f, -1.0f, 0.0f, 0.00f, 0.66f); | |
441 pVertices[31] = Vertex::Block(-0.5f, 0.0f, -0.5f, 0.0f, -1.0f, 0.0f, 0.00f, 0.00f); | |
442 pVertices[32] = Vertex::Block(+0.5f, 0.0f, -0.5f, 0.0f, -1.0f, 0.0f, 1.00f, 0.00f); | |
443 pVertices[33] = Vertex::Block(-0.5f, 0.0f, +0.5f, 0.0f, -1.0f, 0.0f, 0.00f, 0.66f); | |
444 pVertices[34] = Vertex::Block(+0.5f, 0.0f, -0.5f, 0.0f, -1.0f, 0.0f, 1.00f, 0.00f); | |
445 pVertices[35] = Vertex::Block(+0.5f, 0.0f, +0.5f, 0.0f, -1.0f, 0.0f, 1.00f, 0.66f); | |
446 | |
447 pVertexBuffer->Unlock(); | |
448 | |
449 return Error_Success; | |
450 } |