• 大小: 381KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-10
  • 语言: 其他
  • 标签: OPENGL  MS3D  骨骼动画  

资源简介

用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


评论

共有 条评论