<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    天空是藍色的

    做好軟件為中國 #gcc -c helloworld.c -o helloworld.o //編譯目標文件 #gcc helloworld.o -o helloworld //編譯成可執行exe #helloworld //運行exe
    數據加載中……
    OpenGL

    main.cpp
    /**************************
     * Includes
     *
     **************************/

    #include <windows.h>
    #include <gl/gl.h>


    /**************************
     * Function Declarations
     *
     **************************/

    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);


    /**************************
     * WinMain
     *
     **************************/

    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;

        /* register window class */
        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);

        /* create main window */
        hWnd = CreateWindow (
          "GLSample", "OpenGL Sample",
          WS_CAPTION | WS_POPUPWINDOW | WS_VISIBLE,
          0, 0, 256, 256,
          NULL, NULL, hInstance, NULL);

        /* enable OpenGL for the window */
        EnableOpenGL (hWnd, &hDC, &hRC);

        /* program main loop */
        while (!bQuit)
        {
            /* check for messages */
            if (PeekMessage (&msg, NULL, 0, 0, PM_REMOVE))
            {
                /* handle or dispatch messages */
                if (msg.message == WM_QUIT)
                {
                    bQuit = TRUE;
                }
                else
                {
                    TranslateMessage (&msg);
                    DispatchMessage (&msg);
                }
            }
            else
            {
                /* OpenGL animation code goes here */

                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);
            }
        }

        /* shutdown OpenGL */
        DisableOpenGL (hWnd, hDC, hRC);

        /* destroy the window explicitly */
        DestroyWindow (hWnd);

        return msg.wParam;
    }


    /********************
     * Window Procedure
     *
     ********************/

    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);
        }
    }


    /*******************
     * Enable OpenGL
     *
     *******************/

    void EnableOpenGL (HWND hWnd, HDC *hDC, HGLRC *hRC)
    {
        PIXELFORMATDESCRIPTOR pfd;
        int iFormat;

        /* get the device context (DC) */
        *hDC = GetDC (hWnd);

        /* set the pixel format for the DC */
        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);

        /* create and enable the render context (RC) */
        *hRC = wglCreateContext( *hDC );
        wglMakeCurrent( *hDC, *hRC );

    }


    /******************
     * Disable OpenGL
     *
     ******************/

    void DisableOpenGL (HWND hWnd, HDC hDC, HGLRC hRC)
    {
        wglMakeCurrent (NULL, NULL);
        wglDeleteContext (hRC);
        ReleaseDC (hWnd, hDC);
    }

    posted on 2006-02-14 17:23 bluesky 閱讀(3303) 評論(5)  編輯  收藏 所屬分類: C/C++

    評論

    # re: OpenGL[未登錄] 2007-02-06 15:54 哈哈

    代碼怎么跟wx_DevCPP生成的一模一樣啊?
      回復  更多評論    

    # re: OpenGL 2008-01-28 21:14 吳楚

    玩游戲了。
      回復  更多評論    

    # re: OpenGL 2008-01-28 21:14 吳楚

    玩游戲了,就是玩了。
      回復  更多評論    

    # re: OpenGL 2008-01-28 21:16 吳楚

    安靜偉大那里棵刊物卡立刻大量扣帽子瓦斯矛盾安慰 瓦斯了,的, 啊奧妙達到;安慰安慰似的棵啊按時擴大;靈敏度啊似的棵;拉,啊;勞動我方面啊大拿帶按時那么啊啊挖;勞動媽媽的打發擴大立刻衛生帶們。生產擴大那時名稱啊按時按時 素淡立刻撒;勒克司。/安慰的迪斯科六仙桌考察拉啊 數據庫的啊啊
      回復  更多評論    

    # re: OpenGL 2008-05-28 17:41 NONAME

    垃圾.抄襲!
      回復  更多評論    
    主站蜘蛛池模板: 成人免费无码大片a毛片| 亚洲av成本人无码网站| 国产精品亚洲A∨天堂不卡| 少妇亚洲免费精品| 亚洲AV成人潮喷综合网| 国产在线观看免费视频播放器 | 亚洲欧洲国产视频| 亚洲综合婷婷久久| 久久久久免费精品国产小说| fc2成年免费共享视频网站| 一级一黄在线观看视频免费| 成年大片免费视频播放一级| WWW国产成人免费观看视频| GOGOGO免费观看国语| 最近免费mv在线观看动漫| 国产精品免费福利久久| 91视频免费网址| 成人免费黄色网址| 国产在线国偷精品产拍免费| 国产裸模视频免费区无码| 亚洲第一区精品观看| 亚洲熟女一区二区三区| 久久亚洲精品成人777大小说| 日本免费人成视频播放| 免费jjzz在线播放国产| 亚洲午夜福利717| 久久久久亚洲精品无码蜜桃| 亚洲一区二区影视| 精品亚洲国产成人av| 国产精品一区二区三区免费| 国产精品区免费视频| 免费精品国产自产拍在线观看图片 | 亚洲色婷婷综合久久| 亚洲高清在线视频| 亚洲影视自拍揄拍愉拍| 美女被羞羞网站免费下载| a在线视频免费观看| 综合在线免费视频| 免费大香伊蕉在人线国产| 国产亚洲精品资源在线26u| 亚洲最大中文字幕|