ogre 不常用類記錄之Serializer

2021-07-06 11:19:28 字數 2205 閱讀 9660

一、serializer

位置:ogreserializer.h

主功能:讀寫檔案

從它繼承的類有:meshserializerimpl,skeletonserializer,gpunamedconstantsserializer。同時它又是繼承自serializeralloc(一種記憶體管理模式,materialserializer也繼承自它)。

也就是ogre裡涉及的檔案,包括mesh、gpu program 、骨骼檔案,都是通過它讀的,除了材質檔案(.material)。

說明:

裡面採用了自己的方式,以免讓別人讀出來。

頭,識別是哪種。

virtual

void writefileheader(void);

virtual

void writechunkheader(uint16 id, size_t size);

virtual

void readfileheader(datastreamptr& stream);

virtual

unsigned

short readchunk(datastreamptr& stream);

具體一般格式的讀寫

void writefloats(const

float* const pfloat, size_t count);

void writefloats(const

double* const pfloat, size_t count);

void writeshorts(const

uint16* const pshort, size_t count);

void writeints(const

uint32* const pint, size_t count);

void writebools(const

bool* const plong, size_t count);

void writeobject(const vector3& vec);

void writeobject(const quaternion& q);

void writestring(const string& string);

void writedata(const

void* const buf, size_t size, size_t count);

void readbools(datastreamptr& stream, bool* pdest, size_t count);

void readfloats(datastreamptr& stream, float* pdest, size_t count);

void readfloats(datastreamptr& stream, double* pdest, size_t count);

void readshorts(datastreamptr& stream, uint16* pdest, size_t count);

void readints(datastreamptr& stream, uint32* pdest, size_t count);

void readobject(datastreamptr& stream, vector3& pdest);

void readobject(datastreamptr& stream, quaternion& pdest);

string readstring(datastreamptr& stream);

string readstring(datastreamptr& stream, size_t numchars);

內部特殊處理的函式

virtual

void fliptolittleendian(void* pdata, size_t size, size_t count = 1);

virtual

void flipfromlittleendian(void* pdata, size_t size, size_t count = 1);

追到跟的特殊處理方式:

void serializer::flipendian(void * pdata, size_t size)

}

其實這兒沒必要深究啦,做外掛程式的話會用這個類的函式就行。

css樣式 記錄(不常用)

border 1px solid 3b80fa box sizing border box 一般用於百分比或者其他 必須要新增border等操作問題 語法 box sizing content box border box inherit 值 描述content box 這是由 css2.1 規定的...

不常用到的sql語句記錄

1 查詢觸發器是否存在 oracle select count as count from user triggers where trigger name upper triname sqlserver select count as count from sysobjects where nam...

IP位址中A類 B類 C類(D E不常用)

ip位址的四段號碼,第一段號碼為網路號碼,剩下的三段號碼為本地計算機的號碼。ip位址的二進位制,a類ip位址就由1位元組的網路位址和3位元組主機位址組成,網路位址的最高位必須是 0 a類ip位址中網路的標識長度為8位,主機標識的長度為24位。位址範圍 1.0.0.1 127.255.255.254 ...