|
|
@@ -268,8 +268,8 @@ public: |
|
|
|
//Target List Setup |
|
|
|
Array<vec3> target_list; |
|
|
|
if (m_meshes.Count() && m_mesh_id >= 0) |
|
|
|
for (int i = 0; i < m_meshes[m_mesh_id].GetVertexCount(); i++) |
|
|
|
target_list << (m_mat * mat4::translate(m_meshes[m_mesh_id].GetVertexLocation(i))).v3.xyz; |
|
|
|
for (int i = 0; i < m_meshes[m_mesh_id]->GetVertexCount(); i++) |
|
|
|
target_list << (m_mat * mat4::translate(m_meshes[m_mesh_id]->GetVertexLocation(i))).v3.xyz; |
|
|
|
|
|
|
|
//-- |
|
|
|
//Update mesh screen location - Get the Min/Max needed |
|
|
@@ -337,9 +337,11 @@ public: |
|
|
|
if (m_mesh_id == m_meshes.Count() - 1) |
|
|
|
m_mesh_id++; |
|
|
|
//Create a new mesh |
|
|
|
EasyMesh tmp; |
|
|
|
if (tmp.Compile(mesh.C())) |
|
|
|
EasyMesh* tmp = new EasyMesh(); |
|
|
|
if (tmp->Compile(mesh.C())) |
|
|
|
m_meshes.Push(tmp); |
|
|
|
else |
|
|
|
delete(tmp); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
@@ -437,20 +439,20 @@ public: |
|
|
|
for (int i = 0; i < m_meshes.Count(); i++) |
|
|
|
{ |
|
|
|
{ |
|
|
|
if (m_meshes[i].GetMeshState() == MeshRender::NeedConvert) |
|
|
|
if (m_meshes[i]->GetMeshState() == MeshRender::NeedConvert) |
|
|
|
{ |
|
|
|
#if WITH_TEXTURE |
|
|
|
m_meshes[i].MeshConvert(new DefaultShaderData(((1 << VertexUsage::Position) | (1 << VertexUsage::Normal) | |
|
|
|
m_meshes[i]->MeshConvert(new DefaultShaderData(((1 << VertexUsage::Position) | (1 << VertexUsage::Normal) | |
|
|
|
(1 << VertexUsage::Color) | (1 << VertexUsage::TexCoord)), |
|
|
|
m_texture_shader, true)); |
|
|
|
#else |
|
|
|
m_meshes[i].MeshConvert(); |
|
|
|
m_meshes[i]->MeshConvert(); |
|
|
|
#endif //WITH_TEXTURE |
|
|
|
} |
|
|
|
mat4 save_proj = m_camera->GetProjection(); |
|
|
|
float j = -(float)(m_meshes.Count() - (i + 1)) + (-m_mesh_id1 + (float)(m_meshes.Count() - 1)); |
|
|
|
|
|
|
|
if (m_meshes[i].GetMeshState() > MeshRender::NeedConvert) |
|
|
|
if (m_meshes[i]->GetMeshState() > MeshRender::NeedConvert) |
|
|
|
{ |
|
|
|
mat4 new_proj = |
|
|
|
//Y object Offset |
|
|
@@ -466,7 +468,7 @@ public: |
|
|
|
//Camera projection |
|
|
|
save_proj; |
|
|
|
m_camera->SetProjection(new_proj); |
|
|
|
m_meshes[i].Render(m_mat); |
|
|
|
m_meshes[i]->Render(m_mat); |
|
|
|
g_renderer->Clear(ClearMask::Depth); |
|
|
|
} |
|
|
|
m_camera->SetProjection(save_proj); |
|
|
@@ -499,7 +501,7 @@ private: |
|
|
|
//Mesh infos |
|
|
|
int m_mesh_id; |
|
|
|
float m_mesh_id1; |
|
|
|
Array<EasyMesh> m_meshes; |
|
|
|
Array<EasyMesh*> m_meshes; |
|
|
|
|
|
|
|
//File data |
|
|
|
String m_file_name; |
|
|
|