added voxel scene tuple returns
This commit is contained in:
parent
c9b9807891
commit
6be12037ce
@ -9,7 +9,9 @@ namespace oom {
|
|||||||
dl::bella_sdk::Node addMeshCube(dl::bella_sdk::Scene& belScene, dl::String guiName) {
|
dl::bella_sdk::Node addMeshCube(dl::bella_sdk::Scene& belScene, dl::String guiName) {
|
||||||
auto belMeshVoxel = belScene.createNode("mesh", guiName);
|
auto belMeshVoxel = belScene.createNode("mesh", guiName);
|
||||||
belMeshVoxel["name"] = "oomerMeshVoxel";
|
belMeshVoxel["name"] = "oomerMeshVoxel";
|
||||||
belMeshVoxel["channels"][0] = "st";
|
//dl::ds::Vector<dl::String> channels;
|
||||||
|
//belMeshVoxel.createChannel(dl::bella_sdk::ChannelType::Float, "st");
|
||||||
|
//belMeshVoxel["channels"][0] = "st";
|
||||||
belMeshVoxel["optimized"] = false;
|
belMeshVoxel["optimized"] = false;
|
||||||
|
|
||||||
dl::ds::Vector<dl::Vec4u> polygons;
|
dl::ds::Vector<dl::Vec4u> polygons;
|
||||||
|
|||||||
@ -1,5 +1,7 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
#include <tuple>
|
||||||
|
|
||||||
// Bella SDK includes - external libraries for 3D rendering
|
// Bella SDK includes - external libraries for 3D rendering
|
||||||
#include "../bella_engine_sdk/src/bella_sdk/bella_engine.h" // For creating and manipulating 3D scenes in Bella
|
#include "../bella_engine_sdk/src/bella_sdk/bella_engine.h" // For creating and manipulating 3D scenes in Bella
|
||||||
#include "../oom/oom_bella_long.h" // This file is very large
|
#include "../oom/oom_bella_long.h" // This file is very large
|
||||||
@ -11,7 +13,11 @@ namespace oom {
|
|||||||
namespace bella {
|
namespace bella {
|
||||||
// Function declaration
|
// Function declaration
|
||||||
dl::bella_sdk::Node defaultScene2025(dl::bella_sdk::Scene& belScene);
|
dl::bella_sdk::Node defaultScene2025(dl::bella_sdk::Scene& belScene);
|
||||||
dl::bella_sdk::Node defaultSceneVoxel(dl::bella_sdk::Scene& belScene);
|
//dl::bella_sdk::Node defaultSceneVoxel(dl::bella_sdk::Scene& belScene);
|
||||||
|
std::tuple< dl::bella_sdk::Node,
|
||||||
|
dl::bella_sdk::Node,
|
||||||
|
dl::bella_sdk::Node,
|
||||||
|
dl::bella_sdk::Node> defaultSceneVoxel(dl::bella_sdk::Scene& belScene);
|
||||||
|
|
||||||
// @param belScene - the scene to create the essentials in
|
// @param belScene - the scene to create the essentials in
|
||||||
// @return - the world node
|
// @return - the world node
|
||||||
@ -70,9 +76,15 @@ namespace oom {
|
|||||||
|
|
||||||
// @param belScene - the scene to create the essentials in
|
// @param belScene - the scene to create the essentials in
|
||||||
// @return - the world node
|
// @return - the world node
|
||||||
dl::bella_sdk::Node defaultSceneVoxel(dl::bella_sdk::Scene& belScene) {
|
std::tuple< dl::bella_sdk::Node,
|
||||||
|
dl::bella_sdk::Node,
|
||||||
|
dl::bella_sdk::Node,
|
||||||
|
dl::bella_sdk::Node> defaultSceneVoxel(dl::bella_sdk::Scene& belScene) {
|
||||||
// Create basic scene elements in Bella for voxel rendering
|
// Create basic scene elements in Bella for voxel rendering
|
||||||
auto belWorld = belScene.world(); // Get scene world root
|
auto belWorld = belScene.world(); // Get scene world root
|
||||||
|
auto belVoxel = belScene.createNode("box","oomVoxel","oomVoxel");
|
||||||
|
auto belLiqVoxel = belScene.createNode("box","oomLiqVoxel","oomLiqVoxel");
|
||||||
|
auto belMeshVoxel = addMeshCube(belScene, "oomMeshVoxel");
|
||||||
{
|
{
|
||||||
dl::bella_sdk::Scene::EventScope es(belScene);
|
dl::bella_sdk::Scene::EventScope es(belScene);
|
||||||
|
|
||||||
@ -122,15 +134,12 @@ namespace oom {
|
|||||||
belSettings["iprNavigation"]= "maya"; // Use Maya-like navigation in viewer
|
belSettings["iprNavigation"]= "maya"; // Use Maya-like navigation in viewer
|
||||||
|
|
||||||
// Create voxel nodes
|
// Create voxel nodes
|
||||||
auto belVoxel = belScene.createNode("box","oomVoxel","oomVoxel");
|
//auto belVoxelForm = belScene.createNode("xform","oomVoxelXform","oomVoxelXform");
|
||||||
auto belLiqVoxel = belScene.createNode("box","oomLiqVoxel","oomLiqVoxel");
|
//auto belLiqVoxelForm = belScene.createNode("xform","oomLiqVoxelXform","oomLiqVoxelXform");
|
||||||
auto belVoxelForm = belScene.createNode("xform","oomVoxelXform","oomVoxelXform");
|
//auto belVoxelMat = belScene.createNode("orenNayar","oomVoxelMat","oomVoxelMat");
|
||||||
auto belLiqVoxelForm = belScene.createNode("xform","oomLiqVoxelXform","oomLiqVoxelXform");
|
|
||||||
auto belVoxelMat = belScene.createNode("orenNayar","oomVoxelMat","oomVoxelMat");
|
|
||||||
auto belBevel = belScene.createNode("bevel", "oomBevel", "oomBevel");
|
auto belBevel = belScene.createNode("bevel", "oomBevel", "oomBevel");
|
||||||
belBevel["radius"] = 90.0f;
|
belBevel["radius"] = 90.0f;
|
||||||
belBevel["samples"] =dl::UInt(6);
|
belBevel["samples"] =dl::UInt(6);
|
||||||
auto belMeshVoxel = addMeshCube(belScene, "oomMeshVoxel");
|
|
||||||
belVoxel["radius"] = 0.33f;
|
belVoxel["radius"] = 0.33f;
|
||||||
belVoxel["sizeX"] = 0.99f;
|
belVoxel["sizeX"] = 0.99f;
|
||||||
belVoxel["sizeY"] = 0.99f;
|
belVoxel["sizeY"] = 0.99f;
|
||||||
@ -139,13 +148,12 @@ namespace oom {
|
|||||||
belLiqVoxel["sizeX"] = 0.99945f;
|
belLiqVoxel["sizeX"] = 0.99945f;
|
||||||
belLiqVoxel["sizeY"] = 0.99945f;
|
belLiqVoxel["sizeY"] = 0.99945f;
|
||||||
belLiqVoxel["sizeZ"] = 0.99945f;
|
belLiqVoxel["sizeZ"] = 0.99945f;
|
||||||
belVoxel.parentTo(belVoxelForm);
|
//belVoxel.parentTo(belVoxelForm);
|
||||||
belVoxelForm["steps"][0]["xform"] = dl::Mat4 {0.999,0,0,0,0,0.999,0,0,0,0,0.999,0,0,0,0,1};
|
//belVoxelForm["steps"][0]["xform"] = dl::Mat4 {0.999,0,0,0,0,0.999,0,0,0,0,0.999,0,0,0,0,1};
|
||||||
belVoxelMat["reflectance"] = dl::Rgba{0.0, 0.0, 0.0, 1.0};
|
//belVoxelMat["reflectance"] = dl::Rgba{0.0, 0.0, 0.0, 1.0};
|
||||||
belVoxelForm["material"] = belVoxelMat;
|
//belVoxelForm["material"] = belVoxelMat;
|
||||||
|
|
||||||
}
|
}
|
||||||
return belWorld;
|
return std::make_tuple(belWorld, belMeshVoxel, belLiqVoxel, belVoxel);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user