00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00036 class PG_API pgUtil
00037 {
00038 public:
00039 pgDefineException(ExceptionInvalidArgument);
00040 pgDefineException(ExceptionInvalidData);
00041
00042 static u32 strlen(const char* str);
00043 static u32 wcslen(const wchar_t* str);
00044 static void charToWchar(wchar_t* buf, u32 buf_size, const char* str);
00045
00046 static const char* getBasename(const char* filename);
00047 static const char* getExtension(const char* filename);
00048
00049 static void calcNormalAsTriangles(pgVec* normal, const pgPrim::PrimData* prim_data, u16 vert_num, bool is_smoothing);
00050
00051 static bool readPNGInfo(u16* width, u16* height, pgTex::TexFormat* format, const void* data, u32 data_size);
00052 static bool readPNGImage(void* buf, u32 buf_size, u32 buf_line_size, const void* data, u32 data_size);
00053
00054 static void loadWindowsFont(const char* filename);
00055
00056 static void loadShader(pgID shd_id, const char* vert_file, const char* frag_file, u8 uni_num, u8 att_num, u8 tex_num);
00057
00058 static void loadPixelArtModel(const char* pxm_file, const char* png_file, r32 scale);
00059 static void loadPixelArtModelAs(pgID res_id, const char* pxm_file, const char* png_file, r32 scale);
00060
00061 static void import3DS(const char* filename, pgID tex_id, bool has_normal, bool is_smoothing_normal, r32 scale);
00062 static void import3DSAs(pgID res_id, const char* filename, pgID tex_id, bool has_normal, bool is_smoothing_normal, r32 scale);
00063 };