Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int WINAPI WinMain(HINSTANCE hInstance,
- HINSTANCE hPrevInstance,
- LPSTR lpCmdLine,
- int nCmdShow){
- registerWindowClass("wc1", hInstance);
- HWND hWnd = CreateWindowEx(0,
- "wc1",
- "test",
- FULL_SCREEN ?
- WS_EX_TOPMOST | WS_POPUP :
- WS_OVERLAPPEDWINDOW,
- 0, 0,
- SCREEN_WIDTH, SCREEN_HEIGHT,
- 0,
- 0,
- hInstance, //application handle
- 0);
- ShowWindow(hWnd, nCmdShow);
- d3dInit(hWnd);
- //create vertices
- CUSTOMVERTEX vertices[] = {
- { -5, 0, -5, 0x804000 },
- { -5, 0, 5, 0x008000 }, //ground1
- { 5, 0, 5, 0x804000 },
- { 5, 0, 5, 0x804000 },
- { 5, 0, -5, 0x008000 }, //ground2
- { -5, 0, -5, 0x804000 },
- { 0, 3, 0, 0x0000ff },
- { -3, -3, 0, 0xff0000 }, //triangle1
- { 3, -3, 0, 0x00ff00 },
- { 0, 3, 0, 0x0000ff },
- { 3, -3, 0, 0x00ff00 }, //triangle2
- { -3, -3, 0, 0xff0000 },
- };
- Geometry g;
- g.addShape(vertices, 6); //ground
- g.addShape(vertices+6, 6); //colorful triangle (two-sided)
- g.pushBuffer();
- while (handleEvents()){
- d3ddev->Clear(0, NULL, D3DCLEAR_TARGET, D3DCOLOR_XRGB(0, 0, 0), 1.0f, 0); //back buffer
- d3ddev->Clear(0, NULL, D3DCLEAR_ZBUFFER, D3DCOLOR_XRGB(0, 0, 0), 1.0f, 0); //depth buffer
- d3ddev->BeginScene();
- d3ddev->SetFVF(CUSTOMFVF);
- d3ddev->SetStreamSource(0, v_buffer, 0, sizeof(CUSTOMVERTEX));
- //view transform matrix
- D3DXMATRIX matView;
- D3DXMatrixLookAtLH(&matView,
- &D3DXVECTOR3 (0, 5, 10.0f), //camera
- &D3DXVECTOR3 (0.0f, 0.0f, 0.0f), //looking at
- &D3DXVECTOR3 (0.0f, 1.0f, 0.0f)); //up
- d3ddev->SetTransform(D3DTS_VIEW, &matView);
- //projection transform matrix
- D3DXMATRIX matProjection;
- D3DXMatrixPerspectiveFovLH(&matProjection,
- D3DXToRadian(45), //horizontal FOV
- (FLOAT)SCREEN_WIDTH / (FLOAT)SCREEN_HEIGHT, //aspect ratio
- 1.0f, //near
- 100.0f); //far
- d3ddev->SetTransform(D3DTS_PROJECTION, &matProjection);
- g.render();
- d3ddev->EndScene();
- d3ddev->Present(NULL, NULL, NULL, NULL);
- }
- d3dQuit();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement