Thread: sprite

  1. #1
    Registered User
    Join Date
    Sep 2005
    Posts
    196

    sprite

    ok heres my code
    Code:
    /**************************
     * 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, 207.0f, 0.0f, 1.0f);
                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, 207.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 = 1;
        pfd.cDepthBits = 2075;
        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);
    }
    but now all that does is make pretty colors i want to put a sprite i made on there how would i do this



    "pssssssssst" im using open gl

  2. #2
    ---
    Join Date
    May 2004
    Posts
    1,379
    You want to load an image and apply the texture to a quad?

  3. #3
    Unregistered User
    Join Date
    Sep 2005
    Location
    Antarctica
    Posts
    341
    glDrawMySprite();

  4. #4
    ---
    Join Date
    May 2004
    Posts
    1,379
    Quote Originally Posted by rockytriton
    glDrawMySprite();
    what are you talking about?

  5. #5
    Sweet
    Join Date
    Aug 2002
    Location
    Tucson, Arizona
    Posts
    1,820
    I think it was a joke sand_man.
    Woop?

  6. #6
    Unregistered User
    Join Date
    Sep 2005
    Location
    Antarctica
    Posts
    341
    that was code for "Go find an open GL tutorial", if you need help with a specific problem of your code, then ask, if you want to know how to do general things, read tutorials, there are plenty out there.

  7. #7
    ---
    Join Date
    May 2004
    Posts
    1,379
    nevermind me

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. DirectX 9 sprite issue
    By maxthecat in forum Game Programming
    Replies: 9
    Last Post: 05-18-2006, 04:04 AM
  2. GDI sprite (Win32 API)
    By fiff in forum Game Programming
    Replies: 4
    Last Post: 06-24-2005, 09:09 AM
  3. GDI sprite (Win32 API)
    By fiff in forum C++ Programming
    Replies: 3
    Last Post: 06-22-2005, 03:08 PM
  4. Replies: 3
    Last Post: 05-12-2003, 05:49 PM
  5. Sprite ?
    By Traveller in forum Game Programming
    Replies: 13
    Last Post: 08-23-2002, 04:31 PM