资源简介
用OPENGL读取MS3D文件,包括程序,可运行文件,MS3D模型文件,相应的BMP图片。

代码片段和文件信息
#include“jpeg.h“
#include“main.h“
void DecodeJPG(jpeg_decompress_struct* cinfo tImageJPG *pImageData)
{
jpeg_read_header(cinfo TRUE);
jpeg_start_decompress(cinfo);
pImageData->rowSpan = cinfo->image_width * cinfo->num_components;
pImageData->sizeX = cinfo->image_width;
pImageData->sizeY = cinfo->image_height;
pImageData->data = new unsigned char[pImageData->rowSpan * pImageData->sizeY];
unsigned char** rowPtr = new unsigned char*[pImageData->sizeY];
for (int i = 0; i < pImageData->sizeY; i++)
rowPtr[i] = &(pImageData->data[i*pImageData->rowSpan]);
int rowsRead = cinfo->output_height-1;
while (cinfo->output_scanline < cinfo->output_height)
{
rowsRead -= jpeg_read_scanlines(cinfo &rowPtr[rowsRead] cinfo->output_height - rowsRead);
}
delete [] rowPtr;
jpeg_finish_decompress(cinfo);
}
tImageJPG *LoadJPG(const char *filename)
{
struct jpeg_decompress_struct cinfo;
tImageJPG *pImageData = NULL;
FILE *pFile;
if((pFile = fopen(filename “rb“)) == NULL)
{
MessageBox(hWnd “Unable to load JPG File!“ “Error“ MB_OK);
return NULL;
}
jpeg_error_mgr jerr;
cinfo.err = jpeg_std_error(&jerr);
jpeg_create_decompress(&cinfo);
jpeg_stdio_src(&cinfo pFile);
pImageData = (tImageJPG*)malloc(sizeof(tImageJPG));
DecodeJPG(&cinfo pImageData);
jpeg_destroy_decompress(&cinfo);
fclose(pFile);
return pImageData;
}
void JPEG_Texture(UINT textureArray[] LPSTR strFileName int textureID)
{
if(!strFileName) return;
tImageJPG *pImage = LoadJPG(strFileName);
if(pImage == NULL) exit(0);
glGenTextures(1 &textureArray[textureID]);
glBindTexture(GL_TEXTURE_2D textureArray[textureID]);
gluBuild2DMipmaps(GL_TEXTURE_2D 3 pImage->sizeX pImage->sizeY GL_RGB GL_UNSIGNED_BYTE pImage->data);
glTexParameteri(GL_TEXTURE_2DGL_TEXTURE_MIN_FILTERGL_LINEAR_MIPMAP_NEAREST);
glTexParameteri(GL_TEXTURE_2DGL_TEXTURE_MAG_FILTERGL_LINEAR_MIPMAP_LINEAR);
if (pImage)
{
if (pImage->data)
{
free(pImage->data);
}
free(pImage);
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 4315 2002-11-14 12:10 用OPENGL读取MS3D文件和JPEG材质\APRON.dsp
文件 66045 2002-04-23 16:47 用OPENGL读取MS3D文件和JPEG材质\data\include\jpeglib.h
文件 294110 2002-04-24 10:02 用OPENGL读取MS3D文件和JPEG材质\data\lib\jpeg.lib
文件 57723 2002-07-21 15:54 用OPENGL读取MS3D文件和JPEG材质\data\model\body.jpg
文件 155326 2002-11-14 12:11 用OPENGL读取MS3D文件和JPEG材质\data\model\character.ms3d
文件 34064 2002-07-21 15:57 用OPENGL读取MS3D文件和JPEG材质\data\model\face.jpg
文件 7628 2002-07-21 15:54 用OPENGL读取MS3D文件和JPEG材质\data\model\hands.jpg
文件 19656 2002-07-21 15:53 用OPENGL读取MS3D文件和JPEG材质\data\model\legs.jpg
文件 2150 2002-11-14 12:55 用OPENGL读取MS3D文件和JPEG材质\JPEG.cpp
文件 327 2002-07-21 15:36 用OPENGL读取MS3D文件和JPEG材质\JPEG.h
文件 18668 2002-11-14 12:55 用OPENGL读取MS3D文件和JPEG材质\Main.cpp
文件 816 2002-11-14 12:35 用OPENGL读取MS3D文件和JPEG材质\Main.h
文件 331858 2002-11-14 12:42 用OPENGL读取MS3D文件和JPEG材质\ms3d loader.exe
文件 7110 2002-11-14 12:55 用OPENGL读取MS3D文件和JPEG材质\MS3D.cpp
文件 2645 2002-11-14 21:00 用OPENGL读取MS3D文件和JPEG材质\MS3D.h
文件 911 2002-11-14 12:54 用OPENGL读取MS3D文件和JPEG材质\Read me.txt
目录 0 2010-04-20 01:28 用OPENGL读取MS3D文件和JPEG材质\data\include
目录 0 2010-04-20 01:28 用OPENGL读取MS3D文件和JPEG材质\data\lib
目录 0 2010-04-20 01:28 用OPENGL读取MS3D文件和JPEG材质\data\model
..AD... 0 2010-04-20 01:28 用OPENGL读取MS3D文件和JPEG材质\data
目录 0 2010-04-20 01:28 用OPENGL读取MS3D文件和JPEG材质
----------- --------- ---------- ----- ----
1003352 21
相关资源
- OpenGL参考手册
- Qt Creator opengl实现四元数鼠标控制轨迹
- OpenGL文档,api大全,可直接查询函数
- opengl轮廓字体源代码
- MFC读三维模型obj文件
- 利用OpenGL写毛笔字算法
- MFC中OpenGL面和体的绘制以及动画效果
- 基于OPENGL的光线跟踪源代码368758
- VC 实现三维旋转(源码)
- 自编用openGL实现3D分形树,分形山
- OpenGL球形贴图自旋程序
- OpenGL导入贴图的Texture类
- 计算机图形学(openGL)代码
- 用OpenGL开发的机械臂运动仿真程序(
- OpenGL-3D坦克模拟
- OPENGL实现世界上最小的3D游戏
- VS2012OpenGL配置所需要的全部libdllh文件
- 基于OpenGL的仿蝗虫机器人三维动态仿
- 图形学 - OpenGL实现3种三维茶壶显示源
- opengl程序-会跳舞的骷髅
- opengl实现三维网格光顺Laplacian算法
- opengl——爆炸
- OpenGL三维地形建模
- opengl游戏编程徐明亮版(含源码)
- 用OPENGL画的一个简单的直升飞机
- opengl完美天空盒
- 3D绘图程序设计:使用Direct3D 10/9和Ope
- OpenGL绘制可运动自行车源程序.zip
- OpenGL实现飘动效果
- opengl室内场景的绘制,包括碰撞检测
评论
共有 条评论