Changed Scene to World
This commit is contained in:
parent
f246d0e227
commit
9e6ee7b2e2
@ -8,7 +8,7 @@
|
|||||||
|
|
||||||
#ifdef DEER_RENDER
|
#ifdef DEER_RENDER
|
||||||
#include "DeerRender/Render/FrameBuffer.h"
|
#include "DeerRender/Render/FrameBuffer.h"
|
||||||
#include "DeerRender/Scene.h"
|
#include "DeerRender/World.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
@ -63,7 +63,7 @@ namespace Deer {
|
|||||||
// Obtains the entity that is on the root of the environment
|
// Obtains the entity that is on the root of the environment
|
||||||
inline Entity& getRoot() { return getEntity(0); }
|
inline Entity& getRoot() { return getEntity(0); }
|
||||||
#ifdef DEER_RENDER
|
#ifdef DEER_RENDER
|
||||||
void render(const SceneCamera& camera);
|
void render(const WorldCamera& camera);
|
||||||
#endif
|
#endif
|
||||||
Scope<entt::registry> m_registry;
|
Scope<entt::registry> m_registry;
|
||||||
|
|
||||||
@ -3,13 +3,11 @@
|
|||||||
|
|
||||||
namespace Deer {
|
namespace Deer {
|
||||||
class EntityEnvironment;
|
class EntityEnvironment;
|
||||||
class SceneCamera;
|
class WorldCamera;
|
||||||
class GizmoRenderer;
|
class GizmoRenderer;
|
||||||
|
|
||||||
// A scene is a 3d simulation with its environment and voxel world in case
|
namespace World {
|
||||||
// of initialized, here things can be simulated
|
// Clears all the assets and memory the World had conained
|
||||||
namespace Scene {
|
|
||||||
// Clears all the assets and memory the Scene had conained
|
|
||||||
void clear();
|
void clear();
|
||||||
|
|
||||||
// This is the cycle to execution of scripts and physics
|
// This is the cycle to execution of scripts and physics
|
||||||
@ -23,10 +21,10 @@ namespace Deer {
|
|||||||
#ifdef DEER_RENDER
|
#ifdef DEER_RENDER
|
||||||
// This function renders with the default camera in the environment
|
// This function renders with the default camera in the environment
|
||||||
void render();
|
void render();
|
||||||
void render(const SceneCamera&);
|
void render(const WorldCamera&);
|
||||||
|
|
||||||
extern GizmoRenderer gizmoRenderer;
|
extern GizmoRenderer gizmoRenderer;
|
||||||
#endif
|
#endif
|
||||||
extern EntityEnvironment environment;
|
extern EntityEnvironment environment;
|
||||||
} // namespace Scene
|
} // namespace World
|
||||||
} // namespace Deer
|
} // namespace Deer
|
||||||
2
Deer/Include/DeerRender/EntityEnviroment.h
Normal file
2
Deer/Include/DeerRender/EntityEnviroment.h
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
#pragma once
|
||||||
|
#include "DeerCore/EntityEnviroment.h"
|
||||||
@ -1,2 +0,0 @@
|
|||||||
#pragma once
|
|
||||||
#include "DeerCore/Enviroment.h"
|
|
||||||
@ -1,5 +1,5 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
#include "DeerRender/Enviroment.h"
|
#include "DeerRender/EntityEnviroment.h"
|
||||||
#include "DeerRender/Render/FrameBuffer.h"
|
#include "DeerRender/Render/FrameBuffer.h"
|
||||||
#include "DeerRender/Tools/Memory.h"
|
#include "DeerRender/Tools/Memory.h"
|
||||||
|
|
||||||
|
|||||||
@ -1,13 +1,13 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
#include "DeerCore/Scene.h"
|
#include "DeerCore/World.h"
|
||||||
#include "DeerRender/Components.h"
|
#include "DeerRender/Components.h"
|
||||||
|
|
||||||
namespace Deer {
|
namespace Deer {
|
||||||
struct SceneCamera {
|
struct WorldCamera {
|
||||||
TransformComponent transform;
|
TransformComponent transform;
|
||||||
CameraComponent camera;
|
CameraComponent camera;
|
||||||
|
|
||||||
SceneCamera() {}
|
WorldCamera() {}
|
||||||
SceneCamera(TransformComponent _transform, CameraComponent _camera) : transform(_transform), camera(_camera) {}
|
WorldCamera(TransformComponent _transform, CameraComponent _camera) : transform(_transform), camera(_camera) {}
|
||||||
};
|
};
|
||||||
} // namespace Deer
|
} // namespace Deer
|
||||||
@ -1,27 +0,0 @@
|
|||||||
#pragma once
|
|
||||||
|
|
||||||
#include "cereal/cereal.hpp"
|
|
||||||
#include "cereal/types/string.hpp"
|
|
||||||
#include "cereal/types/vector.hpp"
|
|
||||||
|
|
||||||
// Serialization Vars
|
|
||||||
#include "DeerCore/Scene/Serialization/SerializationGlobalVars.h"
|
|
||||||
|
|
||||||
// GENERICS
|
|
||||||
#include "DeerCore/Scene/Serialization/QuatSerialization.h"
|
|
||||||
#include "DeerCore/Scene/Serialization/Vec3Serialization.h"
|
|
||||||
|
|
||||||
// SCENE SPECIFIC
|
|
||||||
#include "DeerCore/Scene/Serialization/EntityEnvironmentSerialization.h"
|
|
||||||
#include "DeerCore/Scene/Serialization/EntitySerialization.h"
|
|
||||||
|
|
||||||
// COMPONENTS SPECIFIC
|
|
||||||
#include "DeerCore/Scene/Serialization/Components/RelationshipComponentSerialization.h"
|
|
||||||
#include "DeerCore/Scene/Serialization/Components/TransformComponentSerialization.h"
|
|
||||||
|
|
||||||
// RENDER SPECIFIC
|
|
||||||
#ifdef DEER_RENDER
|
|
||||||
#include "DeerRender/Scene/Serialization/Components/CameraSerializationComponent.h"
|
|
||||||
#include "DeerRender/Scene/Serialization/Components/MeshRenderComponentSerialization.h"
|
|
||||||
#include "DeerRender/Scene/Serialization/Components/TextureBindingSerializationComponent.h"
|
|
||||||
#endif
|
|
||||||
@ -1,5 +1,5 @@
|
|||||||
#include "DeerCore/Components.h"
|
#include "DeerCore/Components.h"
|
||||||
#include "DeerCore/Enviroment.h"
|
#include "DeerCore/EntityEnviroment.h"
|
||||||
#include "DeerCore/Log.h"
|
#include "DeerCore/Log.h"
|
||||||
|
|
||||||
namespace Deer {
|
namespace Deer {
|
||||||
@ -1,4 +1,4 @@
|
|||||||
#include "DeerCore/Enviroment.h"
|
#include "DeerCore/EntityEnviroment.h"
|
||||||
|
|
||||||
#include "DeerCore/Application.h"
|
#include "DeerCore/Application.h"
|
||||||
#include "DeerCore/Components.h"
|
#include "DeerCore/Components.h"
|
||||||
@ -1,4 +1,4 @@
|
|||||||
#include "DeerCore/Enviroment.h"
|
#include "DeerCore/EntityEnviroment.h"
|
||||||
|
|
||||||
namespace Deer {
|
namespace Deer {
|
||||||
Scope<EntityEnvironment> ResourceBuilder<EntityEnvironment>::buildResource(const BaseDataType& baseData) {
|
Scope<EntityEnvironment> ResourceBuilder<EntityEnvironment>::buildResource(const BaseDataType& baseData) {
|
||||||
@ -1,8 +1,8 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "DeerCore/Components.h"
|
#include "DeerCore/Components.h"
|
||||||
#include "DeerCore/Enviroment.h"
|
#include "DeerCore/EntityEnviroment.h"
|
||||||
#include "DeerCore/Scene/Serialization/SerializationGlobalVars.h"
|
#include "DeerCore/World/Serialization/SerializationGlobalVars.h"
|
||||||
#include "EntitySerializationStruct.h"
|
#include "EntitySerializationStruct.h"
|
||||||
|
|
||||||
namespace Deer {
|
namespace Deer {
|
||||||
@ -2,7 +2,7 @@
|
|||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
#include "DeerCore/Enviroment.h"
|
#include "DeerCore/EntityEnviroment.h"
|
||||||
#include "EntitySerializationStruct.h"
|
#include "EntitySerializationStruct.h"
|
||||||
|
|
||||||
namespace Deer {
|
namespace Deer {
|
||||||
27
Deer/src/DeerCore/World/Serialization/Serialization.h
Executable file
27
Deer/src/DeerCore/World/Serialization/Serialization.h
Executable file
@ -0,0 +1,27 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "cereal/cereal.hpp"
|
||||||
|
#include "cereal/types/string.hpp"
|
||||||
|
#include "cereal/types/vector.hpp"
|
||||||
|
|
||||||
|
// Serialization Vars
|
||||||
|
#include "DeerCore/World/Serialization/SerializationGlobalVars.h"
|
||||||
|
|
||||||
|
// GENERICS
|
||||||
|
#include "DeerCore/World/Serialization/QuatSerialization.h"
|
||||||
|
#include "DeerCore/World/Serialization/Vec3Serialization.h"
|
||||||
|
|
||||||
|
// SCENE SPECIFIC
|
||||||
|
#include "DeerCore/World/Serialization/EntityEnvironmentSerialization.h"
|
||||||
|
#include "DeerCore/World/Serialization/EntitySerialization.h"
|
||||||
|
|
||||||
|
// COMPONENTS SPECIFIC
|
||||||
|
#include "DeerCore/World/Serialization/Components/RelationshipComponentSerialization.h"
|
||||||
|
#include "DeerCore/World/Serialization/Components/TransformComponentSerialization.h"
|
||||||
|
|
||||||
|
// RENDER SPECIFIC
|
||||||
|
#ifdef DEER_RENDER
|
||||||
|
#include "DeerRender/World/Serialization/Components/CameraSerializationComponent.h"
|
||||||
|
#include "DeerRender/World/Serialization/Components/MeshRenderComponentSerialization.h"
|
||||||
|
#include "DeerRender/World/Serialization/Components/TextureBindingSerializationComponent.h"
|
||||||
|
#endif
|
||||||
@ -1,10 +1,10 @@
|
|||||||
#include "DeerCore/Scene.h"
|
#include "DeerCore/World.h"
|
||||||
|
|
||||||
#include "DeerCore/Components.h"
|
#include "DeerCore/Components.h"
|
||||||
#include "DeerCore/Enviroment.h"
|
#include "DeerCore/EntityEnviroment.h"
|
||||||
#include "DeerCore/Log.h"
|
#include "DeerCore/Log.h"
|
||||||
#include "DeerCore/Scene/SceneData.h"
|
|
||||||
#include "DeerCore/Tools/Memory.h"
|
#include "DeerCore/Tools/Memory.h"
|
||||||
|
#include "DeerCore/World/WorldData.h"
|
||||||
|
|
||||||
#ifdef DEER_RENDER
|
#ifdef DEER_RENDER
|
||||||
#include "DeerRender/FrameBuffer.h"
|
#include "DeerRender/FrameBuffer.h"
|
||||||
@ -13,7 +13,7 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
namespace Deer {
|
namespace Deer {
|
||||||
void Scene::clear() {
|
void World::clear() {
|
||||||
environment.clear();
|
environment.clear();
|
||||||
|
|
||||||
#ifdef DEER_RENDER
|
#ifdef DEER_RENDER
|
||||||
@ -24,19 +24,19 @@ namespace Deer {
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Scene::getExecutingState() {
|
bool World::getExecutingState() {
|
||||||
return isExecuting;
|
return isExecuting;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene::initExecution() {
|
void World::initExecution() {
|
||||||
DEER_CORE_ASSERT(!isExecuting, "Deer scene is already executing");
|
DEER_CORE_ASSERT(!isExecuting, "Deer scene is already executing");
|
||||||
isExecuting = true;
|
isExecuting = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene::tickExecution() {
|
void World::tickExecution() {
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene::endExecution() {
|
void World::endExecution() {
|
||||||
DEER_CORE_ASSERT(isExecuting, "Deer scene is not executing");
|
DEER_CORE_ASSERT(isExecuting, "Deer scene is not executing");
|
||||||
isExecuting = false;
|
isExecuting = false;
|
||||||
}
|
}
|
||||||
@ -1,10 +1,10 @@
|
|||||||
#include "DeerCore/Enviroment.h"
|
#include "DeerCore/EntityEnviroment.h"
|
||||||
#include "DeerCore/Tools/Memory.h"
|
#include "DeerCore/Tools/Memory.h"
|
||||||
|
|
||||||
namespace Deer {
|
namespace Deer {
|
||||||
namespace Scene {
|
namespace World {
|
||||||
EntityEnvironment environment;
|
EntityEnvironment environment;
|
||||||
bool isExecuting = false;
|
bool isExecuting = false;
|
||||||
} // namespace Scene
|
} // namespace World
|
||||||
|
|
||||||
} // namespace Deer
|
} // namespace Deer
|
||||||
@ -4,9 +4,9 @@
|
|||||||
namespace Deer {
|
namespace Deer {
|
||||||
class EntityEnvironment;
|
class EntityEnvironment;
|
||||||
|
|
||||||
namespace Scene {
|
namespace World {
|
||||||
extern EntityEnvironment environment;
|
extern EntityEnvironment environment;
|
||||||
extern bool isExecuting;
|
extern bool isExecuting;
|
||||||
} // namespace Scene
|
} // namespace World
|
||||||
|
|
||||||
} // namespace Deer
|
} // namespace Deer
|
||||||
@ -1,4 +1,4 @@
|
|||||||
#include "DeerRender/Enviroment.h"
|
#include "DeerRender/EntityEnviroment.h"
|
||||||
|
|
||||||
#include "DeerRender/Application.h"
|
#include "DeerRender/Application.h"
|
||||||
|
|
||||||
@ -13,7 +13,7 @@
|
|||||||
#include "DeerRender/Log.h"
|
#include "DeerRender/Log.h"
|
||||||
|
|
||||||
namespace Deer {
|
namespace Deer {
|
||||||
void EntityEnvironment::render(const SceneCamera& camera) {
|
void EntityEnvironment::render(const WorldCamera& camera) {
|
||||||
glm::mat4 camMatrix = glm::inverse(camera.transform.getMatrix());
|
glm::mat4 camMatrix = glm::inverse(camera.transform.getMatrix());
|
||||||
glm::mat4 projectionMatrix = camera.camera.getMatrix();
|
glm::mat4 projectionMatrix = camera.camera.getMatrix();
|
||||||
glm::mat4 invertZ = glm::scale(glm::mat4(1.0f), glm::vec3(1, 1, -1));
|
glm::mat4 invertZ = glm::scale(glm::mat4(1.0f), glm::vec3(1, 1, -1));
|
||||||
@ -1,25 +1,25 @@
|
|||||||
#include "DeerRender/Scene.h"
|
#include "DeerRender/World.h"
|
||||||
|
|
||||||
#include "DeerRender/Components.h"
|
#include "DeerRender/Components.h"
|
||||||
#include "DeerRender/Enviroment.h"
|
#include "DeerRender/EntityEnviroment.h"
|
||||||
#include "DeerRender/Render/RenderCommand.h"
|
#include "DeerRender/Render/RenderCommand.h"
|
||||||
#include "DeerRender/Scene.h"
|
#include "DeerRender/World.h"
|
||||||
|
|
||||||
namespace Deer {
|
namespace Deer {
|
||||||
void Scene::render() {
|
void World::render() {
|
||||||
uint32_t mainCamera = environment.tryGetMainCamera();
|
uint32_t mainCamera = environment.tryGetMainCamera();
|
||||||
if (mainCamera == 0)
|
if (mainCamera == 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
Entity& m_cameraEntity = environment.getEntity(mainCamera);
|
Entity& m_cameraEntity = environment.getEntity(mainCamera);
|
||||||
SceneCamera sceneCamera;
|
WorldCamera sceneCamera;
|
||||||
sceneCamera.camera = m_cameraEntity.getComponent<CameraComponent>();
|
sceneCamera.camera = m_cameraEntity.getComponent<CameraComponent>();
|
||||||
sceneCamera.transform = m_cameraEntity.getComponent<TransformComponent>();
|
sceneCamera.transform = m_cameraEntity.getComponent<TransformComponent>();
|
||||||
|
|
||||||
Scene::render(sceneCamera);
|
World::render(sceneCamera);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene::render(const SceneCamera& sceneCamera) {
|
void World::render(const WorldCamera& sceneCamera) {
|
||||||
RenderCommand::setDepthBuffer(true);
|
RenderCommand::setDepthBuffer(true);
|
||||||
environment.render(sceneCamera);
|
environment.render(sceneCamera);
|
||||||
|
|
||||||
@ -1,14 +1,14 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
#include "GenericRefStructs.h"
|
#include "GenericRefStructs.h"
|
||||||
#include <string>
|
#include <string>
|
||||||
// #include "DeerRender/Scene.h"
|
// #include "DeerRender/World.h"
|
||||||
|
|
||||||
namespace Deer {
|
namespace Deer {
|
||||||
class SceneCamera;
|
class WorldCamera;
|
||||||
|
|
||||||
namespace StudioAPI {
|
namespace StudioAPI {
|
||||||
struct EntityEnvironmentStruct : EntityEnvironmentHandleStruct {
|
struct EntityEnvironmentStruct : EntityEnvironmentHandleStruct {
|
||||||
void render(FrameBufferHandleStruct, SceneCamera&);
|
void render(FrameBufferHandleStruct, WorldCamera&);
|
||||||
|
|
||||||
EntityHandleStruct getRootEntity();
|
EntityHandleStruct getRootEntity();
|
||||||
EntityHandleStruct getEntity(int);
|
EntityHandleStruct getEntity(int);
|
||||||
@ -3,7 +3,7 @@
|
|||||||
#include "glm/gtc/quaternion.hpp"
|
#include "glm/gtc/quaternion.hpp"
|
||||||
|
|
||||||
#include "DeerRender/Components.h"
|
#include "DeerRender/Components.h"
|
||||||
#include "DeerRender/Scene.h"
|
#include "DeerRender/World.h"
|
||||||
|
|
||||||
namespace Deer {
|
namespace Deer {
|
||||||
namespace StudioAPI {
|
namespace StudioAPI {
|
||||||
@ -26,7 +26,7 @@ namespace Deer {
|
|||||||
|
|
||||||
void transform_construct(TransformComponent*);
|
void transform_construct(TransformComponent*);
|
||||||
void camera_construct(CameraComponent*);
|
void camera_construct(CameraComponent*);
|
||||||
void sceneCamera_Construct(SceneCamera*);
|
void sceneCamera_Construct(WorldCamera*);
|
||||||
|
|
||||||
glm::vec3 transform_relative(glm::vec3, TransformComponent*);
|
glm::vec3 transform_relative(glm::vec3, TransformComponent*);
|
||||||
|
|
||||||
|
|||||||
@ -15,7 +15,7 @@ namespace Deer {
|
|||||||
REGISTER_GLOBAL_FUNC("EntityEnvironment createLoadEntityEnvironment(const string&in envId)", StudioAPI::createLoadEntityEnvironment);
|
REGISTER_GLOBAL_FUNC("EntityEnvironment createLoadEntityEnvironment(const string&in envId)", StudioAPI::createLoadEntityEnvironment);
|
||||||
scriptEngine->SetDefaultNamespace("");
|
scriptEngine->SetDefaultNamespace("");
|
||||||
|
|
||||||
REGISTER_OBJECT_METHOD("EntityEnvironment", "void render(FrameBuffer, SceneCamera&in)", StudioAPI::EntityEnvironmentStruct, render);
|
REGISTER_OBJECT_METHOD("EntityEnvironment", "void render(FrameBuffer, WorldCamera&in)", StudioAPI::EntityEnvironmentStruct, render);
|
||||||
REGISTER_OBJECT_METHOD("EntityEnvironment", "Entity getRootEntity()", StudioAPI::EntityEnvironmentStruct, getRootEntity);
|
REGISTER_OBJECT_METHOD("EntityEnvironment", "Entity getRootEntity()", StudioAPI::EntityEnvironmentStruct, getRootEntity);
|
||||||
REGISTER_OBJECT_METHOD("EntityEnvironment", "Entity getEntity(int)", StudioAPI::EntityEnvironmentStruct, getEntity);
|
REGISTER_OBJECT_METHOD("EntityEnvironment", "Entity getEntity(int)", StudioAPI::EntityEnvironmentStruct, getEntity);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -27,9 +27,9 @@ namespace Deer {
|
|||||||
AS_CHECK(scriptEngine->RegisterObjectProperty("Camera", "float nearZ", asOFFSET(CameraComponent, nearZ)));
|
AS_CHECK(scriptEngine->RegisterObjectProperty("Camera", "float nearZ", asOFFSET(CameraComponent, nearZ)));
|
||||||
AS_CHECK(scriptEngine->RegisterObjectProperty("Camera", "float farZ", asOFFSET(CameraComponent, farZ)));
|
AS_CHECK(scriptEngine->RegisterObjectProperty("Camera", "float farZ", asOFFSET(CameraComponent, farZ)));
|
||||||
|
|
||||||
AS_CHECK(scriptEngine->RegisterObjectType("SceneCamera", sizeof(SceneCamera), asOBJ_VALUE | asOBJ_POD | asGetTypeTraits<SceneCamera>()));
|
AS_CHECK(scriptEngine->RegisterObjectType("WorldCamera", sizeof(WorldCamera), asOBJ_VALUE | asOBJ_POD | asGetTypeTraits<WorldCamera>()));
|
||||||
AS_CHECK(scriptEngine->RegisterObjectProperty("SceneCamera", "Camera camera", asOFFSET(SceneCamera, camera)));
|
AS_CHECK(scriptEngine->RegisterObjectProperty("WorldCamera", "Camera camera", asOFFSET(WorldCamera, camera)));
|
||||||
AS_CHECK(scriptEngine->RegisterObjectProperty("SceneCamera", "Transform transform", asOFFSET(SceneCamera, transform)));
|
AS_CHECK(scriptEngine->RegisterObjectProperty("WorldCamera", "Transform transform", asOFFSET(WorldCamera, transform)));
|
||||||
}
|
}
|
||||||
|
|
||||||
void AngelScriptEngine::registerMathFunctions() {
|
void AngelScriptEngine::registerMathFunctions() {
|
||||||
@ -49,7 +49,7 @@ namespace Deer {
|
|||||||
|
|
||||||
REGISTER_EXT_OBJECT_CONSTRUCTOR("Transform", "void f()", StudioAPI::transform_construct);
|
REGISTER_EXT_OBJECT_CONSTRUCTOR("Transform", "void f()", StudioAPI::transform_construct);
|
||||||
REGISTER_EXT_OBJECT_CONSTRUCTOR("Camera", "void f()", StudioAPI::camera_construct);
|
REGISTER_EXT_OBJECT_CONSTRUCTOR("Camera", "void f()", StudioAPI::camera_construct);
|
||||||
REGISTER_EXT_OBJECT_CONSTRUCTOR("SceneCamera", "void f()", StudioAPI::sceneCamera_Construct);
|
REGISTER_EXT_OBJECT_CONSTRUCTOR("WorldCamera", "void f()", StudioAPI::sceneCamera_Construct);
|
||||||
|
|
||||||
REGISTER_EXT_OBJECT_METHOD("Transform", "vec3 relative(vec3)", StudioAPI::transform_relative);
|
REGISTER_EXT_OBJECT_METHOD("Transform", "vec3 relative(vec3)", StudioAPI::transform_relative);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,8 +2,8 @@
|
|||||||
#include "DeerStudio/AngelScriptEngine.h"
|
#include "DeerStudio/AngelScriptEngine.h"
|
||||||
|
|
||||||
#include "DeerRender/DataStore.h"
|
#include "DeerRender/DataStore.h"
|
||||||
#include "DeerRender/Scene.h"
|
|
||||||
#include "DeerRender/Tools/Path.h"
|
#include "DeerRender/Tools/Path.h"
|
||||||
|
#include "DeerRender/World.h"
|
||||||
|
|
||||||
#include "DeerRender/Application.h"
|
#include "DeerRender/Application.h"
|
||||||
|
|
||||||
@ -44,7 +44,7 @@ namespace Deer {
|
|||||||
AngelScriptEngine::deinitialize();
|
AngelScriptEngine::deinitialize();
|
||||||
RenderUtils::deinitializeRenderUtils();
|
RenderUtils::deinitializeRenderUtils();
|
||||||
|
|
||||||
Scene::clear();
|
World::clear();
|
||||||
|
|
||||||
Application::shutdownWindow();
|
Application::shutdownWindow();
|
||||||
Log::shutdown();
|
Log::shutdown();
|
||||||
|
|||||||
@ -2,14 +2,14 @@
|
|||||||
#include "DeerStudio/AngelScriptEngine.h"
|
#include "DeerStudio/AngelScriptEngine.h"
|
||||||
|
|
||||||
#include "DeerRender/Components.h"
|
#include "DeerRender/Components.h"
|
||||||
#include "DeerRender/Enviroment.h"
|
#include "DeerRender/EntityEnviroment.h"
|
||||||
#include "DeerRender/Scene.h"
|
#include "DeerRender/World.h"
|
||||||
|
|
||||||
#include "DeerRender/Resource.h"
|
#include "DeerRender/Resource.h"
|
||||||
|
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
#define GET_ENV(env) ((env < 0) ? Scene::environment : Deer::Resource<EntityEnvironment>::unsafeFromId(environmentId).getData())
|
#define GET_ENV(env) ((env < 0) ? World::environment : Deer::Resource<EntityEnvironment>::unsafeFromId(environmentId).getData())
|
||||||
|
|
||||||
#define GET_ENTITY(env, id) GET_ENV(env).getEntity(id)
|
#define GET_ENTITY(env, id) GET_ENV(env).getEntity(id)
|
||||||
#define GET_MESH_COMPONENT(env, id) \
|
#define GET_MESH_COMPONENT(env, id) \
|
||||||
@ -48,7 +48,7 @@ namespace Deer {
|
|||||||
|
|
||||||
EntityEnvironment* EntityHandleStruct::getEntityEntityEnvironment() {
|
EntityEnvironment* EntityHandleStruct::getEntityEntityEnvironment() {
|
||||||
if (environmentId < 0)
|
if (environmentId < 0)
|
||||||
return &Scene::environment;
|
return &World::environment;
|
||||||
return &Resource<EntityEnvironment>::unsafeFromId(environmentId).getData();
|
return &Resource<EntityEnvironment>::unsafeFromId(environmentId).getData();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -93,7 +93,7 @@ namespace Deer {
|
|||||||
bool EntityStruct::exists() {
|
bool EntityStruct::exists() {
|
||||||
ASSERT_ENTITY("exists()", return false);
|
ASSERT_ENTITY("exists()", return false);
|
||||||
|
|
||||||
return Scene::environment.entityExists(entityId);
|
return World::environment.entityExists(entityId);
|
||||||
}
|
}
|
||||||
|
|
||||||
void EntityStruct::setParent(EntityHandleStruct parent_struct) {
|
void EntityStruct::setParent(EntityHandleStruct parent_struct) {
|
||||||
@ -198,7 +198,7 @@ namespace Deer {
|
|||||||
|
|
||||||
EntityEnvironment* env;
|
EntityEnvironment* env;
|
||||||
if (environmentId < 0)
|
if (environmentId < 0)
|
||||||
env = &Scene::environment;
|
env = &World::environment;
|
||||||
else
|
else
|
||||||
env = &Resource<EntityEnvironment>::unsafeFromId(environmentId).getData();
|
env = &Resource<EntityEnvironment>::unsafeFromId(environmentId).getData();
|
||||||
|
|
||||||
|
|||||||
@ -1,27 +1,27 @@
|
|||||||
#include "DeerRender/Enviroment.h"
|
#include "DeerRender/EntityEnviroment.h"
|
||||||
#include "DeerRender/Resource.h"
|
#include "DeerRender/Resource.h"
|
||||||
#include "DeerRender/Scene.h"
|
|
||||||
#include "DeerRender/Tools/Memory.h"
|
#include "DeerRender/Tools/Memory.h"
|
||||||
|
#include "DeerRender/World.h"
|
||||||
|
|
||||||
#include "DeerStudio/StudioAPI/EntityEnvironment.h"
|
#include "DeerStudio/StudioAPI/EntityEnvironment.h"
|
||||||
|
|
||||||
#include "DeerRender/FrameBuffer.h"
|
#include "DeerRender/FrameBuffer.h"
|
||||||
#include "DeerRender/Scene.h"
|
#include "DeerRender/World.h"
|
||||||
|
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
namespace Deer {
|
namespace Deer {
|
||||||
namespace StudioAPI {
|
namespace StudioAPI {
|
||||||
// The first element has to allways point to the main scene env
|
// The first element has to allways point to the main scene env
|
||||||
std::vector<EntityEnvironment*> environments{&Scene::environment};
|
std::vector<EntityEnvironment*> environments{&World::environment};
|
||||||
|
|
||||||
void EntityEnvironmentStruct::render(FrameBufferHandleStruct frameBuffer_handle, SceneCamera& sc) {
|
void EntityEnvironmentStruct::render(FrameBufferHandleStruct frameBuffer_handle, WorldCamera& sc) {
|
||||||
Resource<FrameBuffer> frameBufferResource = Resource<FrameBuffer>::unsafeFromId(frameBuffer_handle.frameBufferId);
|
Resource<FrameBuffer> frameBufferResource = Resource<FrameBuffer>::unsafeFromId(frameBuffer_handle.frameBufferId);
|
||||||
FrameBuffer& frameBuffer = frameBufferResource.getData();
|
FrameBuffer& frameBuffer = frameBufferResource.getData();
|
||||||
|
|
||||||
EntityEnvironment* envPtr = nullptr;
|
EntityEnvironment* envPtr = nullptr;
|
||||||
if (environmentId < 0) {
|
if (environmentId < 0) {
|
||||||
envPtr = &Scene::environment;
|
envPtr = &World::environment;
|
||||||
} else {
|
} else {
|
||||||
Resource<EntityEnvironment> environmentResource = Resource<EntityEnvironment>::unsafeFromId(environmentId);
|
Resource<EntityEnvironment> environmentResource = Resource<EntityEnvironment>::unsafeFromId(environmentId);
|
||||||
envPtr = &environmentResource.getData();
|
envPtr = &environmentResource.getData();
|
||||||
@ -49,8 +49,8 @@ namespace Deer {
|
|||||||
void camera_construct(CameraComponent* mem) {
|
void camera_construct(CameraComponent* mem) {
|
||||||
new (mem) CameraComponent();
|
new (mem) CameraComponent();
|
||||||
}
|
}
|
||||||
void sceneCamera_Construct(SceneCamera* mem) {
|
void sceneCamera_Construct(WorldCamera* mem) {
|
||||||
new (mem) SceneCamera();
|
new (mem) WorldCamera();
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace StudioAPI
|
} // namespace StudioAPI
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
class RenderService : Service {
|
class RenderService : Service {
|
||||||
EntityEnvir nment env;
|
EntityEnvir nment env;
|
||||||
SceneCamera sceneCamera;
|
WorldCamera sceneCamera;
|
||||||
MeshComponent meshC;
|
MeshComponent meshC;
|
||||||
Entity child;
|
Entity child;
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
class ViewportPanel : Panel {
|
class ViewportPanel : Panel {
|
||||||
FrameBuffer frameBuffer;
|
FrameBuffer frameBuffer;
|
||||||
SceneCamera sceneCamera;
|
WorldCamera sceneCamera;
|
||||||
EntityEnvir nment mainEnv;
|
EntityEnvir nment mainEnv;
|
||||||
|
|
||||||
float pitch = 0;
|
float pitch = 0;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user