Advertisement
Guest User

Untitled

a guest
Jun 24th, 2017
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.83 KB | None | 0 0
  1. void init_graphics(void)
  2. {
  3.     // create the vertices using the CUSTOMVERTEX struct
  4.     CUSTOMVERTEX vertices[] =
  5.     {
  6.         { -3.0f, -3.0f, 3.0f, 0.0f, 0.0f, 1.0f, },    // side 1
  7.         { 3.0f, -3.0f, 3.0f, 0.0f, 0.0f, 1.0f, },
  8.         { -3.0f, 3.0f, 3.0f, 0.0f, 0.0f, 1.0f, },
  9.         { 3.0f, 3.0f, 3.0f, 0.0f, 0.0f, 1.0f, },
  10.  
  11.         { -3.0f, -3.0f, -3.0f, 0.0f, 0.0f, -1.0f, },    // side 2
  12.         { -3.0f, 3.0f, -3.0f, 0.0f, 0.0f, -1.0f, },
  13.         { 3.0f, -3.0f, -3.0f, 0.0f, 0.0f, -1.0f, },
  14.         { 3.0f, 3.0f, -3.0f, 0.0f, 0.0f, -1.0f, },
  15.  
  16.         { -3.0f, 3.0f, -3.0f, 0.0f, 1.0f, 0.0f, },    // side 3
  17.         { -3.0f, 3.0f, 3.0f, 0.0f, 1.0f, 0.0f, },
  18.         { 3.0f, 3.0f, -3.0f, 0.0f, 1.0f, 0.0f, },
  19.         { 3.0f, 3.0f, 3.0f, 0.0f, 1.0f, 0.0f, },
  20.  
  21.         { -3.0f, -3.0f, -3.0f, 0.0f, -1.0f, 0.0f, },    // side 4
  22.         { 3.0f, -3.0f, -3.0f, 0.0f, -1.0f, 0.0f, },
  23.         { -3.0f, -3.0f, 3.0f, 0.0f, -1.0f, 0.0f, },
  24.         { 3.0f, -3.0f, 3.0f, 0.0f, -1.0f, 0.0f, },
  25.  
  26.         { 3.0f, -3.0f, -3.0f, 1.0f, 0.0f, 0.0f, },    // side 5
  27.         { 3.0f, 3.0f, -3.0f, 1.0f, 0.0f, 0.0f, },
  28.         { 3.0f, -3.0f, 3.0f, 1.0f, 0.0f, 0.0f, },
  29.         { 3.0f, 3.0f, 3.0f, 1.0f, 0.0f, 0.0f, },
  30.  
  31.         { -3.0f, -3.0f, -3.0f, -1.0f, 0.0f, 0.0f, },    // side 6
  32.         { -3.0f, -3.0f, 3.0f, -1.0f, 0.0f, 0.0f, },
  33.         { -3.0f, 3.0f, -3.0f, -1.0f, 0.0f, 0.0f, },
  34.         { -3.0f, 3.0f, 3.0f, -1.0f, 0.0f, 0.0f, },
  35.     };
  36.  
  37.     // create a vertex buffer interface called v_buffer
  38.     d3ddev->CreateVertexBuffer(24*sizeof(CUSTOMVERTEX),
  39.                                0,
  40.                                CUSTOMFVF,
  41.                                D3DPOOL_MANAGED,
  42.                                &v_buffer,
  43.                                NULL);
  44.  
  45.     VOID* pVoid;    // a void pointer
  46.  
  47.     // lock v_buffer and load the vertices into it
  48.     v_buffer->Lock(0, 0, (void**)&pVoid, 0);
  49.     memcpy(pVoid, vertices, sizeof(vertices));
  50.     v_buffer->Unlock();
  51.  
  52.     // create the indices using an int array
  53.     short indices[] =
  54.     {
  55.         0, 1, 2,    // side 1
  56.         2, 1, 3,
  57.         4, 5, 6,    // side 2
  58.         6, 5, 7,
  59.         8, 9, 10,    // side 3
  60.         10, 9, 11,
  61.         12, 13, 14,    // side 4
  62.         14, 13, 15,
  63.         16, 17, 18,    // side 5
  64.         18, 17, 19,
  65.         20, 21, 22,    // side 6
  66.         22, 21, 23,
  67.     };
  68.  
  69.     // create an index buffer interface called i_buffer
  70.     d3ddev->CreateIndexBuffer(36*sizeof(short),
  71.                               0,
  72.                               D3DFMT_INDEX16,
  73.                               D3DPOOL_MANAGED,
  74.                               &i_buffer,
  75.                               NULL);
  76.  
  77.     // lock i_buffer and load the indices into it
  78.     i_buffer->Lock(0, 0, (void**)&pVoid, 0);
  79.     memcpy(pVoid, indices, sizeof(indices));
  80.     i_buffer->Unlock();
  81. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement