游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1855|回复: 1

glBuild2DMipmaps函数不是能自动生成各级纹理到内存中吗?为

[复制链接]

39

主题

102

帖子

102

积分

注册会员

Rank: 2

积分
102
发表于 2005-10-18 10:57:00 | 显示全部楼层 |阅读模式
AUX_RGBImageRec *pTextureImage256base = auxDIBImageLoa( ".\\texbase256.bmp" );

    if( pTextureImage256base != NULL )
        {
        glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
        
        glGenTextures( 1, &g_mipMapTextureID );

        glBindTexture(GL_TEXTURE_2D, g_mipMapTextureID);

        gluBuild2DMipmaps
(GL_TEXTURE_2D,3,pTextureImage256base>sizeX,pTextureImage256base->sizeY, GL_RGB, GL_UNSIGNED_BYTE,pTextureImage256base->data);
        }

//*************************************

下面用glTexImage2D函数一个个的加载各级纹理每个是上一个的1/2大小
//************************************


        AUX_RGBImageRec *pTexArray[6];

        pTexArray[0] = auxDIBImageLoad( ".\\tex256.bmp" );
        pTexArray[1] = auxDIBImageLoad( ".\\tex128.bmp" );
        pTexArray[2] = auxDIBImageLoad( ".\\tex64.bmp" );
        pTexArray[3] = auxDIBImageLoad( ".\\tex32.bmp" );
        pTexArray[4] = auxDIBImageLoad( ".\\tex16.bmp" );
        pTexArray[5] = auxDIBImageLoad( ".\\tex8.bmp" );

        glTexImage2D( GL_TEXTURE_2D, 0, 3, pTexArray[0]->sizeX, pTexArray[0]->sizeY, 0,
                                GL_RGB, GL_UNSIGNED_BYTE, pTexArray[0]->data);

        glTexImage2D( GL_TEXTURE_2D, 1, 3, pTexArray[1]->sizeX, pTexArray[1]->sizeY, 0,
                                GL_RGB, GL_UNSIGNED_BYTE, pTexArray[1]->data);

        glTexImage2D( GL_TEXTURE_2D, 2, 3, pTexArray[2]->sizeX, pTexArray[2]->sizeY, 0,
                                GL_RGB, GL_UNSIGNED_BYTE, pTexArray[2]->data);

        glTexImage2D( GL_TEXTURE_2D, 3, 3, pTexArray[3]->sizeX, pTexArray[3]->sizeY, 0,
                                GL_RGB, GL_UNSIGNED_BYTE, pTexArray[3]->data);

        glTexImage2D( GL_TEXTURE_2D, 4, 3, pTexArray[4]->sizeX, pTexArray[4]->sizeY, 0,
                                GL_RGB, GL_UNSIGNED_BYTE, pTexArray[4]->data);

        glTexImage2D( GL_TEXTURE_2D, 5, 3, pTexArray[5]->sizeX, pTexArray[5]->sizeY, 0,
                                GL_RGB, GL_UNSIGNED_BYTE, pTexArray[5]->data);




39

主题

102

帖子

102

积分

注册会员

Rank: 2

积分
102
 楼主| 发表于 2005-10-18 18:02:00 | 显示全部楼层

Re:glBuild2DMipmaps函数不是能自动生成各级纹理到内存中吗

我的意思是:比如一个512X512的纹理图片,不是gluBuild2DMipmaps()函数自动在内存中生成这个纹理的逐层递减(下一个是上一个边长的一半)纹理吗?可是,我看到用MipMap的时候还是用glTexImage2D一个个的从大到小载入纹理。那gluBuild2DMipmap()函数还有什么用呢?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-22 08:58

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表