MyTexture.h
上传用户:sz25923981
上传日期:2022-06-28
资源大小:3615k
文件大小:2k
源码类别:

OpenGL

开发平台:

Visual C++

  1. // MyTexture.h: interface for the CMyTexture class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #if !defined(AFX_MYTEXTURE_H__6EFF87BC_E0EE_4915_9D69_ABC674379FA4__INCLUDED_)
  5. #define AFX_MYTEXTURE_H__6EFF87BC_E0EE_4915_9D69_ABC674379FA4__INCLUDED_
  6. #if _MSC_VER > 1000
  7. #pragma once
  8. #endif // _MSC_VER > 1000
  9. typedef struct _ImageRec 
  10. {
  11.     unsigned short imagic;
  12.     unsigned short type;
  13.     unsigned short dim;
  14.     unsigned short xsize, ysize, zsize;
  15.     unsigned int min, max;
  16.     unsigned int wasteBytes;
  17.     char name[80];
  18.     unsigned long colorMap;
  19.     FILE *file;
  20.     unsigned char *tmp, *tmpR, *tmpG, *tmpB;
  21.     unsigned long rleEnd;
  22.     unsigned int *rowStart;
  23.     int *rowSize;
  24. } ImageRec;
  25. class CMyTexture  
  26. {
  27. public:
  28. CMyTexture();
  29. virtual ~CMyTexture();
  30. void bwtorgba(unsigned char *b,unsigned char *l,int n);
  31. void latorgba(unsigned char *b, unsigned char *a,unsigned char *l,int n);
  32. void rgbtorgba(unsigned char *r,unsigned char *g,unsigned char *b,unsigned char *l,int n); 
  33. void rgbatorgba(unsigned char *r,unsigned char *g,unsigned char *b,unsigned char *a,unsigned char *l,int n); 
  34. void ConvertShort(unsigned short *array, long length); 
  35. void ConvertLong(unsigned *array, long length); 
  36. ImageRec * ImageOpen(const char *fileName);
  37. void ImageClose(ImageRec *image); 
  38. void ImageGetRow(ImageRec *image, unsigned char *buf, int y, int z); 
  39. unsigned * read_texture(char *name, int *width, int *height, int *components); 
  40. };
  41. #endif // !defined(AFX_MYTEXTURE_H__6EFF87BC_E0EE_4915_9D69_ABC674379FA4__INCLUDED_)