Advertisement
Guest User

Untitled

a guest
Jun 22nd, 2017
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.28 KB | None | 0 0
  1. #include<time.h>
  2. #include<d3d9.h>
  3. #include <d3dx9.h>
  4. #pragma comment (lib, "d3d9.lib")
  5. #pragma comment (lib, "d3dx9.lib")
  6.  
  7. class dbs_class
  8. {
  9.     int data[1024];
  10.     int buffdata, buff;
  11.     LPDIRECT3D9 D3D;
  12.     LPDIRECT3DDEVICE9 D3DDevice;
  13.     LPDIRECT3DVERTEXBUFFER9 buffer;
  14.     struct CUSTOMVERTEX {FLOAT X, Y, Z, RHW; DWORD COLOR;};
  15. public:
  16.     void Randomizza_data()
  17.     {
  18.         srand((unsigned)time(NULL));
  19.         for(int i = 0; i < 1024; i++)
  20.         {
  21.             data[i] = rand() % 768;
  22.         }
  23.     }
  24.     void BubbleSort()
  25.     {
  26.         if(buffdata != 0)
  27.         {
  28.             buff--;
  29.             for(int l = 0; l < buffdata-1; l++)
  30.             {
  31.                 if(data[l] > data[l+1])
  32.                 {
  33.                     buff = data[l+1];
  34.                     data[l+1] = data[l];
  35.                     data[l] = buff;
  36.                 }
  37.             }
  38.         }
  39.     }
  40.     HRESULT InitD3D( HWND hWnd )
  41.     {
  42.         if(NULL == (D3D = Direct3DCreate9(D3D_SDK_VERSION))) return E_FAIL;
  43.         D3DPRESENT_PARAMETERS D3DPP;
  44.         ZeroMemory( &D3DPP, sizeof(D3DPRESENT_PARAMETERS));
  45.         D3DPP.Windowed = TRUE;
  46.         D3DPP.SwapEffect = D3DSWAPEFFECT_DISCARD;
  47.         D3DPP.BackBufferFormat = D3DFMT_UNKNOWN;
  48.         if(FAILED(D3D->CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hWnd, D3DCREATE_SOFTWARE_VERTEXPROCESSING, &D3DPP, &D3DDevice)))
  49.         {
  50.             return E_FAIL;
  51.         }
  52.         return S_OK;
  53.     }
  54.  
  55.     void Cleanup()
  56.     {
  57.        if( D3DDevice != NULL) D3DDevice->Release();
  58.        if( D3D != NULL) D3D->Release();
  59.     }
  60.  
  61.     void Render()
  62.     {
  63.        if( D3DDevice == NULL) return;
  64.        D3DDevice->Clear( 0, NULL, D3DCLEAR_TARGET, D3DCOLOR_XRGB(0,100,255), 1.0f, 0 );
  65.        D3DDevice->BeginScene();
  66.        D3DDevice->CreateVertexBuffer(sizeof(CUSTOMVERTEX), 0, D3DFVF_XYZRHW | D3DFVF_DIFFUSE, D3DPOOL_MANAGED, &buffer, NULL);
  67.        {
  68.            for(int i = 0; i < 1024; i++)
  69.            {
  70.                CUSTOMVERTEX point[] = {(float)i, (float)data[i], 0.5f, 1.0f, D3DCOLOR_XRGB(255, 255, 255)};
  71.                BYTE* pVoid;
  72.                buffer->Lock(0, 0, (void**)&pVoid, D3DLOCK_DISCARD);
  73.                memcpy(pVoid, point, sizeof(CUSTOMVERTEX));
  74.                buffer->Unlock();
  75.                D3DDevice->SetFVF(D3DFVF_XYZRHW | D3DFVF_DIFFUSE);
  76.                D3DDevice->SetStreamSource(0, buffer, 0, sizeof(CUSTOMVERTEX));
  77.                D3DDevice->DrawPrimitive(D3DPT_POINTLIST, 0, 1);
  78.            }
  79.            D3DDevice->EndScene();
  80.        }
  81.        D3DDevice->Present(NULL, NULL, NULL, NULL);
  82.     }
  83.  
  84.     dbs_class()
  85.     {
  86.         Randomizza_data();
  87.         buffdata = 1024;
  88.         D3D = NULL;
  89.         D3DDevice = NULL;
  90.         buffer = NULL;
  91.     }
  92. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement