修正加载错误
This commit is contained in:
parent
7eb49939fd
commit
39c8b7d56e
@ -1,4 +1,4 @@
|
|||||||
#include<hgl/graph/data/SceneNodeData.h>
|
#include<hgl/graph/data/SceneNodeData.h>
|
||||||
#include<hgl/graph/NTB.h>
|
#include<hgl/graph/NTB.h>
|
||||||
#include<hgl/filesystem/FileSystem.h>
|
#include<hgl/filesystem/FileSystem.h>
|
||||||
#include<hgl/log/LogInfo.h>
|
#include<hgl/log/LogInfo.h>
|
||||||
@ -34,7 +34,7 @@ namespace hgl
|
|||||||
if(md->version!=1)
|
if(md->version!=1)
|
||||||
return(false);
|
return(false);
|
||||||
|
|
||||||
LOG_INFO(OS_TEXT("Load StaticMesh file begin, ver:")+OSString::valueOf(version));
|
LOG_INFO(OS_TEXT("Load StaticMesh file begin, ver:")+OSString::valueOf(md->version));
|
||||||
return(true);
|
return(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -70,6 +70,9 @@ namespace hgl
|
|||||||
box.maxPoint.x=*(float *)sp;sp+=sizeof(float);
|
box.maxPoint.x=*(float *)sp;sp+=sizeof(float);
|
||||||
box.maxPoint.y=*(float *)sp;sp+=sizeof(float);
|
box.maxPoint.y=*(float *)sp;sp+=sizeof(float);
|
||||||
box.maxPoint.z=*(float *)sp;sp+=sizeof(float);
|
box.maxPoint.z=*(float *)sp;sp+=sizeof(float);
|
||||||
|
|
||||||
|
LOG_INFO(OS_TEXT("\tmin point: ")+OSString::valueOf(box.minPoint.x)+OS_TEXT(",")+OSString::valueOf(box.minPoint.y)+OS_TEXT(",")+OSString::valueOf(box.minPoint.z));
|
||||||
|
LOG_INFO(OS_TEXT("\tmax point: ")+OSString::valueOf(box.maxPoint.x)+OS_TEXT(",")+OSString::valueOf(box.maxPoint.y)+OS_TEXT(",")+OSString::valueOf(box.maxPoint.z));
|
||||||
}
|
}
|
||||||
|
|
||||||
bool LoadMesh(MeshData *mesh)
|
bool LoadMesh(MeshData *mesh)
|
||||||
@ -84,12 +87,12 @@ namespace hgl
|
|||||||
LOG_INFO(OS_TEXT("\tVertex: ")+OSString::valueOf(mesh->vertex_count));
|
LOG_INFO(OS_TEXT("\tVertex: ")+OSString::valueOf(mesh->vertex_count));
|
||||||
|
|
||||||
mesh->position=(float *)sp;
|
mesh->position=(float *)sp;
|
||||||
sp+=sizeof(float)*mesh->vertex_count;
|
sp+=sizeof(float)*3*mesh->vertex_count;
|
||||||
|
|
||||||
if(mesh->ntb&NTB_BIT_NORMAL)
|
if(mesh->ntb&NTB_BIT_NORMAL)
|
||||||
{
|
{
|
||||||
mesh->normal=(float *)sp;
|
mesh->normal=(float *)sp;
|
||||||
sp+=sizeof(float)*mesh->vertex_count;
|
sp+=sizeof(float)*3*mesh->vertex_count;
|
||||||
|
|
||||||
LOG_INFO(OS_TEXT("\thas normal"));
|
LOG_INFO(OS_TEXT("\thas normal"));
|
||||||
}
|
}
|
||||||
@ -97,7 +100,7 @@ namespace hgl
|
|||||||
if(mesh->ntb&NTB_BIT_TANGENT)
|
if(mesh->ntb&NTB_BIT_TANGENT)
|
||||||
{
|
{
|
||||||
mesh->tangent=(float *)sp;
|
mesh->tangent=(float *)sp;
|
||||||
sp+=sizeof(float)*mesh->vertex_count;
|
sp+=sizeof(float)*3*mesh->vertex_count;
|
||||||
|
|
||||||
LOG_INFO(OS_TEXT("\thas tangent"));
|
LOG_INFO(OS_TEXT("\thas tangent"));
|
||||||
}
|
}
|
||||||
@ -105,14 +108,17 @@ namespace hgl
|
|||||||
if(mesh->ntb&NTB_BIT_BINORMAL)
|
if(mesh->ntb&NTB_BIT_BINORMAL)
|
||||||
{
|
{
|
||||||
mesh->binormal=(float *)sp;
|
mesh->binormal=(float *)sp;
|
||||||
sp+=sizeof(float)*mesh->vertex_count;
|
sp+=sizeof(float)*3*mesh->vertex_count;
|
||||||
|
|
||||||
LOG_INFO(OS_TEXT("\thas bitangent/binormal"));
|
LOG_INFO(OS_TEXT("\thas bitangent/binormal"));
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
mesh->color_count=*sp++;
|
mesh->color_count=*sp++;
|
||||||
LOG_INFO(OS_TEXT("\tColor: ")+OSString::valueOf(mesh->vertex_count));
|
|
||||||
|
if(mesh->color_count)
|
||||||
|
{
|
||||||
|
LOG_INFO(OS_TEXT("\tColor: ")+OSString::valueOf(mesh->color_count));
|
||||||
|
|
||||||
mesh->colors=new uint8 *[mesh->color_count];
|
mesh->colors=new uint8 *[mesh->color_count];
|
||||||
for(uint i=0;i<mesh->color_count;i++)
|
for(uint i=0;i<mesh->color_count;i++)
|
||||||
@ -121,10 +127,14 @@ namespace hgl
|
|||||||
sp+=4*mesh->vertex_count;
|
sp+=4*mesh->vertex_count;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
mesh->uv_count=*sp++;
|
mesh->uv_count=*sp++;
|
||||||
LOG_INFO(OS_TEXT("\tUV: ")+OSString::valueOf(mesh->uv_count));
|
LOG_INFO(OS_TEXT("\tUV: ")+OSString::valueOf(mesh->uv_count));
|
||||||
|
|
||||||
|
if(mesh->uv_count>0)
|
||||||
|
{
|
||||||
mesh->uv_component=sp;
|
mesh->uv_component=sp;
|
||||||
sp+=mesh->uv_count;
|
sp+=mesh->uv_count;
|
||||||
|
|
||||||
@ -137,6 +147,7 @@ namespace hgl
|
|||||||
LOG_INFO(OS_TEXT("\t\tUV ")+OSString::valueOf(i)+OS_TEXT(" : ")+OSString::valueOf(mesh->uv_component[i]));
|
LOG_INFO(OS_TEXT("\t\tUV ")+OSString::valueOf(i)+OS_TEXT(" : ")+OSString::valueOf(mesh->uv_component[i]));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
mesh->indices_count=*(uint32 *)sp;
|
mesh->indices_count=*(uint32 *)sp;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user