Part of the Khronos Group
OpenGL.org

The Industry's Foundation for High Performance Graphics

from games to virtual reality, mobile phones to supercomputers

Results 1 to 2 of 2

Thread: textures

  1. #1
    Junior Member Newbie
    Join Date
    May 2003
    Location
    Beograd
    Posts
    1

    textures

    I want to make a texture, but I want to load it from resource, using HBITMAP and BITMAP and not auxDIBImageLoad function. I did something like this, but it didn't work:
    HBITMAP hBmp = LoadBitmap(hInstance, MAKEINTRESOURCE(IDB_BITMAP));
    BITMAP bmp;
    GetObject(hBmp, sizeof(bmp), &bmp);

    glTexImage2D(GL_TEXTURE_2D, 0, 3, bmp.Width, bmp.Height, 0, GL_RGB, GL_UNSIGNED_BYTE, bmp.BltBit);

  2. #2
    Advanced Member Frequent Contributor
    Join Date
    Jan 2003
    Location
    Virginia
    Posts
    601

    Re: textures

    There is a BITMAPINFO structure at the start of the data. If the bitmap has a color lookup table then it follows, and then the pixel data follows that. You pass the pixel data to the glTexImage function.

    Something like this:

    Code :
    	HRSRC Resource = (HRSRC)LoadResource(AfxGetInstanceHandle(), FindResource(AfxGetInstanceHandle(), MAKEINTRESOURCE(id), MAKEINTRESOURCE(RT_BITMAP)));
    	unsigned char *data = (unsigned char*)LockResource(Resource);
     
    	BITMAPINFO* bmpInfo = (BITMAPINFO*)data;
    	colors = data + bmpInfo->bmiHeader.biSize;
    	pixels = colors + bmpInfo->bmiHeader.biClrUsed * sizeof(bmpInfo->bmiColors);
    	width = bmpInfo->bmiHeader.biWidth;
    	height = bmpInfo->bmiHeader.biHeight;

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •