| @@ -63,6 +63,8 @@ liblol_a_SOURCES = \ | |||||
| generated/lolfx-parser.cpp generated/lolfx-parser.h \ | generated/lolfx-parser.cpp generated/lolfx-parser.h \ | ||||
| generated/lolfx-scanner.cpp \ | generated/lolfx-scanner.cpp \ | ||||
| \ | \ | ||||
| mesh/mesh.cpp mesh/mesh.h \ | |||||
| \ | |||||
| image/image.cpp image/image.h image/image-private.h \ | image/image.cpp image/image.h image/image-private.h \ | ||||
| image/codec/gdiplus-image.cpp \ | image/codec/gdiplus-image.cpp \ | ||||
| image/codec/ios-image.cpp \ | image/codec/ios-image.cpp \ | ||||
| @@ -120,6 +120,7 @@ static inline int isnan(float f) | |||||
| #include "gpu/indexbuffer.h" | #include "gpu/indexbuffer.h" | ||||
| #include "gpu/vertexbuffer.h" | #include "gpu/vertexbuffer.h" | ||||
| #include "gpu/framebuffer.h" | #include "gpu/framebuffer.h" | ||||
| #include "mesh/mesh.h" | |||||
| #include "image/image.h" | #include "image/image.h" | ||||
| #include "application/application.h" | #include "application/application.h" | ||||
| #include "easymesh/easymesh.h" | #include "easymesh/easymesh.h" | ||||
| @@ -120,8 +120,8 @@ void EasyMesh::Render(mat4 const &model, float damage) | |||||
| m_gpu.shader->SetUniform(m_gpu.proj, Scene::GetDefault()->GetProjMatrix()); | m_gpu.shader->SetUniform(m_gpu.proj, Scene::GetDefault()->GetProjMatrix()); | ||||
| m_gpu.shader->SetUniform(m_gpu.normalmat, normalmat); | m_gpu.shader->SetUniform(m_gpu.normalmat, normalmat); | ||||
| m_gpu.shader->SetUniform(m_gpu.damage, damage); | m_gpu.shader->SetUniform(m_gpu.damage, damage); | ||||
| m_gpu.vdecl->SetStream(m_gpu.vbo, m_gpu.coord, m_gpu.norm, m_gpu.color); | |||||
| m_gpu.vdecl->Bind(); | m_gpu.vdecl->Bind(); | ||||
| m_gpu.vdecl->SetStream(m_gpu.vbo, m_gpu.coord, m_gpu.norm, m_gpu.color); | |||||
| m_gpu.ibo->Bind(); | m_gpu.ibo->Bind(); | ||||
| m_gpu.vdecl->DrawIndexedElements(MeshPrimitive::Triangles, | m_gpu.vdecl->DrawIndexedElements(MeshPrimitive::Triangles, | ||||
| 0, 0, m_gpu.vertexcount, | 0, 0, m_gpu.vertexcount, | ||||
| @@ -275,6 +275,7 @@ | |||||
| <ClCompile Include="math\real.cpp" /> | <ClCompile Include="math\real.cpp" /> | ||||
| <ClCompile Include="math\trig.cpp" /> | <ClCompile Include="math\trig.cpp" /> | ||||
| <ClCompile Include="math\vector.cpp" /> | <ClCompile Include="math\vector.cpp" /> | ||||
| <ClCompile Include="mesh\mesh.cpp" /> | |||||
| <ClCompile Include="platform.cpp" /> | <ClCompile Include="platform.cpp" /> | ||||
| <ClCompile Include="platform\d3d9\d3d9input.cpp" /> | <ClCompile Include="platform\d3d9\d3d9input.cpp" /> | ||||
| <ClCompile Include="platform\ps3\ps3app.cpp" /> | <ClCompile Include="platform\ps3\ps3app.cpp" /> | ||||
| @@ -589,6 +590,7 @@ | |||||
| <ClInclude Include="lol\math\remez.h" /> | <ClInclude Include="lol\math\remez.h" /> | ||||
| <ClInclude Include="lol\math\vector.h" /> | <ClInclude Include="lol\math\vector.h" /> | ||||
| <ClInclude Include="lol\unit.h" /> | <ClInclude Include="lol\unit.h" /> | ||||
| <ClInclude Include="mesh\mesh.h" /> | |||||
| <ClInclude Include="map.h" /> | <ClInclude Include="map.h" /> | ||||
| <ClInclude Include="numeric.h" /> | <ClInclude Include="numeric.h" /> | ||||
| <ClInclude Include="platform.h" /> | <ClInclude Include="platform.h" /> | ||||
| @@ -26,6 +26,9 @@ | |||||
| <Filter Include="src\math"> | <Filter Include="src\math"> | ||||
| <UniqueIdentifier>{2caadbda-b9f1-446d-bbd2-55c959db342c}</UniqueIdentifier> | <UniqueIdentifier>{2caadbda-b9f1-446d-bbd2-55c959db342c}</UniqueIdentifier> | ||||
| </Filter> | </Filter> | ||||
| <Filter Include="src\mesh"> | |||||
| <UniqueIdentifier>{1eaa8df5-7a31-4358-a1e9-0e265de6ed49}</UniqueIdentifier> | |||||
| </Filter> | |||||
| <Filter Include="src\gpu"> | <Filter Include="src\gpu"> | ||||
| <UniqueIdentifier>{ec9b94fc-c716-4ef2-9c3b-c7f3447574b0}</UniqueIdentifier> | <UniqueIdentifier>{ec9b94fc-c716-4ef2-9c3b-c7f3447574b0}</UniqueIdentifier> | ||||
| </Filter> | </Filter> | ||||
| @@ -94,6 +97,9 @@ | |||||
| <ClCompile Include="math\vector.cpp"> | <ClCompile Include="math\vector.cpp"> | ||||
| <Filter>src\math</Filter> | <Filter>src\math</Filter> | ||||
| </ClCompile> | </ClCompile> | ||||
| <ClCompile Include="mesh\mesh.cpp"> | |||||
| <Filter>src\mesh</Filter> | |||||
| </ClCompile> | |||||
| <ClCompile Include="gpu\shader.cpp"> | <ClCompile Include="gpu\shader.cpp"> | ||||
| <Filter>src\gpu</Filter> | <Filter>src\gpu</Filter> | ||||
| </ClCompile> | </ClCompile> | ||||
| @@ -672,6 +678,9 @@ | |||||
| <ClInclude Include="lol\unit.h"> | <ClInclude Include="lol\unit.h"> | ||||
| <Filter>src\lol</Filter> | <Filter>src\lol</Filter> | ||||
| </ClInclude> | </ClInclude> | ||||
| <ClInclude Include="mesh\mesh.h"> | |||||
| <Filter>src\mesh</Filter> | |||||
| </ClInclude> | |||||
| <ClInclude Include="gpu\shader.h"> | <ClInclude Include="gpu\shader.h"> | ||||
| <Filter>src\gpu</Filter> | <Filter>src\gpu</Filter> | ||||
| </ClInclude> | </ClInclude> | ||||
| @@ -0,0 +1,50 @@ | |||||
| // | |||||
| // Lol Engine | |||||
| // | |||||
| // Copyright: (c) 2010-2012 Sam Hocevar <sam@hocevar.net> | |||||
| // This program is free software; you can redistribute it and/or | |||||
| // modify it under the terms of the Do What The Fuck You Want To | |||||
| // Public License, Version 2, as published by Sam Hocevar. See | |||||
| // http://sam.zoy.org/projects/COPYING.WTFPL for more details. | |||||
| // | |||||
| #if defined HAVE_CONFIG_H | |||||
| # include "config.h" | |||||
| #endif | |||||
| #include <cstring> | |||||
| #include <cstdlib> | |||||
| #include "core.h" | |||||
| namespace lol | |||||
| { | |||||
| Mesh::Mesh() | |||||
| { | |||||
| } | |||||
| Mesh::~Mesh() | |||||
| { | |||||
| } | |||||
| void Mesh::Render(mat4 const &model) | |||||
| { | |||||
| for (int i = 0; i < m_submeshes.Count(); ++i) | |||||
| m_submeshes[i]->Render(model); | |||||
| } | |||||
| SubMesh::SubMesh() | |||||
| { | |||||
| } | |||||
| SubMesh::~SubMesh() | |||||
| { | |||||
| } | |||||
| void SubMesh::Render(mat4 const &model) | |||||
| { | |||||
| } | |||||
| } /* namespace lol */ | |||||
| @@ -0,0 +1,51 @@ | |||||
| // | |||||
| // Lol Engine | |||||
| // | |||||
| // Copyright: (c) 2010-2012 Sam Hocevar <sam@hocevar.net> | |||||
| // This program is free software; you can redistribute it and/or | |||||
| // modify it under the terms of the Do What The Fuck You Want To | |||||
| // Public License, Version 2, as published by Sam Hocevar. See | |||||
| // http://sam.zoy.org/projects/COPYING.WTFPL for more details. | |||||
| // | |||||
| // | |||||
| // The Mesh class | |||||
| // -------------- | |||||
| // | |||||
| #if !defined __MESH_MESH_H__ | |||||
| #define __MESH_MESH_H__ | |||||
| namespace lol | |||||
| { | |||||
| class SubMesh | |||||
| { | |||||
| public: | |||||
| SubMesh(); | |||||
| ~SubMesh(); | |||||
| void Render(mat4 const &model); | |||||
| private: | |||||
| Array<vec3> m_vertices; | |||||
| Array<vec2> m_uvs; | |||||
| Array<vec3> m_normals; | |||||
| }; | |||||
| class Mesh | |||||
| { | |||||
| public: | |||||
| Mesh(); | |||||
| ~Mesh(); | |||||
| void Render(mat4 const &model); | |||||
| private: | |||||
| Array<SubMesh *> m_submeshes; | |||||
| }; | |||||
| } /* namespace lol */ | |||||
| #endif /* __MESH_MESH_H__ */ | |||||