[DEV] add non isometric cube

This commit is contained in:
Edouard DUPIN 2017-05-22 23:15:28 +02:00
parent 3c6c79b8bd
commit 30e73c9723
3 changed files with 9 additions and 2 deletions

View File

@ -37,6 +37,9 @@ namespace ege {
static ememory::SharedPtr<ege::resource::Mesh> createCube(float _size=1.0f, static ememory::SharedPtr<ege::resource::Mesh> createCube(float _size=1.0f,
const std::string& _materialName="basics", const std::string& _materialName="basics",
const etk::Color<float>& _color=etk::color::green); const etk::Color<float>& _color=etk::color::green);
static ememory::SharedPtr<ege::resource::Mesh> createCube(const vec3& _size=vec3(1.0f, 1.0f, 1.0f),
const std::string& _materialName="basics",
const etk::Color<float>& _color=etk::color::green);
static ememory::SharedPtr<ege::resource::Mesh> createSphere(float _size=1.0f, static ememory::SharedPtr<ege::resource::Mesh> createSphere(float _size=1.0f,
const std::string& _materialName="basics", const std::string& _materialName="basics",
const etk::Color<float>& _color=etk::color::green, const etk::Color<float>& _color=etk::color::green,

View File

@ -8,6 +8,10 @@
#include <ege/resource/Mesh.hpp> #include <ege/resource/Mesh.hpp>
ememory::SharedPtr<ege::resource::Mesh> ege::resource::Mesh::createCube(float _size, const std::string& _materialName, const etk::Color<float>& _color) { ememory::SharedPtr<ege::resource::Mesh> ege::resource::Mesh::createCube(float _size, const std::string& _materialName, const etk::Color<float>& _color) {
return createCube(vec3(_size, _size, _size), _materialName, _color);
}
ememory::SharedPtr<ege::resource::Mesh> ege::resource::Mesh::createCube(const vec3& _size, const std::string& _materialName, const etk::Color<float>& _color) {
EGE_VERBOSE(" create a cube _size=" << _size << " _materialName=" << _materialName << " _color=" << _color); EGE_VERBOSE(" create a cube _size=" << _size << " _materialName=" << _materialName << " _color=" << _color);
ememory::SharedPtr<ege::resource::Mesh> out = ege::resource::Mesh::create("---", "DATA:color3.prog"); ememory::SharedPtr<ege::resource::Mesh> out = ege::resource::Mesh::create("---", "DATA:color3.prog");
if (out != nullptr) { if (out != nullptr) {

View File

@ -128,7 +128,7 @@ void appl::Windows::init() {
m_env->addEntity(element); m_env->addEntity(element);
} }
// create cubes ... // create cubes ...
myMesh = ege::resource::Mesh::createCube(3, "basics", etk::color::green); myMesh = ege::resource::Mesh::createCube(vec3(3,0.2,5), "basics", etk::color::green);
if (myMesh != nullptr) { if (myMesh != nullptr) {
ememory::SharedPtr<ege::Entity> element = ememory::makeShared<ege::Entity>(m_env); ememory::SharedPtr<ege::Entity> element = ememory::makeShared<ege::Entity>(m_env);
// add all component: // add all component:
@ -140,7 +140,7 @@ void appl::Windows::init() {
// 3rd some physic: // 3rd some physic:
ememory::SharedPtr<ege::physics::Component> componentPhysics = ememory::makeShared<ege::physics::Component>(m_env, transform); ememory::SharedPtr<ege::physics::Component> componentPhysics = ememory::makeShared<ege::physics::Component>(m_env, transform);
ememory::SharedPtr<ege::physics::shape::Box> physic = ememory::makeShared<ege::physics::shape::Box>(); ememory::SharedPtr<ege::physics::shape::Box> physic = ememory::makeShared<ege::physics::shape::Box>();
physic->setSize(vec3(3.01,3.01,3.01)); physic->setSize(vec3(3.01,0.21,5.01));
physic->setMass(300000); physic->setMass(300000);
componentPhysics->addShape(physic); componentPhysics->addShape(physic);
componentPhysics->generate(); componentPhysics->generate();