Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "Panel.h"
- Panel::Panel(QWidget *parent, Qt::WFlags flags, WINDOWTYPE type) : QMainWindow(parent, flags)
- {
- if( type == WINDOW_CAMERA ||
- type == WINDOW_FRONT ||
- type == WINDOW_SIDE ||
- type == WINDOW_TOP)
- {
- d3d = Direct3DCreate9(D3D_SDK_VERSION);
- area = new QWidget(this);
- stretch = new QHBoxLayout(this);
- stretch->addWidget(area);
- this->setLayout(stretch);
- d3ddev = NULL;
- ResetPP();
- d3d->CreateDevice( D3DADAPTER_DEFAULT,
- D3DDEVTYPE_HAL,
- area->winId(),
- D3DCREATE_SOFTWARE_VERTEXPROCESSING,
- &d3dpp,
- &d3ddev);
- d3ddev->SetRenderState(D3DRS_ZENABLE, true);
- d3ddev->SetRenderState(D3DRS_LIGHTING, false);
- d3ddev->SetRenderState(D3DRS_CULLMODE, D3DCULL_CCW);
- tick = new QBasicTimer();
- tick->start(100, this);
- }
- }
- Panel::~Panel(void)
- {
- delete tick;
- if(d3ddev)
- d3ddev->Release();
- d3ddev = NULL;
- }
- void Panel::timerEvent(QTimerEvent *e)
- {
- d3ddev->Clear(0, NULL, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER, D3DXCOLOR(0.4f, 0.4f, 8.0f, 0.55f), 1.0f, 0);
- d3ddev->BeginScene();
- d3ddev->EndScene();
- d3ddev->Present(NULL, NULL, NULL, NULL);
- }
- void Panel::ResetPP(void)
- {
- ZeroMemory(&d3dpp, sizeof(d3dpp));
- d3dpp.Windowed = true;
- d3dpp.BackBufferWidth = area->geometry().width();
- d3dpp.BackBufferHeight = area->geometry().height();
- d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD;
- d3dpp.hDeviceWindow = this->winId();
- d3dpp.BackBufferFormat = D3DFMT_X8R8G8B8;
- d3dpp.EnableAutoDepthStencil = true;
- d3dpp.AutoDepthStencilFormat = D3DFMT_D16;
- return;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement