Thread: draw

  1. #1
    Registered User
    Join Date
    Nov 2002
    Posts
    28

    draw

    can some explain hot to draw pixels and tell me what header file to use. it would be real cool if they used code also.
    thanks in advance

  2. #2
    Registered User
    Join Date
    Nov 2002
    Posts
    28
    im usings windows Me and im using dev c++ and for graphics library i dont really have one and it would be cool if you recommend one. i hope that helps!!!!!

  3. #3
    Refugee face_master's Avatar
    Join Date
    Aug 2001
    Posts
    2,052
    Originally posted by loki_cmr
    im usings windows Me and im using dev c++ and for graphics library i dont really have one and it would be cool if you recommend one. i hope that helps!!!!!
    To draw a pixel, you could use...
    • OpenGL
    • SDL
    • Allgero
    • Others too..

  4. #4
    Registered User
    Join Date
    Nov 2002
    Posts
    28
    alright i downloaded the opengl thing now i would like to know how to where to put the stuff and also how to make a command line that tells the compiler that draw a pixel. please help

  5. #5
    Registered User
    Join Date
    Nov 2002
    Posts
    28
    ok im pretty sure i got open GL already and i think the header files are <GL.h> if not please correct them. also now i all i would like to know is how to draw a pixel in a window and if you can do this tell me how to move it.

    thanks in advance

  6. #6
    Pygmy Monkey ErionD's Avatar
    Join Date
    Feb 2002
    Posts
    408
    Hum, from what i remember, there is a whole bunch of code just to make an OpenGL window, too much to simply tell you, you should go find a tutorial.
    Eh, i... KNEW.. a good site, haven't been programming in years >_<

  7. #7
    Just a Member ammar's Avatar
    Join Date
    Jun 2002
    Posts
    953
    There is this website, if you want to learn openGL:
    http://nehe.gamedev.net

  8. #8
    well maybe look in the example section of dev c++

    it gives you this:

    Code:
    #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;
    
            }
      }
      // 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 );
    }
    Dev C++
    Win XP/2k/98

    I DO NOT TAKE CLASSES I DONT GET HOMEWORK THIS IS NOT A HOMEWORK QUESTION!!!

    He's lean he's keen... He's the spank machine!

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Which is the better way to draw?
    By g4j31a5 in forum Game Programming
    Replies: 16
    Last Post: 01-22-2007, 11:56 PM
  2. draw function HELP!!!
    By sunoflight77 in forum C++ Programming
    Replies: 1
    Last Post: 05-10-2005, 11:28 PM
  3. ray casting
    By lambs4 in forum Game Programming
    Replies: 62
    Last Post: 01-09-2003, 06:57 PM
  4. Draw Shapes.
    By Unregistered in forum C Programming
    Replies: 1
    Last Post: 08-19-2002, 09:22 AM
  5. Transparent Draw Question
    By GodLike in forum Windows Programming
    Replies: 5
    Last Post: 05-07-2002, 06:56 AM