extend examples
This commit is contained in:
@@ -71,6 +71,8 @@ namespace OpenVulkano
|
||||
void CompleteSceneElement(SceneElement *dest)
|
||||
{
|
||||
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();
|
||||
m_scene.GetRoot()->AddChild(&dest->m_node);
|
||||
dest->m_node.SetUpdateFrequency(Scene::UpdateFrequency::Always);
|
||||
@@ -81,24 +83,28 @@ namespace OpenVulkano
|
||||
void CreateSceneElement(SceneElement *dest, const Math::Vector4f &color, float scale)
|
||||
{
|
||||
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);
|
||||
}
|
||||
|
||||
void CreatePlane(SceneElement *dest, const Math::Vector4f &color)
|
||||
{
|
||||
dest->m_geometry = Scene::GeometryFactory::MakePlane(1, 1, color);
|
||||
dest->m_geometry.name = "Plane";
|
||||
CompleteSceneElement(dest);
|
||||
}
|
||||
|
||||
void CreateSphere(SceneElement *dest, const Math::Vector4f &color)
|
||||
{
|
||||
dest->m_geometry = Scene::GeometryFactory::MakeSphere(1, 32, 16, color);
|
||||
dest->m_geometry.name = "Sphere";
|
||||
CompleteSceneElement(dest);
|
||||
}
|
||||
|
||||
void CreateHemisphere(SceneElement *dest, const Math::Vector4f &color)
|
||||
{
|
||||
dest->m_geometry = Scene::GeometryFactory::MakeHemisphere(1, 16, 16, color);
|
||||
dest->m_geometry.name = "Hemisphere";
|
||||
CompleteSceneElement(dest);
|
||||
}
|
||||
|
||||
@@ -106,18 +112,21 @@ namespace OpenVulkano
|
||||
{
|
||||
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);
|
||||
dest->m_geometry.name = "Triangle";
|
||||
CompleteSceneElement(dest);
|
||||
}
|
||||
|
||||
void CreateCylinder(SceneElement *dest, const Math::Vector4f &color)
|
||||
{
|
||||
dest->m_geometry = Scene::GeometryFactory::MakeCylinder(1, 3, 64, color);
|
||||
dest->m_geometry.name = "Cylinder";
|
||||
CompleteSceneElement(dest);
|
||||
}
|
||||
|
||||
void CreatePyramid(SceneElement *dest, const Math::Vector4f &color)
|
||||
{
|
||||
dest->m_geometry = Scene::GeometryFactory::MakePyramid(0.5, 2, color);
|
||||
dest->m_geometry.name = "Pyramid";
|
||||
CompleteSceneElement(dest);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user