青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

逛奔的蝸牛

我不聰明,但我會很努力

   ::  :: 新隨筆 ::  ::  :: 管理 ::
這個代碼寫得有些阿格里拉,但也不失為一種方法
 
#ifndef _BMPLOAD_H_
#define _BMPLOAD_H_
#include <iostream>
#include <stdio.h>
using namespace std;
 
/*------------- 
 類型定義
 --------------*/
// 紋理圖像結構
typedef struct {
         int imgWidth; // 紋理寬度
         int imgHeight; // 紋理高度
         unsigned int rgbType; // 每個象素對應的字節數,3:24位圖,4:帶alpha通道的24位圖
         unsigned char *data; // 紋理數據
} TEXTUREIMAGE;
 
// BMP文件頭
typedef struct {
         unsigned short bfType; // 文件類型
         unsigned long bfSize; // 文件大小
         unsigned short bfReserved1; // 保留位
         unsigned short bfReserved2; // 保留位
         unsigned long bfOffBits; // 數據偏移位置
} BMPFILEHEADER;
 
// BMP信息頭
typedef struct {
         unsigned long biSize; // 此結構大小
         long biWidth; // 圖像寬度
         long biHeight; // 圖像高度
         unsigned short biPlanes; // 調色板數量
         unsigned short biBitCount; // 每個象素對應的位數,24:24位圖,32:帶alpha通道的24位圖
         unsigned long biCompression; // 壓縮
         unsigned long biSizeImage; // 圖像大小
         long biXPelsPerMeter; // 橫向分辨率
         long biYPelsPerMeter; // 縱向分辨率
         unsigned long biClrUsed; // 顏色使用數
         unsigned long biClrImportant; // 重要顏色數
} BMPINFOHEADER;
 
// 讀取BMP文件創建紋理
GLboolean LoadBmp(char *filename, TEXTUREIMAGE *textureImg) {
         int i, j;
         FILE *file;
         BMPFILEHEADER bmpFile;
         BMPINFOHEADER bmpInfo;
         int pixel_size;
 
         // 初始化紋理數據
         textureImg->imgWidth = 0;
         textureImg->imgHeight = 0;
         textureImg->rgbType = 0;
         if (textureImg->data != NULL) {
                  delete []textureImg->data;
         }
 
         // 打開文件
         file = fopen(filename, "rb");
         if (file == NULL) {
                  cout << "Open File Error" <<endl;
                  return false;
         }
 
         // 獲取文件頭
         rewind(file);
         fread(&bmpFile, sizeof(BMPFILEHEADER)-2, 1, file);
         //因為C語言對結構按四位對齊,所以不能直接用sizeof(BMPFILEHEADER)
         fread(&bmpInfo, sizeof(BMPINFOHEADER), 1, file);
         // 驗證文件類型
         if (bmpFile.bfType != 0x4D42) {
                 cout << "File Type Error" <<endl;
                 fclose(file);
                 return false;
         }
 
         // 獲取圖像色彩數
         pixel_size = bmpInfo.biBitCount >> 3;
         // 讀取文件數據
         textureImg->data = new unsigned char[bmpInfo.biWidth * bmpInfo.biHeight * pixel_size];
         if (textureImg->data == NULL) {
                  fclose(file);
                  return false;
         }

         rewind(file);
         fseek(file, 54L, 0);
         for (i = 0; i < bmpInfo.biHeight; i++) {
                  for (j = 0; j < bmpInfo.biWidth; j++) {
                           // 紅色分量
                           fread(textureImg->data + (i * bmpInfo.biWidth + j) * pixel_size + 2,
                                     sizeof(unsigned char), 1, file);
                           // 綠色分量
                           fread(textureImg->data + (i * bmpInfo.biWidth + j) * pixel_size + 1,
                                     sizeof(unsigned char), 1, file);
                           // 藍色分量
                           fread(textureImg->data + (i * bmpInfo.biWidth + j) * pixel_size + 0,
                                   sizeof(unsigned char), 1, file);
                           // Alpha分量
                           if (pixel_size == 4) {
                                    fread(textureImg->data + (i * bmpInfo.biWidth + j) * pixel_size + 3,
                                    sizeof(unsigned char), 1, file);
                           }
                  }
         }
         // 記錄圖像相關參數
         textureImg->imgWidth = bmpInfo.biWidth;
         textureImg->imgHeight = bmpInfo.biHeight;
         textureImg->rgbType = pixel_size;
         fclose(file);
         return false;
}
 
