Improve default material editor preview
This commit is contained in:
parent
563fbf526b
commit
72229d43c6
1 changed files with 19 additions and 33 deletions
|
@ -50,37 +50,25 @@ void prepScene() {
|
||||||
|
|
||||||
scene->add<Camera>(camera);
|
scene->add<Camera>(camera);
|
||||||
|
|
||||||
camera_look_at(*scene, camera, Vector3(2), Vector3(0));
|
camera_look_at(*scene, camera, Vector3(0, 2, 3), Vector3(0));
|
||||||
}
|
}
|
||||||
|
|
||||||
void prepThreePointLighting() {
|
void prepThreePointLighting() {
|
||||||
auto scene = engine->get_scene();
|
auto scene = engine->get_scene();
|
||||||
|
|
||||||
auto keyLight = scene->add_object();
|
auto probe = scene->add_object();
|
||||||
scene->get(keyLight).name = "key light";
|
scene->add<EnvironmentProbe>(probe).is_sized = false;
|
||||||
scene->get(keyLight).editor_object = true;
|
|
||||||
|
|
||||||
scene->get<Transform>(keyLight).position = Vector3(-1, 2, 2);
|
auto sun_light = scene->add_object();
|
||||||
|
scene->get(sun_light).name = "sun light";
|
||||||
|
scene->get(sun_light).editor_object = true;
|
||||||
|
|
||||||
scene->add<Light>(keyLight).color = Vector3(1);
|
scene->get<Transform>(sun_light).position = Vector3(15);
|
||||||
|
scene->add<Light>(sun_light).type = Light::Type::Sun;
|
||||||
|
scene->get<Light>(sun_light).power = 5.0f;
|
||||||
|
|
||||||
auto fillLight = scene->add_object();
|
scene->reset_shadows();
|
||||||
scene->get(fillLight).name = "key light";
|
scene->reset_environment();
|
||||||
scene->get(fillLight).editor_object = true;
|
|
||||||
|
|
||||||
scene->get<Transform>(fillLight).position = Vector3(3, 2, 4);
|
|
||||||
|
|
||||||
scene->add<Light>(fillLight).color = Vector3(1);
|
|
||||||
scene->get<Light>(fillLight).power = 6.0f;
|
|
||||||
|
|
||||||
auto backLight = scene->add_object();
|
|
||||||
scene->get(backLight).name = "back light";
|
|
||||||
scene->get(backLight).editor_object = true;
|
|
||||||
|
|
||||||
scene->get<Transform>(backLight).position = Vector3(2, 0, -4);
|
|
||||||
|
|
||||||
scene->add<Light>(backLight).color = Vector3(1);
|
|
||||||
scene->get<Light>(backLight).power = 2.0f;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void prepPrefabScene() {
|
void prepPrefabScene() {
|
||||||
|
@ -101,10 +89,6 @@ void prepPrefabScene() {
|
||||||
Renderable* prepMaterialScene() {
|
Renderable* prepMaterialScene() {
|
||||||
auto scene = engine->get_scene();
|
auto scene = engine->get_scene();
|
||||||
|
|
||||||
auto probe = scene->add_object();
|
|
||||||
scene->get<Transform>(probe).position = Vector3(5);
|
|
||||||
scene->add<EnvironmentProbe>(probe);
|
|
||||||
|
|
||||||
auto plane = scene->add_object();
|
auto plane = scene->add_object();
|
||||||
scene->get(plane).name = "plane";
|
scene->get(plane).name = "plane";
|
||||||
scene->get(plane).editor_object = true;
|
scene->get(plane).editor_object = true;
|
||||||
|
@ -115,15 +99,17 @@ Renderable* prepMaterialScene() {
|
||||||
scene->add<Renderable>(plane).mesh = assetm->get<Mesh>(file::app_domain / "models/plane.model");
|
scene->add<Renderable>(plane).mesh = assetm->get<Mesh>(file::app_domain / "models/plane.model");
|
||||||
scene->get<Renderable>(plane).materials.push_back(assetm->get<Material>(file::app_domain / "materials/Material.material"));
|
scene->get<Renderable>(plane).materials.push_back(assetm->get<Material>(file::app_domain / "materials/Material.material"));
|
||||||
|
|
||||||
auto cube = scene->add_object();
|
auto sphere = scene->add_object();
|
||||||
scene->get(cube).name = "cube";
|
scene->get(sphere).name = "sphere";
|
||||||
scene->get(cube).editor_object = true;
|
scene->get(sphere).editor_object = true;
|
||||||
|
|
||||||
scene->add<Renderable>(cube).mesh = assetm->get<Mesh>(file::app_domain / "models/sphere.model");
|
scene->get<Transform>(sphere).rotation = euler_to_quat(Vector3(radians(90.0f), 0, 0));
|
||||||
|
|
||||||
|
scene->add<Renderable>(sphere).mesh = assetm->get<Mesh>(file::app_domain / "models/sphere.model");
|
||||||
|
|
||||||
prepThreePointLighting();
|
prepThreePointLighting();
|
||||||
|
|
||||||
return &scene->get<Renderable>(cube);
|
return &scene->get<Renderable>(sphere);
|
||||||
}
|
}
|
||||||
|
|
||||||
struct OpenAssetRequest {
|
struct OpenAssetRequest {
|
||||||
|
|
Reference in a new issue