rendered paste body#include "SkyBox.h"#include <windows.h>#include <mmsystem.h>#include <d3d9.h>#include <d3dx9tex.h>LPDIRECT3DVERTEXBUFFER9 g_pVB = NULL;SkyBox::SkyBox(LPDIRECT3DTEXTURE9 Left, LPDIRECT3DTEXTURE9 Front, LPDIRECT3DTEXTURE9 Right,LPDIRECT3DTEXTURE9 Back, LPDIRECT3DTEXTURE9 Top, LPDIRECT3DTEXTURE9 Bottom){ tSide1 = Left; tSide2 = Front; tSide3 = Right; tSide4 = Back; tSide5 = Top; tSide6 = Bottom;}void SkyBox::SetupBox(float Size, LPDIRECT3DDEVICE9 pd3dDevice){ VERTEX g_Vertices[] = { //TopFront {-Size, Size,-Size, 0.0f,0.0f }, { Size, Size,-Size, 1.0f,0.0f }, {-Size,-Size,-Size, 0.0f,1.0f }, { Size,-Size,-Size, 1.0f,1.0f }, {-Size, Size, Size, 1.0f,0.0f }, {-Size,-Size, Size, 1.0f,1.0f }, { Size, Size, Size, 0.0f,0.0f }, { Size,-Size, Size, 0.0f,1.0f }, {-Size, Size, Size, 0.0f,0.0f }, { Size, Size, Size, 1.0f,0.0f }, {-Size, Size,-Size, 0.0f,1.0f }, { Size, Size,-Size, 1.0f,1.0f }, {-Size,-Size, Size, 0.0f,0.0f }, {-Size,-Size,-Size, 0.0f,1.0f }, { Size,-Size, Size, 1.0f,0.0f }, { Size,-Size,-Size, 1.0f,1.0f }, { Size, Size,-Size, 0.0f,0.0f }, { Size, Size, Size, 1.0f,0.0f }, { Size,-Size,-Size, 0.0f,1.0f }, { Size,-Size, Size, 1.0f,1.0f }, {-Size, Size,-Size, 1.0f,0.0f }, {-Size,-Size,-Size, 1.0f,1.0f }, {-Size, Size, Size, 0.0f,0.0f }, {-Size,-Size, Size, 0.0f,1.0f } }; g_pVB = createVertexBuffer(sizeof(g_Vertices) * sizeof(VERTEX), D3DFVF_VERTEX, pd3dDevice); VOID* pVertices; g_pVB->Lock( 0, sizeof(g_Vertices), (void**)&pVertices, 0 ); // copy the vertices into the buffer memcpy( pVertices, g_Vertices, sizeof(g_Vertices) ); // unlock the vertex buffer g_pVB->Unlock();}void SkyBox::Render(LPDIRECT3DDEVICE9 pd3dDevice){ pd3dDevice->SetStreamSource( 0, g_pVB, 0, sizeof(VERTEX) ); pd3dDevice->SetFVF( D3DFVF_VERTEX ); pd3dDevice->SetRenderState(D3DRS_CULLMODE,D3DCULL_NONE); // Draw the trianglestrips that make up the cube pd3dDevice->SetTexture(0, tSide1); pd3dDevice->DrawPrimitive( D3DPT_TRIANGLESTRIP, 0, 2 ); pd3dDevice->SetTexture(0, tSide3); pd3dDevice->DrawPrimitive( D3DPT_TRIANGLESTRIP, 4, 2 ); pd3dDevice->SetTexture(0, tSide5); pd3dDevice->DrawPrimitive( D3DPT_TRIANGLESTRIP, 8, 2 ); pd3dDevice->SetTexture(0, tSide6); pd3dDevice->DrawPrimitive( D3DPT_TRIANGLESTRIP, 12, 2 ); pd3dDevice->SetTexture(0, tSide2); pd3dDevice->DrawPrimitive( D3DPT_TRIANGLESTRIP, 16, 2 ); pd3dDevice->SetTexture(0, tSide4); pd3dDevice->DrawPrimitive( D3DPT_TRIANGLESTRIP, 20, 2 );}LPDIRECT3DVERTEXBUFFER9 SkyBox::createVertexBuffer(int size, DWORD usage, LPDIRECT3DDEVICE9 pd3dDevice){ LPDIRECT3DVERTEXBUFFER9 buffer; // Create the vertex buffer. pd3dDevice->CreateVertexBuffer( size, 0, usage, D3DPOOL_DEFAULT, &buffer, NULL ); return buffer;}