#endif
posted on 2010-12-17 17:33 逛奔的蝸牛 閱讀(406) 評論(0)  編輯 收藏 引用 所屬分類: OpenGL
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            一区二区欧美在线观看| 欧美日精品一区视频| 欧美激情女人20p| 久久精品亚洲国产奇米99| 亚洲自拍偷拍麻豆| 午夜精品久久久久| 久久久99免费视频| 欧美不卡视频一区| 亚洲激情在线激情| 亚洲第一精品夜夜躁人人躁| 亚洲高清电影| 一本色道久久88精品综合| 亚洲网友自拍| 欧美中文字幕在线| 欧美va天堂va视频va在线| 欧美日韩视频第一区| 国产精品久久久久久模特| 国产日韩欧美在线观看| 亚洲成色www8888| 中文av一区特黄| 久久九九精品99国产精品| 亚洲高清资源综合久久精品| 亚洲小说春色综合另类电影| 久久精品论坛| 欧美日韩一区二区在线观看视频| 国产日韩欧美在线播放| 亚洲美女av黄| 久久免费视频在线| 亚洲人成在线观看网站高清| 亚洲一区在线播放| 欧美大片免费久久精品三p| 国产精品videosex极品| 亚洲国产成人av好男人在线观看| 亚洲一区精品在线| 欧美激情乱人伦| 午夜精品一区二区三区在线播放| 欧美mv日韩mv亚洲| 国产在线观看91精品一区| 一区二区三区.www| 欧美成人tv| 亚洲视频电影在线| 欧美韩日精品| 亚洲高清色综合| 久久蜜桃香蕉精品一区二区三区| 亚洲网址在线| 欧美日韩亚洲网| 日韩网站免费观看| 欧美激情亚洲自拍| 久久精品综合网| 国产美女诱惑一区二区| 在线亚洲自拍| 亚洲激情专区| 欧美韩日一区| 日韩小视频在线观看| 欧美国产在线观看| 久久视频在线视频| 激情久久综合| 久久精品理论片| 校园春色国产精品| 国产视频一区在线观看| 欧美一级播放| 午夜精品久久99蜜桃的功能介绍| 国产精品理论片在线观看| 亚洲综合首页| 一区二区三区 在线观看视频| 欧美日韩国产专区| 一区二区三区视频在线观看| 亚洲精品一区二区三区蜜桃久| 女人天堂亚洲aⅴ在线观看| 亚洲国产欧美一区二区三区久久| 欧美高清在线播放| 欧美人与性动交a欧美精品| 一区二区三区日韩在线观看 | 午夜欧美精品| 亚洲午夜激情免费视频| 国产精品美女www爽爽爽| 亚洲私拍自拍| 亚洲一区日本| 国产综合亚洲精品一区二| 久久手机精品视频| 久久男人av资源网站| 亚洲日本欧美| 99视频超级精品| 国产欧美精品一区aⅴ影院| 久久久一本精品99久久精品66| 久久精品国产亚洲aⅴ| 亚洲国产va精品久久久不卡综合| 亚洲国产精品久久久久婷婷老年| 欧美日本在线观看| 欧美亚洲一级片| 久久精品99无色码中文字幕| 亚洲大胆人体在线| 日韩视频在线观看一区二区| 国产精品夜夜夜| 免费不卡在线视频| 欧美日韩视频在线观看一区二区三区| 亚洲自拍电影| 久久综合久久美利坚合众国| 妖精成人www高清在线观看| 9人人澡人人爽人人精品| 国产综合婷婷| 亚洲乱亚洲高清| 国内精品久久久| 99精品欧美一区二区三区综合在线| 国产欧美成人| 亚洲精品一二三| 亚洲第一黄网| 性感少妇一区| av成人免费在线| 久久综合成人精品亚洲另类欧美| 亚洲一区一卡| 欧美—级在线免费片| 久久人人97超碰国产公开结果| 欧美精品一区二| 欧美破处大片在线视频| 另类尿喷潮videofree| 亚洲一区999| 国产日韩亚洲欧美| 久久天堂av综合合色| 欧美国产日韩在线| 亚洲视频第一页| 国产一区二区三区四区| 亚洲一区二区三区精品在线观看| 久久久久久有精品国产| 亚洲国产欧美不卡在线观看 | 亚洲啪啪91| 一区二区免费在线视频| 亚洲福利在线视频| 久久狠狠一本精品综合网| 亚洲午夜视频在线观看| 免费久久久一本精品久久区| 久久精品五月婷婷| 国产伦精品一区二区三区高清| 亚洲乱码一区二区| 野花国产精品入口| 欧美精品一卡二卡| 亚洲日韩欧美一区二区在线| 亚洲国产精品ⅴa在线观看| 久久av二区| 久久久久久久综合| 国产专区综合网| 久久精品国产久精国产一老狼| 久久久激情视频| 韩日精品在线| 美女久久一区| 亚洲三级免费| 亚洲欧美日韩在线高清直播| 久久综合中文| 国产一区二区三区在线观看网站| 亚洲电影免费观看高清完整版在线观看| 亚洲高清视频在线观看| 国产婷婷色一区二区三区四区| 99热这里只有精品8| 99re6热只有精品免费观看| 99成人在线| 欧美日韩视频在线第一区| 日韩一区二区福利| 亚洲欧美国产高清va在线播| 国产精品久久久久免费a∨大胸| 艳女tv在线观看国产一区| 香蕉成人伊视频在线观看| 国产精品乱码妇女bbbb| 亚洲国产精品福利| 亚洲日本电影| 亚洲综合国产| 欧美成熟视频| 亚洲人成在线观看| 蜜桃视频一区| 亚洲精品免费看| 麻豆av福利av久久av| 亚洲婷婷国产精品电影人久久| 91久久夜色精品国产网站| 亚洲午夜激情免费视频| 久久久91精品国产一区二区三区| 欧美成人情趣视频| 亚洲亚洲精品在线观看| 久久一区免费| 国产一区久久| 免费的成人av| 欧美国产精品日韩| 日韩午夜激情电影| 欧美特黄一级大片| 欧美在线观看日本一区| 亚洲国产日韩欧美一区二区三区| 日韩一级在线观看| 国产亚洲综合精品| 欧美日韩国产在线播放网站| 欧美在线免费| 9色国产精品| 麻豆av一区二区三区| 午夜伦理片一区| 99精品黄色片免费大全| 黄色精品一区| 欧美午夜美女看片| 欧美极品在线视频| 久久亚洲春色中文字幕久久久| 在线亚洲一区| 亚洲日本免费| 亚洲国产国产亚洲一二三| 久久免费一区|