Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<time.h>
- #include<d3d9.h>
- #include <d3dx9.h>
- #pragma comment (lib, "d3d9.lib")
- #pragma comment (lib, "d3dx9.lib")
- class dbs_class
- {
- int data[1024];
- int buffdata, buff;
- LPDIRECT3D9 D3D;
- LPDIRECT3DDEVICE9 D3DDevice;
- LPDIRECT3DVERTEXBUFFER9 buffer;
- struct CUSTOMVERTEX {FLOAT X, Y, Z, RHW; DWORD COLOR;};
- public:
- void Randomizza_data()
- {
- srand((unsigned)time(NULL));
- for(int i = 0; i < 1024; i++)
- {
- data[i] = rand() % 768;
- }
- }
- void BubbleSort()
- {
- if(buffdata != 0)
- {
- buff--;
- for(int l = 0; l < buffdata-1; l++)
- {
- if(data[l] > data[l+1])
- {
- buff = data[l+1];
- data[l+1] = data[l];
- data[l] = buff;
- }
- }
- }
- }
- HRESULT InitD3D( HWND hWnd )
- {
- if(NULL == (D3D = Direct3DCreate9(D3D_SDK_VERSION))) return E_FAIL;
- D3DPRESENT_PARAMETERS D3DPP;
- ZeroMemory( &D3DPP, sizeof(D3DPRESENT_PARAMETERS));
- D3DPP.Windowed = TRUE;
- D3DPP.SwapEffect = D3DSWAPEFFECT_DISCARD;
- D3DPP.BackBufferFormat = D3DFMT_UNKNOWN;
- if(FAILED(D3D->CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hWnd, D3DCREATE_SOFTWARE_VERTEXPROCESSING, &D3DPP, &D3DDevice)))
- {
- return E_FAIL;
- }
- return S_OK;
- }
- void Cleanup()
- {
- if( D3DDevice != NULL) D3DDevice->Release();
- if( D3D != NULL) D3D->Release();
- }
- void Render()
- {
- if( D3DDevice == NULL) return;
- D3DDevice->Clear( 0, NULL, D3DCLEAR_TARGET, D3DCOLOR_XRGB(0,100,255), 1.0f, 0 );
- D3DDevice->BeginScene();
- D3DDevice->CreateVertexBuffer(sizeof(CUSTOMVERTEX), 0, D3DFVF_XYZRHW | D3DFVF_DIFFUSE, D3DPOOL_MANAGED, &buffer, NULL);
- {
- for(int i = 0; i < 1024; i++)
- {
- CUSTOMVERTEX point[] = {(float)i, (float)data[i], 0.5f, 1.0f, D3DCOLOR_XRGB(255, 255, 255)};
- BYTE* pVoid;
- buffer->Lock(0, 0, (void**)&pVoid, D3DLOCK_DISCARD);
- memcpy(pVoid, point, sizeof(CUSTOMVERTEX));
- buffer->Unlock();
- D3DDevice->SetFVF(D3DFVF_XYZRHW | D3DFVF_DIFFUSE);
- D3DDevice->SetStreamSource(0, buffer, 0, sizeof(CUSTOMVERTEX));
- D3DDevice->DrawPrimitive(D3DPT_POINTLIST, 0, 1);
- }
- D3DDevice->EndScene();
- }
- D3DDevice->Present(NULL, NULL, NULL, NULL);
- }
- dbs_class()
- {
- Randomizza_data();
- buffdata = 1024;
- D3D = NULL;
- D3DDevice = NULL;
- buffer = NULL;
- }
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement