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")
|
||||
|
||||
# enable link time code generation for all targets in the solution
|
||||
set(CMAKE_INTERPROCEDURAL_OPTIMIZATION_RELEASE TRUE)
|
||||
|
||||
project(engine LANGUAGES CXX C
|
||||
VERSION "0.2.0"
|
||||
)
|
||||
@ -53,6 +56,7 @@ set(SRC_FILES
|
||||
"src/systems/ui_render_system.cpp"
|
||||
"src/systems/transform.cpp"
|
||||
"src/util/files.cpp"
|
||||
"src/util/gen_tangents.cpp"
|
||||
"src/util/gltf_loader.cpp"
|
||||
"src/vulkan/device.cpp"
|
||||
"src/vulkan/device.h"
|
||||
@ -99,6 +103,7 @@ set(INCLUDE_FILES
|
||||
"include/systems/transform.h"
|
||||
"include/util.h"
|
||||
"include/util/files.h"
|
||||
"include/util/gen_tangents.h"
|
||||
"include/util/gltf_loader.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->parent = parent;
|
||||
t->is_static = false;
|
||||
|
||||
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_TRACE("Tangent gen: vtx count before = {} idx count before = {}", original_num_vertices, num_indices);
|
||||
// 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 {
|
||||
Attribute<glm::vec3>* positions;
|
||||
Attribute<glm::vec3>* normals;
|
||||
|
@ -8,7 +8,7 @@
|
||||
|
||||
struct CameraControllerComponent {
|
||||
// looking
|
||||
static constexpr float kCameraSensitivity = 0.001f;
|
||||
static constexpr float kCameraSensitivity = 0.003f;
|
||||
static constexpr float kMaxPitch = glm::pi<float>();
|
||||
static constexpr float kMinPitch = 0.0f;
|
||||
|
||||
|
@ -78,9 +78,11 @@ void PlayGame(GameSettings settings)
|
||||
/* create 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->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");
|
||||
|
||||
/* 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);
|
||||
camera_transform->position = {0.0f, 0.0f, 100.0f};
|
||||
camera_transform->is_static = false;
|
||||
|
||||
main_scene->RegisterComponent<CameraControllerComponent>();
|
||||
main_scene->RegisterSystem<CameraControllerSystem>();
|
||||
@ -128,8 +131,13 @@ void PlayGame(GameSettings settings)
|
||||
main_scene->GetPosition(bottle).z += 2.5f;
|
||||
main_scene->GetScale(bottle) *= 25.0f;
|
||||
|
||||
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 = engine::util::LoadGLTF(*main_scene, app.GetResourcePath("models/cube.glb"), false);
|
||||
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);
|
||||
cubeCustom->onInit = [] {};
|
||||
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;
|
||||
|
||||
for (auto it = vertices.end() - 6; it != vertices.end(); it++) {
|
||||
for (auto it = vertices.end() - 6; it != vertices.end(); ++it) {
|
||||
it->norm = norm;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user