-
Gesamte Inhalte
4909 -
Benutzer seit
-
Letzter Besuch
-
Tagessiege
6
Inhaltstyp
Profile
Forum
Downloads
Kalender
Blogs
Shop
Alle Inhalte von Guybrush Threepwood
-
Vertex Grafiken
Guybrush Threepwood antwortete auf Guybrush Threepwood's Thema in C++: Compiler, IDEs, APIs
Hab´s gestern geschafft 4 Dreiecke zu erzeugen, die zusammen ein Viereck bilden und Farblich ineinanderlaufen. *ganz stolz sei* Ich mußte "nur" diese beiden Zeilen löschen: d3dpp.EnableAutoDepthStencil = TRUE; d3dpp.AutoDepthStencilFormat = D3DFMT_D16; [/PHP] und in der Funktion DrawPrimitiv() auch angeben das es mehr wie eine Struktur ist Heute Abend versuche ich jetzt die zu rotieren:rolleyes: -
ist ja auch schon was älter:) kahm mir nur so bekannt vor
-
@cLara http://www.fachinformatiker-world.de/forums/showthread.php?threadid=33829&highlight=plastische
-
Menueintrag aktivieren und deaktivieren
Guybrush Threepwood antwortete auf Babybaer's Thema in C++: Compiler, IDEs, APIs
Hi, da gibt`s hier schon ein paar Beispiel, wenn du die MFC benutzt hilft dir vielleicht das hier weiter. Wenn nicht dann frag einfach nochmal nach:) Gruß Guybrush -
Internet Explorer Versionen bei Windows
Guybrush Threepwood antwortete auf Guybrush Threepwood's Thema in Windows
Also bei den meisten habe ich es dank VMWare selber rausfinden können: Win 95 = Version 3.0 Win NT 4 = Version 2.0 Win 98SE = Version 5.0 Win 2000 = Version 5.5 Win XP Prof = Version 5.5 -
[C#] neue Datentypen
Guybrush Threepwood antwortete auf GandalfTheWhite's Thema in Delphi/RPG+CL/Sonstige
Dasn kannst du in C# grad mal vergessen, weil man den operator = blöderweise nicht überladen kann. Bei den Operatoren die du überladen kannst mußt du dich an bestimmt Parameter und Rückgabewerte finden. Genaueres dazu findest auch hier Gruß Guybrush -
Vertex Grafiken
Guybrush Threepwood antwortete auf Guybrush Threepwood's Thema in C++: Compiler, IDEs, APIs
Das ist aber glaube ich über 300MB Groß Ja ich benutze es noch genauso wie ich`s oben gepostet habe. -
Vertex Grafiken
Guybrush Threepwood antwortete auf Guybrush Threepwood's Thema in C++: Compiler, IDEs, APIs
Die Idee hatte ich auch schon. Ich hab 6 Elemente in das Array gschrieben und die entsprechende Größe angegeben, trotzdem hatte ich nur ein Dreieck. Da mein Dreieck aber auch nicht so ganz einwnadfrei dargestellt wird, probiere ich es am besten erst nochmal in dem Original Tutorial aus. Ich schreib dann am Freitag (Mittwoch+Donnerstag=Schule:( )wie`s gelaufen ist. -
Vertex Grafiken
Guybrush Threepwood antwortete auf Guybrush Threepwood's Thema in C++: Compiler, IDEs, APIs
So ich hab gestern noch mal rumprobiert und wenn ich die Struktur so ändere: CUSTOMVERTEX vertices[] = { { 250.0f, 50.0f, 0.5f, 1.0f, 0xffff0000, }, // x, y, z, rhw, color { 250.0f, 250.0f, 0.5f, 1.0f, 0xff00ff00, }, { 50.0f, 250.0f, 0.5f, 1.0f, 0xff00ffff, }, }; habe ich 2 Dreiecke. Wenn ich 1 Element entferne und dann auch 2*sizeof() schreibe, wird nichts dargestellt (was glaube ich auch verständlich ist), aber wenn ich noch ein Element hinzufüge und 4*sizeof() schreibe, bekomme ich trotzdem das selbe Dreieck:confused: -
Vertex Grafiken
Guybrush Threepwood antwortete auf Guybrush Threepwood's Thema in C++: Compiler, IDEs, APIs
Du mußt so oder so bis Morgen warten, weil ich zu Hause keinen Internetzugang habe:p -
Vertex Grafiken
Guybrush Threepwood antwortete auf Guybrush Threepwood's Thema in C++: Compiler, IDEs, APIs
Ja hatte ich eh vor. Weil mir kam noch die Idee das ich bei CreateVertexBuffer() dann auch anstatt 3*sizeof(), 2*sizeof() schreiben könnte/sollte. -
Vertex Grafiken
Guybrush Threepwood antwortete auf Guybrush Threepwood's Thema in C++: Compiler, IDEs, APIs
Also ich hab die Werte nicht mehr im Kopf und ich kanns hier auch leider nicht ausprobieren weil ich das Direct X 9 SDK hier nicht habe. Ok hier ist mal der ganze Code: #include <windows.h> #include <d3d9.h> LRESULT CALLBACK MainProc(HWND,UINT,WPARAM,LPARAM); HRESULT InitD3D(); HRESULT InitVB(); HRESULT Render(); struct GLOBALS { HWND hMainWindow; IDirect3D9* pD3D; IDirect3DDevice9* pd3dDevice; IDirect3DVertexBuffer9* pVB; }g_={0,0,0,0}; struct CUSTOMVERTEX { FLOAT x, y, z, rhw; // The transformed position for the vertex DWORD color; // The vertex color }; APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE, LPSTR, int nCmdShow) { MSG Msg; WNDCLASS wc; memset(&wc,0,sizeof(WNDCLASS)); wc.hCursor = LoadCursor(0,IDC_ARROW); wc.hInstance = hInstance; wc.lpfnWndProc = MainProc; wc.lpszClassName = "D3D Test"; if (!RegisterClass(&wc)) return FALSE; g_.hMainWindow = CreateWindow("D3D Test","D3D Test", WS_OVERLAPPEDWINDOW, 300,300, 350,300, GetDesktopWindow(),0, hInstance,0); ShowWindow(g_.hMainWindow,nCmdShow); UpdateWindow(g_.hMainWindow); if (InitD3D() != S_OK) { MessageBox(g_.hMainWindow,"Fehler","D3D Test",MB_APPLMODAL); } InitVB(); while(Msg.message != WM_QUIT) { if(PeekMessage(&Msg,NULL,0,0,PM_REMOVE)) { TranslateMessage(&Msg); DispatchMessage(&Msg); } else Render(); } UnregisterClass("D3D Test",hInstance); return Msg.wParam; } LRESULT CALLBACK MainProc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam) { switch (Msg) { case WM_DESTROY: { if (g_.pVB != NULL) g_.pVB->Release(); if (g_.pd3dDevice != NULL) g_.pd3dDevice->Release(); if (g_.pD3D != NULL) g_.pD3D->Release(); PostQuitMessage(0); return 0; } default: return DefWindowProc(hWnd,Msg,wParam,lParam); } } HRESULT InitD3D() { D3DPRESENT_PARAMETERS d3dpp; memset(&d3dpp,0,sizeof(D3DPRESENT_PARAMETERS)); d3dpp.Windowed = TRUE; d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD; d3dpp.BackBufferFormat = D3DFMT_UNKNOWN; d3dpp.EnableAutoDepthStencil = TRUE; d3dpp.AutoDepthStencilFormat = D3DFMT_D16; g_.pD3D = Direct3DCreate9(D3D_SDK_VERSION); if (g_.pD3D == NULL) { return E_FAIL; } if (g_.pD3D->CreateDevice(D3DADAPTER_DEFAULT,D3DDEVTYPE_HAL, g_.hMainWindow, D3DCREATE_SOFTWARE_VERTEXPROCESSING, &d3dpp,&g_.pd3dDevice) != D3D_OK) { return E_FAIL; } return S_OK; } HRESULT InitVB() { // Initialize three vertices for rendering a triangle CUSTOMVERTEX vertices[] = { { 150.0f, 50.0f, 0.5f, 1.0f, 0xffff0000, }, // x, y, z, rhw, color { 250.0f, 250.0f, 0.5f, 1.0f, 0xff00ff00, }, { 50.0f, 250.0f, 0.5f, 1.0f, 0xff00ffff, }, }; // Create the vertex buffer. Here we are allocating enough memory // (from the default pool) to hold all our 3 custom vertices. We also // specify the FVF, so the vertex buffer knows what data it contains. if( FAILED( g_.pd3dDevice->CreateVertexBuffer( 3*sizeof(CUSTOMVERTEX), 0, D3DFVF_XYZRHW|D3DFVF_DIFFUSE, D3DPOOL_DEFAULT, &g_.pVB, NULL ) ) ) { return E_FAIL; } // Now we fill the vertex buffer. To do this, we need to Lock() the VB to // gain access to the vertices. This mechanism is required becuase vertex // buffers may be in device memory. VOID* pVertices; if( FAILED( g_.pVB->Lock( 0, sizeof(vertices), (void**)&pVertices, 0 ) ) ) return E_FAIL; memcpy( pVertices, vertices, sizeof(vertices) ); g_.pVB->Unlock(); return S_OK; } HRESULT Render() { g_.pd3dDevice->Clear(0,NULL,D3DCLEAR_TARGET,D3DCOLOR_XRGB(0,0,255),1.0f,0); if( SUCCEEDED( g_.pd3dDevice->BeginScene() ) ) { g_.pd3dDevice->SetStreamSource( 0, g_.pVB, 0, sizeof(CUSTOMVERTEX) ); g_.pd3dDevice->SetFVF(D3DFVF_XYZRHW|D3DFVF_DIFFUSE); g_.pd3dDevice->DrawPrimitive( D3DPT_TRIANGLELIST, 0, 1 ); g_.pd3dDevice->EndScene(); } g_.pd3dDevice->Present(NULL,NULL,NULL,NULL ); return S_OK; } [/PHP] -
Hi, kann mir einer von euch sagen welche Versionen des Internet Explorers standartmäßig bei den verschiedenen Windowsversionen dabei sind? Also bei: Win95 Win98 WinME WinXP WinNT Win2000 Gruß Guybrush
-
Hi, ich ´hab mir in der letzten Zeit mal ein paar Direct3D 9 Tutoriols angeschaut, aber ich verstehe nie wie die Vertexstrukter aufgebaut werden muß um eine bestimmte Form zu erzielen. Folgende Struktur liefert z.B. ein Buntes Dreieck: CUSTOMVERTEX vertices[] = { { 150.0f, 50.0f, 0.5f, 1.0f, 0xffff0000, }, // x, y, z, rhw, color { 250.0f, 250.0f, 0.5f, 1.0f, 0xff00ff00, }, { 50.0f, 250.0f, 0.5f, 1.0f, 0xff00ffff, }, }; [/PHP] Ich dachte erst das jedes Element für einen Punkt des Dreiecks stehen würde, wenn ich allerdings bestimmte Werte zuweise habe ich aufeinmal 2 Dreicke und wenn ich ein Element entferne ist es immer noch ein Dreieck:confused: Ich bin also etwas verwirrt und hoffe das mir das einer von euch erklären kann Gruß Guybrush
-
Programm läuft im Taskmanager weiter
Guybrush Threepwood antwortete auf Gottesgeschenk's Thema in C++: Compiler, IDEs, APIs
Komisch, es scheint da wohl einen Unterschied zwischen Dialogfeld bsierenden und "normalen" Anwendungen zu geben. -
Was??? Das heißt ich schicke jemandem ein paar hundert SMS und der muß die dann bezahlen?:eek:
-
Programm läuft im Taskmanager weiter
Guybrush Threepwood antwortete auf Gottesgeschenk's Thema in C++: Compiler, IDEs, APIs
Naja, wenn dein Programm immer fehlerfrei läuft oder du es nicht per Alt+F4 beendest, dann nicht. -
Programm läuft im Taskmanager weiter
Guybrush Threepwood antwortete auf Gottesgeschenk's Thema in C++: Compiler, IDEs, APIs
Das gibt ehrlich gesagt keinen Sinn;) Nach PostQuitMessage() brauchst du kein DestroyWindow() weil eh der Komplette Prozess beendet wird, außerdem sendet DestroyWindow() nur WM_DESTROY an das entsprechende Fenster. Um das Programm in jedem Fall zu beenden sollte man WM_DESTROY auch abfangen, da WM_CLOSE nur auftritt wenn man das Programm über das "X" beendet, oder halt die Nachricht selber schickt. Gruß Guybrush -
Ich bin auch Azubi und hab ebenfalls 30 Tage Urlaub
-
Sie wollen das Internet verlassen?
Guybrush Threepwood antwortete auf CyberDemon's Thema in Small Talk
meinst du den ? Ich hab einfach mal nach c64 gesucht;) -
Programm läuft im Taskmanager weiter
Guybrush Threepwood antwortete auf Gottesgeschenk's Thema in C++: Compiler, IDEs, APIs
kuck mal im Debuger was passiert wenn du auf das X klickst -
Programm läuft im Taskmanager weiter
Guybrush Threepwood antwortete auf Gottesgeschenk's Thema in C++: Compiler, IDEs, APIs
Das passiert, weil wenn du auf das X klickst nur die Nachricht WM_CLOSE gesendet wird. Versuchs mal so: case WM_CLOSE: case WM_DESTROY : { PostQuitMessage (0) ; return 0 ; } Gruß Guybrush