Archived
1
Fork 0

Improve default material editor preview

This commit is contained in:
redstrate 2020-08-17 10:50:20 -04:00
parent 563fbf526b
commit 72229d43c6

View file

@ -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 {