save rendertype,
evaluate rednertype specular, changed info window always on top
This commit is contained in:
@@ -253,13 +253,16 @@ void MshFile::analyseMatdChunks(std::list<ChunkHeader*>& chunkList)
|
||||
// attributes
|
||||
else if (!strcmp("ATRB", it->name))
|
||||
{
|
||||
// get pointer to current material
|
||||
Material* curMat = &m_materials->back();
|
||||
|
||||
// read the attributes
|
||||
m_file.seekg(it->position);
|
||||
std::uint8_t flag, render, data[2];
|
||||
std::uint8_t flag;
|
||||
m_file.read(F2V(flag), sizeof(flag));
|
||||
m_file.read(F2V(render), sizeof(render));
|
||||
m_file.read(F2V(data[0]), sizeof(data[0]));
|
||||
m_file.read(F2V(data[1]), sizeof(data[1]));
|
||||
m_file.read(F2V(curMat->rendertype), sizeof(std::uint8_t));
|
||||
m_file.read(F2V(curMat->dataValues[0]), sizeof(std::uint8_t));
|
||||
m_file.read(F2V(curMat->dataValues[1]), sizeof(std::uint8_t));
|
||||
|
||||
// flags
|
||||
// 0: emissive
|
||||
@@ -272,9 +275,9 @@ void MshFile::analyseMatdChunks(std::list<ChunkHeader*>& chunkList)
|
||||
// 7: specular
|
||||
|
||||
for (unsigned int i = 0; i < 8; i++)
|
||||
m_materials->back().flags[i] = (std::uint8_t)(flag << (7 - i)) >> 7;
|
||||
curMat->flags[i] = (std::uint8_t)(flag << (7 - i)) >> 7;
|
||||
|
||||
m_materials->back().transparent = m_materials->back().flags[2] || m_materials->back().flags[3] || m_materials->back().flags[4] || m_materials->back().flags[6];
|
||||
curMat->transparent = curMat->flags[2] || curMat->flags[3] || curMat->flags[4] || curMat->flags[6] || curMat->rendertype == 4;
|
||||
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user