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