Sinisterly
my crap attempt at openGL - Printable Version

+- Sinisterly (https://sinister.ly)
+-- Forum: Coding (https://sinister.ly/Forum-Coding)
+--- Forum: C, C++, & Obj-C (https://sinister.ly/Forum-C-C-Obj-C)
+--- Thread: my crap attempt at openGL (/Thread-my-crap-attempt-at-openGL)



my crap attempt at openGL - Inori - 05-12-2014

made this on the train yesterday Tongue
Code:
#include <windows.h> #include <gl/gl.h> LRESULT CALLBACK WndProc (HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam); void EnableOpenGL (HWND hWnd, HDC *hDC, HGLRC *hRC); void DisableOpenGL (HWND hWnd, HDC hDC, HGLRC hRC); int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int iCmdShow) { WNDCLASS wc; HWND hWnd; HDC hDC; HGLRC hRC; MSG msg; BOOL bQuit = FALSE; float theta = 0.0f; wc.style = CS_OWNDC; wc.lpfnWndProc = WndProc; wc.cbClsExtra = 0; wc.cbWndExtra = 0; wc.hInstance = hInstance; wc.hIcon = LoadIcon (NULL, IDI_APPLICATION); wc.hCursor = LoadCursor (NULL, IDC_ARROW); wc.hbrBackground = (HBRUSH) GetStockObject (BLACK_BRUSH); wc.lpszMenuName = NULL; wc.lpszClassName = "GLSample"; RegisterClass (&wc); hWnd = CreateWindow ( WS_CAPTION | WS_POPUPWINDOW | WS_VISIBLE, 0, 0, 400, 400, NULL, NULL, hInstance, NULL); EnableOpenGL (hWnd, &hDC, &hRC); while (!bQuit) { if (PeekMessage (&msg, NULL, 0, 0, PM_REMOVE)) { if (msg.message == WM_QUIT) { bQuit = TRUE; } else { TranslateMessage (&msg); DispatchMessage (&msg); } } else { glClearColor (0.0f, 0.0f, 0.0f, 0.0f); glClear (GL_COLOR_BUFFER_BIT); glPushMatrix (); glRotatef (theta, 0.0f, 0.0f, 1.0f); glBegin (GL_TRIANGLES); glColor3f (1.0f, 0.0f, 0.0f); glVertex2f (0.0f, 1.0f); glColor3f (0.0f, 1.0f, 0.0f); glVertex2f (0.87f, -0.5f); glColor3f (0.0f, 0.0f, 1.0f); glVertex2f (-0.87f, -0.5f); glEnd (); glPopMatrix (); SwapBuffers (hDC); theta += 1.0f; Sleep (1); } } DisableOpenGL (hWnd, hDC, hRC); DestroyWindow (hWnd); return msg.wParam; } LRESULT CALLBACK WndProc (HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { switch (message) { case WM_CREATE: return 0; case WM_CLOSE: PostQuitMessage (0); return 0; case WM_DESTROY: return 0; case WM_KEYDOWN: switch (wParam) { case VK_ESCAPE: PostQuitMessage(0); return 0; } return 0; default: return DefWindowProc (hWnd, message, wParam, lParam); } } void EnableOpenGL (HWND hWnd, HDC *hDC, HGLRC *hRC) { PIXELFORMATDESCRIPTOR pfd; int iFormat; *hDC = GetDC (hWnd); ZeroMemory (&pfd, sizeof (pfd)); pfd.nSize = sizeof (pfd); pfd.nVersion = 1; pfd.dwFlags = PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL | PFD_DOUBLEBUFFER; pfd.iPixelType = PFD_TYPE_RGBA; pfd.cColorBits = 24; pfd.cDepthBits = 16; pfd.iLayerType = PFD_MAIN_PLANE; iFormat = ChoosePixelFormat (*hDC, &pfd); SetPixelFormat (*hDC, iFormat, &pfd); *hRC = wglCreateContext( *hDC ); wglMakeCurrent( *hDC, *hRC ); } void DisableOpenGL (HWND hWnd, HDC hDC, HGLRC hRC) { wglMakeCurrent (NULL, NULL); wglDeleteContext (hRC); ReleaseDC (hWnd, hDC); }
enjoy!


RE: my crap attempt at openGL - ArkPhaze - 05-15-2014

This wouldn't even compile. CreateWindow has 11 arguments: http://msdn.microsoft.com/en-us/library/windows/desktop/ms632679%28v=vs.85%29.aspx (You are missing the first 2). I bet you didn't even write this.


RE: my crap attempt at openGL - ArkPhaze - 05-15-2014

Wanna see who actually wrote it? http://demochronicles.mccolm.org/Media/Downloads/SourceCode/ArticleSource/2/main.cpp (It was nice of you to remove all of the comments.)


RE: my crap attempt at openGL - Inori - 05-15-2014

(05-15-2014, 12:34 AM)ArkPhaze Wrote: Wanna see who actually wrote it? http://demochronicles.mccolm.org/Media/Downloads/SourceCode/ArticleSource/2/main.cpp (It was nice of you to remove all of the comments.)
It is a sample from the Code::Blocks studio. I just tried messing with it a bit. If this is annoying in any way, my bad. Sorry.


RE: my crap attempt at openGL - ArkPhaze - 05-24-2014

Ahh, I didn't even know that, I don't use Code::Blocks much anymore. No problem, just seemed suspicious that I found something similar, but that explains it.


RE: my crap attempt at openGL - Inori - 05-24-2014

(05-24-2014, 12:33 AM)ArkPhaze Wrote: Ahh, I didn't even know that, I don't use Code::Blocks much anymore. No problem, just seemed suspicious that I found something similar, but that explains it.
Sorry for any trouble!