extend examples
This commit is contained in:
@@ -88,6 +88,7 @@ namespace OpenVulkano
|
|||||||
label.AddText("Additional text" + std::to_string(j));
|
label.AddText("Additional text" + std::to_string(j));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
m_drawablesPool[i].SetIsHittable(true);
|
||||||
m_scene.GetRoot()->AddChild(&m_nodesPool[i]);
|
m_scene.GetRoot()->AddChild(&m_nodesPool[i]);
|
||||||
m_nodesPool[i].SetMatrix(Math::Utils::translate(glm::mat4x4(1.f), Vector3f(-5 + std::rand() % 5, -5 + std::rand() % 5, -std::rand() % 10)));
|
m_nodesPool[i].SetMatrix(Math::Utils::translate(glm::mat4x4(1.f), Vector3f(-5 + std::rand() % 5, -5 + std::rand() % 5, -std::rand() % 10)));
|
||||||
m_nodesPool[i].AddDrawable(&m_drawablesPool[i]);
|
m_nodesPool[i].AddDrawable(&m_drawablesPool[i]);
|
||||||
|
|||||||
@@ -71,6 +71,8 @@ namespace OpenVulkano
|
|||||||
void CompleteSceneElement(SceneElement *dest)
|
void CompleteSceneElement(SceneElement *dest)
|
||||||
{
|
{
|
||||||
dest->m_drawable.Init(&m_shader, &dest->m_geometry, &m_material);
|
dest->m_drawable.Init(&m_shader, &dest->m_geometry, &m_material);
|
||||||
|
dest->m_drawable.SetIsHittable(true);
|
||||||
|
//dest->m_geometry.freeAfterUpload = false;
|
||||||
dest->m_node.Init();
|
dest->m_node.Init();
|
||||||
m_scene.GetRoot()->AddChild(&dest->m_node);
|
m_scene.GetRoot()->AddChild(&dest->m_node);
|
||||||
dest->m_node.SetUpdateFrequency(Scene::UpdateFrequency::Always);
|
dest->m_node.SetUpdateFrequency(Scene::UpdateFrequency::Always);
|
||||||
@@ -81,24 +83,28 @@ namespace OpenVulkano
|
|||||||
void CreateSceneElement(SceneElement *dest, const Math::Vector4f &color, float scale)
|
void CreateSceneElement(SceneElement *dest, const Math::Vector4f &color, float scale)
|
||||||
{
|
{
|
||||||
dest->m_geometry = Scene::GeometryFactory::MakeCube(scale, scale, scale, color);
|
dest->m_geometry = Scene::GeometryFactory::MakeCube(scale, scale, scale, color);
|
||||||
|
dest->m_geometry.name = fmt::format("Cube {} {} {}", color.r, color.g, color.b);
|
||||||
CompleteSceneElement(dest);
|
CompleteSceneElement(dest);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CreatePlane(SceneElement *dest, const Math::Vector4f &color)
|
void CreatePlane(SceneElement *dest, const Math::Vector4f &color)
|
||||||
{
|
{
|
||||||
dest->m_geometry = Scene::GeometryFactory::MakePlane(1, 1, color);
|
dest->m_geometry = Scene::GeometryFactory::MakePlane(1, 1, color);
|
||||||
|
dest->m_geometry.name = "Plane";
|
||||||
CompleteSceneElement(dest);
|
CompleteSceneElement(dest);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CreateSphere(SceneElement *dest, const Math::Vector4f &color)
|
void CreateSphere(SceneElement *dest, const Math::Vector4f &color)
|
||||||
{
|
{
|
||||||
dest->m_geometry = Scene::GeometryFactory::MakeSphere(1, 32, 16, color);
|
dest->m_geometry = Scene::GeometryFactory::MakeSphere(1, 32, 16, color);
|
||||||
|
dest->m_geometry.name = "Sphere";
|
||||||
CompleteSceneElement(dest);
|
CompleteSceneElement(dest);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CreateHemisphere(SceneElement *dest, const Math::Vector4f &color)
|
void CreateHemisphere(SceneElement *dest, const Math::Vector4f &color)
|
||||||
{
|
{
|
||||||
dest->m_geometry = Scene::GeometryFactory::MakeHemisphere(1, 16, 16, color);
|
dest->m_geometry = Scene::GeometryFactory::MakeHemisphere(1, 16, 16, color);
|
||||||
|
dest->m_geometry.name = "Hemisphere";
|
||||||
CompleteSceneElement(dest);
|
CompleteSceneElement(dest);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -106,18 +112,21 @@ namespace OpenVulkano
|
|||||||
{
|
{
|
||||||
dest->m_geometry = Scene::GeometryFactory::MakeTriangle(
|
dest->m_geometry = Scene::GeometryFactory::MakeTriangle(
|
||||||
Math::Vector3f(0.5, 0., 0.), Math::Vector3f(0., 0.5, 0.), Math::Vector3f(-0.5, 0., 0.), color);
|
Math::Vector3f(0.5, 0., 0.), Math::Vector3f(0., 0.5, 0.), Math::Vector3f(-0.5, 0., 0.), color);
|
||||||
|
dest->m_geometry.name = "Triangle";
|
||||||
CompleteSceneElement(dest);
|
CompleteSceneElement(dest);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CreateCylinder(SceneElement *dest, const Math::Vector4f &color)
|
void CreateCylinder(SceneElement *dest, const Math::Vector4f &color)
|
||||||
{
|
{
|
||||||
dest->m_geometry = Scene::GeometryFactory::MakeCylinder(1, 3, 64, color);
|
dest->m_geometry = Scene::GeometryFactory::MakeCylinder(1, 3, 64, color);
|
||||||
|
dest->m_geometry.name = "Cylinder";
|
||||||
CompleteSceneElement(dest);
|
CompleteSceneElement(dest);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CreatePyramid(SceneElement *dest, const Math::Vector4f &color)
|
void CreatePyramid(SceneElement *dest, const Math::Vector4f &color)
|
||||||
{
|
{
|
||||||
dest->m_geometry = Scene::GeometryFactory::MakePyramid(0.5, 2, color);
|
dest->m_geometry = Scene::GeometryFactory::MakePyramid(0.5, 2, color);
|
||||||
|
dest->m_geometry.name = "Pyramid";
|
||||||
CompleteSceneElement(dest);
|
CompleteSceneElement(dest);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user