mirror of
https://github.com/bailwillharr/engine.git
synced 2024-09-21 04:51:18 +00:00
clean up code
This commit is contained in:
parent
e9e78966be
commit
4f8252476c
@ -7,6 +7,9 @@ option(ENGINE_BUILD_TEST "Compile the test program" ON)
|
|||||||
|
|
||||||
SET(CMAKE_CONFIGURATION_TYPES "Debug;Release;RelWithDebInfo")
|
SET(CMAKE_CONFIGURATION_TYPES "Debug;Release;RelWithDebInfo")
|
||||||
|
|
||||||
|
# enable link time code generation for all targets in the solution
|
||||||
|
set(CMAKE_INTERPROCEDURAL_OPTIMIZATION_RELEASE TRUE)
|
||||||
|
|
||||||
project(engine LANGUAGES CXX C
|
project(engine LANGUAGES CXX C
|
||||||
VERSION "0.2.0"
|
VERSION "0.2.0"
|
||||||
)
|
)
|
||||||
@ -53,6 +56,7 @@ set(SRC_FILES
|
|||||||
"src/systems/ui_render_system.cpp"
|
"src/systems/ui_render_system.cpp"
|
||||||
"src/systems/transform.cpp"
|
"src/systems/transform.cpp"
|
||||||
"src/util/files.cpp"
|
"src/util/files.cpp"
|
||||||
|
"src/util/gen_tangents.cpp"
|
||||||
"src/util/gltf_loader.cpp"
|
"src/util/gltf_loader.cpp"
|
||||||
"src/vulkan/device.cpp"
|
"src/vulkan/device.cpp"
|
||||||
"src/vulkan/device.h"
|
"src/vulkan/device.h"
|
||||||
@ -99,6 +103,7 @@ set(INCLUDE_FILES
|
|||||||
"include/systems/transform.h"
|
"include/systems/transform.h"
|
||||||
"include/util.h"
|
"include/util.h"
|
||||||
"include/util/files.h"
|
"include/util/files.h"
|
||||||
|
"include/util/gen_tangents.h"
|
||||||
"include/util/gltf_loader.h"
|
"include/util/gltf_loader.h"
|
||||||
"include/window.h"
|
"include/window.h"
|
||||||
)
|
)
|
||||||
|
1
include/util/gen_tangents.h
Normal file
1
include/util/gen_tangents.h
Normal file
@ -0,0 +1 @@
|
|||||||
|
#pragma once
|
@ -50,6 +50,7 @@ Entity Scene::CreateEntity(const std::string& tag, Entity parent,
|
|||||||
|
|
||||||
t->tag = tag;
|
t->tag = tag;
|
||||||
t->parent = parent;
|
t->parent = parent;
|
||||||
|
t->is_static = false;
|
||||||
|
|
||||||
return id;
|
return id;
|
||||||
}
|
}
|
||||||
|
1
src/util/gen_tangents.cpp
Normal file
1
src/util/gen_tangents.cpp
Normal file
@ -0,0 +1 @@
|
|||||||
|
#include "util/gen_tangents.h"
|
@ -435,6 +435,7 @@ engine::Entity LoadGLTF(Scene& scene, const std::string& path, bool isStatic)
|
|||||||
LOG_DEBUG("Generating tangents...");
|
LOG_DEBUG("Generating tangents...");
|
||||||
LOG_TRACE("Tangent gen: vtx count before = {} idx count before = {}", original_num_vertices, num_indices);
|
LOG_TRACE("Tangent gen: vtx count before = {} idx count before = {}", original_num_vertices, num_indices);
|
||||||
// generate tangents if they're not in the file
|
// generate tangents if they're not in the file
|
||||||
|
// manually generating tangents directly with MikkTSpace instead of util::GenTangents() in order to directly access glTF vertex attributes
|
||||||
struct MeshData {
|
struct MeshData {
|
||||||
Attribute<glm::vec3>* positions;
|
Attribute<glm::vec3>* positions;
|
||||||
Attribute<glm::vec3>* normals;
|
Attribute<glm::vec3>* normals;
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
|
|
||||||
struct CameraControllerComponent {
|
struct CameraControllerComponent {
|
||||||
// looking
|
// looking
|
||||||
static constexpr float kCameraSensitivity = 0.001f;
|
static constexpr float kCameraSensitivity = 0.003f;
|
||||||
static constexpr float kMaxPitch = glm::pi<float>();
|
static constexpr float kMaxPitch = glm::pi<float>();
|
||||||
static constexpr float kMinPitch = 0.0f;
|
static constexpr float kMinPitch = 0.0f;
|
||||||
|
|
||||||
|
@ -78,9 +78,11 @@ void PlayGame(GameSettings settings)
|
|||||||
/* create camera */
|
/* create camera */
|
||||||
engine::Entity camera = main_scene->CreateEntity("camera");
|
engine::Entity camera = main_scene->CreateEntity("camera");
|
||||||
|
|
||||||
auto camren = main_scene->AddComponent<engine::MeshRenderableComponent>(camera);
|
engine::Entity camera_child = main_scene->CreateEntity("camera_child", camera, glm::vec3{0.0f, 0.0f, -3.0f});
|
||||||
|
main_scene->GetTransform(camera_child)->is_static = false;
|
||||||
|
auto camren = main_scene->AddComponent<engine::MeshRenderableComponent>(camera_child);
|
||||||
camren->visible = true;
|
camren->visible = true;
|
||||||
camren->mesh = GenSphereMesh(app.renderer()->GetDevice(), 0.2f, 10);
|
camren->mesh = GenSphereMesh(app.renderer()->GetDevice(), 1.0f, 16);
|
||||||
camren->material = app.GetResource<engine::Material>("builtin.default");
|
camren->material = app.GetResource<engine::Material>("builtin.default");
|
||||||
|
|
||||||
/* as of right now, the entity with tag 'camera' is used to build the view
|
/* as of right now, the entity with tag 'camera' is used to build the view
|
||||||
@ -88,6 +90,7 @@ void PlayGame(GameSettings settings)
|
|||||||
|
|
||||||
auto camera_transform = main_scene->GetComponent<engine::TransformComponent>(camera);
|
auto camera_transform = main_scene->GetComponent<engine::TransformComponent>(camera);
|
||||||
camera_transform->position = {0.0f, 0.0f, 100.0f};
|
camera_transform->position = {0.0f, 0.0f, 100.0f};
|
||||||
|
camera_transform->is_static = false;
|
||||||
|
|
||||||
main_scene->RegisterComponent<CameraControllerComponent>();
|
main_scene->RegisterComponent<CameraControllerComponent>();
|
||||||
main_scene->RegisterSystem<CameraControllerSystem>();
|
main_scene->RegisterSystem<CameraControllerSystem>();
|
||||||
@ -128,8 +131,13 @@ void PlayGame(GameSettings settings)
|
|||||||
main_scene->GetPosition(bottle).z += 2.5f;
|
main_scene->GetPosition(bottle).z += 2.5f;
|
||||||
main_scene->GetScale(bottle) *= 25.0f;
|
main_scene->GetScale(bottle) *= 25.0f;
|
||||||
|
|
||||||
engine::Entity cube = engine::util::LoadGLTF(*main_scene, app.GetResourcePath("models/cube.glb"), false);
|
//engine::Entity cube = engine::util::LoadGLTF(*main_scene, app.GetResourcePath("models/cube.glb"), false);
|
||||||
main_scene->GetPosition(cube) += glm::vec3{-5.0f, -17.0f, 0.0f};
|
engine::Entity cube = main_scene->CreateEntity("cube", 0, glm::vec3{ 4.0f, -17.0f, 0.0f });
|
||||||
|
main_scene->GetTransform(cube)->is_static = false;
|
||||||
|
auto cube_ren = main_scene->AddComponent<engine::MeshRenderableComponent>(cube);
|
||||||
|
cube_ren->material = app.GetResource<engine::Material>("builtin.default");
|
||||||
|
cube_ren->mesh = GenCuboidMesh(app.renderer()->GetDevice(), 1.0f, 1.0f, 1.0f);
|
||||||
|
cube_ren->visible = true;
|
||||||
auto cubeCustom = main_scene->AddComponent<engine::CustomComponent>(cube);
|
auto cubeCustom = main_scene->AddComponent<engine::CustomComponent>(cube);
|
||||||
cubeCustom->onInit = [] {};
|
cubeCustom->onInit = [] {};
|
||||||
cubeCustom->onUpdate = [&main_scene, cube](float dt) {
|
cubeCustom->onUpdate = [&main_scene, cube](float dt) {
|
||||||
|
@ -66,7 +66,7 @@ std::unique_ptr<engine::Mesh> GenSphereMesh(engine::GFXDevice* gfx, float r, int
|
|||||||
|
|
||||||
if (j == (detail / 2) - 1) norm = -norm;
|
if (j == (detail / 2) - 1) norm = -norm;
|
||||||
|
|
||||||
for (auto it = vertices.end() - 6; it != vertices.end(); it++) {
|
for (auto it = vertices.end() - 6; it != vertices.end(); ++it) {
|
||||||
it->norm = norm;
|
it->norm = norm;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user