002
19.03.2006, 10:51 Uhr
Karldin Shinowa
Professional Noob
|
ok. es ist eigentlich ein bissi DirectX drinnen aber ich gleube es liegt net daran dass ich da was falsch anwende: Habe ne Klasse CWindow mit Eigenschaften und ne Klasse CDirect3D:
C++: |
BOOL CDirect3D:: Init(const CWindow& Window,BOOL bWindowed=TRUE) //Ein Window Objekt wird per Konstante Referenz übergeben { this->lpD3D=Direct3DCreate9(D3D_SDK_VERSION); if(NULL == this->lpD3D) { return FALSE; } ZeroMemory(&this->PParams,sizeof(this->PParams)); this->PParams.SwapEffect = D3DSWAPEFFECT_DISCARD; this->PParams.hDeviceWindow = Window.GethWnd();//hier zeigt er den Fehler this->PParams.Windowed = bWindowed; this->PParams.BackBufferWidth = Window.GetWidth();//hier auch this->PParams.BackBufferHeight = Window.GetHeight();//hier auch this->PParams.BackBufferFormat = D3DFMT_A8R8G8B8;
if(FAILED(lpD3D->CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, Window.GethWnd(),//und weils ihm so spaß macht hier auch D3DCREATE_SOFTWARE_VERTEXPROCESSING, &this->PParams, &this->lpD3DDevice))) { return FALSE; }
return TRUE; }
|
immer im zusammenhang dass ich eine Methode von CWindow aufrufe.... hier noch die CWindow Klasse:
C++: |
class CWindow { private: HWND hWnd; HINSTANCE hInstance; int iWindowHeight; int iWindowWidth; HDC hDc; LPCTSTR windowName; WNDCLASSEX wndInfo; LPPAINTSTRUCT lpPaint;
public: CWindow(); ~CWindow(); void Initialize(HINSTANCE hInstance, LPCTSTR windowName, int iWindowWidth, int iWindowHeight); void CreateWnd(); void Begin(); void End(); HDC GethDc()const; HWND GethWnd()const; int GetHeight()const; int GetWidth()const; LPCTSTR GetWindowName()const; };
|
PS: Man kanns auch in DirectX verschieben.... -- Ich will die Welt verbessern, doch Gott gibt mir nicht den Code. Dieser Post wurde am 19.03.2006 um 10:51 Uhr von Karldin Shinowa editiert. |