mirror of
https://github.com/MadeOfJelly/MushMachine.git
synced 2025-06-18 18:56:36 +02:00
port to EnTT v3.10.0
This commit is contained in:
@ -27,9 +27,6 @@
|
||||
namespace MM::OpenGL::RenderTasks {
|
||||
|
||||
BatchedSpriteSheet::BatchedSpriteSheet(Engine& engine) {
|
||||
default_cam.setOrthographic();
|
||||
default_cam.updateView();
|
||||
|
||||
float vertices[] = {
|
||||
-0.5f, 0.5f,
|
||||
-0.5f, -0.5f,
|
||||
@ -70,6 +67,10 @@ void BatchedSpriteSheet::render(Services::OpenGLRenderer& rs, Engine& engine) {
|
||||
|
||||
auto& scene = ssi->getScene();
|
||||
|
||||
if (!scene.ctx().contains<Camera3D>()) {
|
||||
return; // nothing to draw
|
||||
}
|
||||
|
||||
struct sp_data {
|
||||
SpriteSheet sp;
|
||||
struct instance_data {
|
||||
@ -116,12 +117,9 @@ void BatchedSpriteSheet::render(Services::OpenGLRenderer& rs, Engine& engine) {
|
||||
_vertexBuffer->bind(GL_ARRAY_BUFFER);
|
||||
_vao->bind();
|
||||
|
||||
auto* cam = scene.try_ctx<Camera3D>();
|
||||
if (!cam) {
|
||||
cam = &default_cam;
|
||||
}
|
||||
auto& cam = scene.ctx().at<Camera3D>();
|
||||
|
||||
auto vp = cam->getViewProjection();
|
||||
auto vp = cam.getViewProjection();
|
||||
_shader->setUniformMat4f("_VP", vp);
|
||||
|
||||
for (auto& sp_ent : batch_map) {
|
||||
|
@ -37,8 +37,6 @@ namespace MM::OpenGL::RenderTasks {
|
||||
public:
|
||||
glm::vec4 default_color {1.f, 1.f, 1.f, 1.f};
|
||||
|
||||
OpenGL::Camera3D default_cam;
|
||||
|
||||
BatchedSpriteSheet(Engine& engine);
|
||||
~BatchedSpriteSheet(void);
|
||||
|
||||
|
@ -47,7 +47,6 @@ FastSky::FastSky(MM::Engine& engine) {
|
||||
|
||||
_vertexBuffer->unbind(GL_ARRAY_BUFFER);
|
||||
_vao->unbind();
|
||||
|
||||
}
|
||||
|
||||
FastSky::~FastSky(void) {
|
||||
@ -56,6 +55,17 @@ FastSky::~FastSky(void) {
|
||||
void FastSky::render(MM::Services::OpenGLRenderer& rs, MM::Engine& engine) {
|
||||
ZoneScopedN("MM::OpenGL::RenderTasks::FastSky::render");
|
||||
|
||||
auto* ssi = engine.tryService<MM::Services::SceneServiceInterface>();
|
||||
if (ssi == nullptr) {
|
||||
return; // nothing to draw
|
||||
}
|
||||
|
||||
auto& scene = ssi->getScene();
|
||||
|
||||
if (!scene.ctx().contains<Camera3D>()) {
|
||||
return; // nothing to draw
|
||||
}
|
||||
|
||||
rs.targets[target_fbo]->bind(MM::OpenGL::FrameBufferObject::W);
|
||||
|
||||
glEnable(GL_DEPTH_TEST);
|
||||
@ -67,9 +77,8 @@ void FastSky::render(MM::Services::OpenGLRenderer& rs, MM::Engine& engine) {
|
||||
_vertexBuffer->bind(GL_ARRAY_BUFFER);
|
||||
_vao->bind();
|
||||
|
||||
auto& scene = engine.tryService<MM::Services::SceneServiceInterface>()->getScene();
|
||||
{
|
||||
auto& cam = scene.ctx<MM::OpenGL::Camera3D>();
|
||||
auto& cam = scene.ctx().at<MM::OpenGL::Camera3D>();
|
||||
MM::OpenGL::Camera3D tmp_cam = cam;
|
||||
// create cam with y up, bc shader says so
|
||||
tmp_cam.up = {0, 1, 0};
|
||||
@ -80,9 +89,13 @@ void FastSky::render(MM::Services::OpenGLRenderer& rs, MM::Engine& engine) {
|
||||
}
|
||||
|
||||
{
|
||||
auto* ctx_ptr = scene.try_ctx<FastSkyContext>();
|
||||
if (!ctx_ptr) {
|
||||
ctx_ptr = &_default_context;
|
||||
//auto* ctx_ptr = scene.try_ctx<FastSkyContext>();
|
||||
//if (!ctx_ptr) {
|
||||
//ctx_ptr = &_default_context;
|
||||
//}
|
||||
auto* ctx_ptr = &_default_context;
|
||||
if (scene.ctx().contains<FastSkyContext>()) {
|
||||
ctx_ptr = &scene.ctx().at<FastSkyContext>();
|
||||
}
|
||||
|
||||
_shader->setUniform1f("time", ctx_ptr->time);
|
||||
|
@ -22,9 +22,6 @@
|
||||
namespace MM::OpenGL::RenderTasks {
|
||||
|
||||
SimpleRect::SimpleRect(Engine& engine) {
|
||||
default_cam.setOrthographic();
|
||||
default_cam.updateView();
|
||||
|
||||
float vertices[] = {
|
||||
-0.5f, 0.5f,
|
||||
-0.5f, -0.5f,
|
||||
@ -63,6 +60,10 @@ void SimpleRect::render(Services::OpenGLRenderer& rs, Engine& engine) {
|
||||
|
||||
auto& scene = ssi->getScene();
|
||||
|
||||
if (!scene.ctx().contains<Camera3D>()) {
|
||||
return; // nothing to draw
|
||||
}
|
||||
|
||||
rs.targets[target_fbo]->bind(FrameBufferObject::RW);
|
||||
|
||||
glEnable(GL_DEPTH_TEST);
|
||||
@ -71,12 +72,8 @@ void SimpleRect::render(Services::OpenGLRenderer& rs, Engine& engine) {
|
||||
_shader->bind();
|
||||
_vao->bind();
|
||||
|
||||
Camera3D* cam = scene.try_ctx<Camera3D>();
|
||||
if (!cam) {
|
||||
cam = &default_cam;
|
||||
}
|
||||
|
||||
auto vp = cam->getViewProjection();
|
||||
Camera3D& cam = scene.ctx().at<Camera3D>();
|
||||
auto vp = cam.getViewProjection();
|
||||
|
||||
scene.view<const Components::Transform4x4>().each([this, &scene, &vp](entt::entity e, const auto& t) {
|
||||
_shader->setUniformMat4f("_WVP", vp * t.trans);
|
||||
|
@ -5,7 +5,6 @@
|
||||
|
||||
#include <mm/opengl/camera_3d.hpp>
|
||||
|
||||
//#include <glm/fwd.hpp>
|
||||
#include <glm/vec4.hpp>
|
||||
|
||||
// fwd
|
||||
@ -26,8 +25,6 @@ namespace MM::OpenGL::RenderTasks {
|
||||
public:
|
||||
glm::vec4 default_color {1,1,1,1};
|
||||
|
||||
Camera3D default_cam;
|
||||
|
||||
SimpleRect(Engine& engine);
|
||||
~SimpleRect(void);
|
||||
|
||||
|
@ -28,9 +28,6 @@
|
||||
namespace MM::OpenGL::RenderTasks {
|
||||
|
||||
SimpleSprite::SimpleSprite(Engine& engine) {
|
||||
default_cam.setOrthographic();
|
||||
default_cam.updateView();
|
||||
|
||||
float vertices[] = {
|
||||
-0.5f, 0.5f,
|
||||
-0.5f, -0.5f,
|
||||
@ -69,6 +66,10 @@ void SimpleSprite::render(Services::OpenGLRenderer& rs, Engine& engine) {
|
||||
|
||||
auto& scene = ssi->getScene();
|
||||
|
||||
if (!scene.ctx().contains<Camera3D>()) {
|
||||
return; // nothing to draw
|
||||
}
|
||||
|
||||
rs.targets[target_fbo]->bind(FrameBufferObject::W);
|
||||
|
||||
glEnable(GL_DEPTH_TEST);
|
||||
@ -79,12 +80,8 @@ void SimpleSprite::render(Services::OpenGLRenderer& rs, Engine& engine) {
|
||||
_vao->bind();
|
||||
|
||||
|
||||
auto* cam = scene.try_ctx<Camera3D>();
|
||||
if (!cam) {
|
||||
cam = &default_cam;
|
||||
}
|
||||
|
||||
auto vp = cam->getViewProjection();
|
||||
Camera3D& cam = scene.ctx().at<Camera3D>();
|
||||
auto vp = cam.getViewProjection();
|
||||
|
||||
scene.view<const Components::Transform4x4, Components::OpenGL::Texture>().each([this, &scene, &vp](entt::entity e, const auto& t, auto& tex) {
|
||||
assert(tex.tex); // debug
|
||||
|
@ -26,8 +26,6 @@ namespace MM::OpenGL::RenderTasks {
|
||||
public:
|
||||
glm::vec4 default_color {1,1,1,1};
|
||||
|
||||
Camera3D default_cam;
|
||||
|
||||
SimpleSprite(Engine& engine);
|
||||
~SimpleSprite(void);
|
||||
|
||||
|
@ -30,9 +30,6 @@
|
||||
namespace MM::OpenGL::RenderTasks {
|
||||
|
||||
SimpleSpriteSheet::SimpleSpriteSheet(Engine& engine) {
|
||||
default_cam.setOrthographic();
|
||||
default_cam.updateView();
|
||||
|
||||
float vertices[] = {
|
||||
-0.5f, 0.5f,
|
||||
-0.5f, -0.5f,
|
||||
@ -56,11 +53,6 @@ SimpleSpriteSheet::SimpleSpriteSheet(Engine& engine) {
|
||||
setupShaderFiles();
|
||||
_shader = Shader::createF(engine, vertexPath, fragmentPath);
|
||||
assert(_shader != nullptr);
|
||||
|
||||
auto& scene = engine.tryService<MM::Services::SceneServiceInterface>()->getScene();
|
||||
if (!scene.try_ctx<Camera3D>()) {
|
||||
LOG_SSSR("warn: scene has no Camera!");
|
||||
}
|
||||
}
|
||||
|
||||
SimpleSpriteSheet::~SimpleSpriteSheet(void) {
|
||||
@ -76,6 +68,10 @@ void SimpleSpriteSheet::render(Services::OpenGLRenderer& rs, Engine& engine) {
|
||||
|
||||
auto& scene = ssi->getScene();
|
||||
|
||||
if (!scene.ctx().contains<Camera3D>()) {
|
||||
return; // nothing to draw
|
||||
}
|
||||
|
||||
rs.targets[target_fbo]->bind(FrameBufferObject::W);
|
||||
|
||||
glEnable(GL_DEPTH_TEST);
|
||||
@ -85,12 +81,8 @@ void SimpleSpriteSheet::render(Services::OpenGLRenderer& rs, Engine& engine) {
|
||||
_vertexBuffer->bind(GL_ARRAY_BUFFER);
|
||||
_vao->bind();
|
||||
|
||||
auto* cam = scene.try_ctx<Camera3D>();
|
||||
if (!cam) {
|
||||
cam = &default_cam;
|
||||
}
|
||||
|
||||
auto vp = cam->getViewProjection();
|
||||
Camera3D& cam = scene.ctx().at<Camera3D>();
|
||||
auto vp = cam.getViewProjection();
|
||||
|
||||
scene.view<const Components::Transform4x4, SpriteSheetRenderable>().each([this, &scene, &vp](entt::entity e, const auto& t, auto& spr) {
|
||||
assert(spr.sp.tex); // debug
|
||||
|
@ -26,8 +26,6 @@ namespace MM::OpenGL::RenderTasks {
|
||||
public:
|
||||
glm::vec4 default_color {1.f, 1.f, 1.f, 1.f};
|
||||
|
||||
Camera3D default_cam;
|
||||
|
||||
SimpleSpriteSheet(Engine& engine);
|
||||
~SimpleSpriteSheet(void);
|
||||
|
||||
|
@ -75,6 +75,17 @@ Tilemap::~Tilemap(void) {
|
||||
void Tilemap::render(MM::Services::OpenGLRenderer& rs, MM::Engine& engine) {
|
||||
ZoneScopedN("MM::OpenGL::Renderers::TilemapRenderer::render");
|
||||
|
||||
auto* ssi = engine.tryService<MM::Services::SceneServiceInterface>();
|
||||
if (ssi == nullptr) {
|
||||
return; // nothing to draw
|
||||
}
|
||||
|
||||
auto& scene = ssi->getScene();
|
||||
|
||||
if (!scene.ctx().contains<Camera3D>()) {
|
||||
return; // nothing to draw
|
||||
}
|
||||
|
||||
rs.targets[target_fbo]->bind(MM::OpenGL::FrameBufferObject::W);
|
||||
|
||||
glEnable(GL_DEPTH_TEST);
|
||||
@ -85,17 +96,13 @@ void Tilemap::render(MM::Services::OpenGLRenderer& rs, MM::Engine& engine) {
|
||||
_vertexBuffer->bind(GL_ARRAY_BUFFER);
|
||||
_vao->bind();
|
||||
|
||||
|
||||
auto& scene = engine.tryService<Services::SceneServiceInterface>()->getScene();
|
||||
|
||||
MM::OpenGL::Camera3D& cam = scene.ctx<MM::OpenGL::Camera3D>();
|
||||
MM::OpenGL::Camera3D& cam = scene.ctx().at<MM::OpenGL::Camera3D>();
|
||||
auto vp = cam.getViewProjection();
|
||||
|
||||
_shader->setUniform3f("_ambient_color", ambient_color);
|
||||
|
||||
scene.view<MM::Components::Transform4x4, OpenGL::TilemapRenderable>()
|
||||
.each([&](auto, MM::Components::Transform4x4& t, OpenGL::TilemapRenderable& tilemap) {
|
||||
//_shader->setUniformMat4f("_WVP", vp * t.getTransform4(tilemap.z + 500.f));
|
||||
_shader->setUniformMat4f("_WVP", vp * t.trans);
|
||||
|
||||
// for each sprite layer
|
||||
|
@ -68,7 +68,7 @@ TEST(batched_spritesheet_render_task, it) {
|
||||
auto& rs = engine.addService<MM::Services::OpenGLRenderer>();
|
||||
ASSERT_TRUE(engine.enableService<MM::Services::OpenGLRenderer>());
|
||||
|
||||
auto& cam = scene.set<MM::OpenGL::Camera3D>();
|
||||
auto& cam = scene.ctx().emplace<MM::OpenGL::Camera3D>();
|
||||
cam.horizontalViewPortSize = 5;
|
||||
cam.setOrthographic();
|
||||
cam.updateView();
|
||||
@ -87,8 +87,8 @@ TEST(batched_spritesheet_render_task, it) {
|
||||
|
||||
|
||||
// setup systems
|
||||
scene.set<float>(0.f); // accu
|
||||
auto& org = scene.set<entt::organizer>();
|
||||
scene.ctx().emplace<float>(0.f); // accu
|
||||
auto& org = scene.ctx().emplace<entt::organizer>();
|
||||
org.emplace<&update_spritesheet_animation>("update_spritesheet_animation");
|
||||
org.emplace<MM::Systems::position3d_from_2d>("position3d_from_2d");
|
||||
org.emplace<MM::Systems::transform3d_translate>("transform3d_translate");
|
||||
|
@ -129,9 +129,12 @@ TEST(blur_render_task, it) {
|
||||
scene.on_update<MM::Components::Scale2D>().connect<&entt::registry::emplace_or_replace<MM::Components::DirtyTransformTag>>();
|
||||
scene.on_update<MM::Components::Rotation2D>().connect<&entt::registry::emplace_or_replace<MM::Components::DirtyTransformTag>>(); // in this example only rotation is touched
|
||||
|
||||
auto& cam = scene.ctx().emplace<MM::OpenGL::Camera3D>();
|
||||
cam.setOrthographic();
|
||||
cam.updateView();
|
||||
|
||||
// setup v system
|
||||
auto& org = scene.set<entt::organizer>();
|
||||
auto& org = scene.ctx().emplace<entt::organizer>();
|
||||
org.emplace<MM::Systems::simple_rotational_velocity_patching>("simple_rotational_velocity_patching");
|
||||
org.emplace<MM::Systems::position3d_from_2d>("position3d_from_2d");
|
||||
org.emplace<MM::Systems::transform3d_translate>("transform3d_translate");
|
||||
|
@ -42,18 +42,18 @@ TEST(fast_sky_render_task, it) {
|
||||
rs.addRenderTask<MM::OpenGL::RenderTasks::FastSky>(engine);
|
||||
|
||||
// setup systems
|
||||
auto& org = scene.set<entt::organizer>();
|
||||
auto& org = scene.ctx().emplace<entt::organizer>();
|
||||
org.emplace<&MM::Systems::fast_sky_sun>("fast_sky_sun");
|
||||
|
||||
// HACK: instead you would switch to this scene
|
||||
engine.getService<MM::Services::OrganizerSceneService>().updateOrganizerVertices(scene);
|
||||
|
||||
|
||||
auto& cam = scene.set<MM::OpenGL::Camera3D>();
|
||||
auto& cam = scene.ctx().emplace<MM::OpenGL::Camera3D>();
|
||||
cam.setPerspective();
|
||||
cam.updateView();
|
||||
|
||||
scene.set<MM::OpenGL::RenderTasks::FastSkyContext>();
|
||||
scene.ctx().emplace<MM::OpenGL::RenderTasks::FastSkyContext>();
|
||||
|
||||
engine.run();
|
||||
}
|
||||
|
@ -119,46 +119,6 @@ static void setup_fbos(MM::Engine& engine) {
|
||||
|
||||
const float render_scale = 1.f;
|
||||
|
||||
#if 0
|
||||
rs.targets["clear_opaque"] = MM::OpenGL::FBOBuilder::start()
|
||||
.attachTexture(rm_t.get("albedo"_hs), GL_COLOR_ATTACHMENT0)
|
||||
.attachTexture(rm_t.get("opaque_depth"_hs), GL_DEPTH_ATTACHMENT)
|
||||
.setResize(true)
|
||||
.finish();
|
||||
assert(rs.targets["clear_opaque"]);
|
||||
|
||||
rs.targets["clear_opaque_normal"] = MM::OpenGL::FBOBuilder::start()
|
||||
.attachTexture(rm_t.get("normal"_hs), GL_COLOR_ATTACHMENT0)
|
||||
.setResize(true)
|
||||
.finish();
|
||||
assert(rs.targets["clear_opaque"]);
|
||||
|
||||
rs.targets["opaque"] = MM::OpenGL::FBOBuilder::start()
|
||||
.attachTexture(rm_t.get("albedo"_hs), GL_COLOR_ATTACHMENT0)
|
||||
.attachTexture(rm_t.get("normal"_hs), GL_COLOR_ATTACHMENT1)
|
||||
.attachTexture(rm_t.get("opaque_depth"_hs), GL_DEPTH_ATTACHMENT)
|
||||
.setResize(true)
|
||||
.finish();
|
||||
assert(rs.targets["opaque"]);
|
||||
|
||||
rs.targets["tmp_read"] = MM::OpenGL::FBOBuilder::start()
|
||||
.attachTexture(rm_t.get("normal"_hs), GL_COLOR_ATTACHMENT0)
|
||||
.setResize(false)
|
||||
.finish();
|
||||
assert(rs.targets["tmp_read"]);
|
||||
|
||||
rs.targets["depth_read"] = MM::OpenGL::FBOBuilder::start()
|
||||
.attachTexture(rm_t.get("opaque_depth"_hs), GL_DEPTH_ATTACHMENT)
|
||||
.setResize(false)
|
||||
.finish();
|
||||
assert(rs.targets["depth_read"]);
|
||||
|
||||
rs.targets["deferred_shading"] = MM::OpenGL::FBOBuilder::start()
|
||||
.attachTexture(rm_t.get("hdr_color"_hs), GL_COLOR_ATTACHMENT0)
|
||||
.setResize(true)
|
||||
.finish();
|
||||
assert(rs.targets["deferred_shading"]);
|
||||
#endif
|
||||
rs.targets["game_view"] = MM::OpenGL::FBOBuilder::start()
|
||||
.attachTexture(rm_t.get("hdr_color"_hs), GL_COLOR_ATTACHMENT0)
|
||||
.attachTexture(rm_t.get("depth"_hs), GL_DEPTH_ATTACHMENT)
|
||||
@ -230,9 +190,12 @@ TEST(hdr_bloom_pipeline, it) {
|
||||
scene.on_update<MM::Components::Scale2D>().connect<&entt::registry::emplace_or_replace<MM::Components::DirtyTransformTag>>();
|
||||
scene.on_update<MM::Components::Rotation2D>().connect<&entt::registry::emplace_or_replace<MM::Components::DirtyTransformTag>>(); // in this example only rotation is touched
|
||||
|
||||
auto& cam = scene.ctx().emplace<MM::OpenGL::Camera3D>();
|
||||
cam.setOrthographic();
|
||||
cam.updateView();
|
||||
|
||||
// setup v system
|
||||
auto& org = scene.set<entt::organizer>();
|
||||
auto& org = scene.ctx().emplace<entt::organizer>();
|
||||
org.emplace<MM::Systems::simple_rotational_velocity_patching>("simple_rotational_velocity_patching");
|
||||
org.emplace<MM::Systems::position3d_from_2d>("position3d_from_2d");
|
||||
org.emplace<MM::Systems::transform3d_translate>("transform3d_translate");
|
||||
|
@ -62,8 +62,12 @@ TEST(simple_rect_render_task, it) {
|
||||
scene.on_update<MM::Components::Scale2D>().connect<&entt::registry::emplace_or_replace<MM::Components::DirtyTransformTag>>();
|
||||
scene.on_update<MM::Components::Rotation2D>().connect<&entt::registry::emplace_or_replace<MM::Components::DirtyTransformTag>>(); // in this example only rotation is touched
|
||||
|
||||
auto& cam = scene.ctx().emplace<MM::OpenGL::Camera3D>();
|
||||
cam.setOrthographic();
|
||||
cam.updateView();
|
||||
|
||||
// setup v system
|
||||
auto& org = scene.set<entt::organizer>();
|
||||
auto& org = scene.ctx().emplace<entt::organizer>();
|
||||
org.emplace<MM::Systems::simple_rotational_velocity_patching>("simple_rotational_velocity_patching");
|
||||
org.emplace<MM::Systems::position3d_from_2d>("position3d_from_2d");
|
||||
org.emplace<MM::Systems::transform3d_translate>("transform3d_translate");
|
||||
|
@ -65,9 +65,12 @@ TEST(simple_sprite_render_task, it) {
|
||||
scene.on_update<MM::Components::Scale2D>().connect<&entt::registry::emplace_or_replace<MM::Components::DirtyTransformTag>>();
|
||||
scene.on_update<MM::Components::Rotation2D>().connect<&entt::registry::emplace_or_replace<MM::Components::DirtyTransformTag>>(); // in this example only rotation is touched
|
||||
|
||||
auto& cam = scene.ctx().emplace<MM::OpenGL::Camera3D>();
|
||||
cam.setOrthographic();
|
||||
cam.updateView();
|
||||
|
||||
// setup v system
|
||||
auto& org = scene.set<entt::organizer>();
|
||||
auto& org = scene.ctx().emplace<entt::organizer>();
|
||||
org.emplace<MM::Systems::simple_rotational_velocity_patching>("simple_rotational_velocity_patching");
|
||||
org.emplace<MM::Systems::position3d_from_2d>("position3d_from_2d");
|
||||
org.emplace<MM::Systems::transform3d_translate>("transform3d_translate");
|
||||
|
@ -64,7 +64,7 @@ TEST(simple_spritesheet_render_task, it) {
|
||||
auto& rs = engine.addService<MM::Services::OpenGLRenderer>();
|
||||
ASSERT_TRUE(engine.enableService<MM::Services::OpenGLRenderer>());
|
||||
|
||||
auto& cam = scene.set<MM::OpenGL::Camera3D>();
|
||||
auto& cam = scene.ctx().emplace<MM::OpenGL::Camera3D>();
|
||||
cam.horizontalViewPortSize = 5;
|
||||
cam.setOrthographic();
|
||||
cam.updateView();
|
||||
@ -82,8 +82,8 @@ TEST(simple_spritesheet_render_task, it) {
|
||||
scene.on_update<MM::Components::Scale2D>().connect<&entt::registry::emplace_or_replace<MM::Components::DirtyTransformTag>>();
|
||||
|
||||
// setup systems
|
||||
scene.set<float>(0.f); // accu
|
||||
auto& org = scene.set<entt::organizer>();
|
||||
scene.ctx().emplace<float>(0.f); // accu
|
||||
auto& org = scene.ctx().emplace<entt::organizer>();
|
||||
org.emplace<&update_spritesheet_animation>("update_spritesheet_animation");
|
||||
org.emplace<MM::Systems::position3d_from_2d>("position3d_from_2d");
|
||||
org.emplace<MM::Systems::transform3d_translate>("transform3d_translate");
|
||||
@ -103,7 +103,7 @@ TEST(simple_spritesheet_render_task, it) {
|
||||
auto e = scene.create();
|
||||
auto& p = scene.emplace<MM::Components::Position2D>(e);
|
||||
p.pos.x = -1.f;
|
||||
|
||||
|
||||
// zoffset is created by event
|
||||
|
||||
auto& s = scene.emplace<MM::Components::Scale2D>(e);
|
||||
|
@ -39,7 +39,7 @@ TEST(tilemap_render_task_test, it) {
|
||||
ASSERT_TRUE(provide_ret);
|
||||
auto& scene = engine.tryService<MM::Services::SceneServiceInterface>()->getScene();
|
||||
|
||||
auto& cam = scene.set<MM::OpenGL::Camera3D>();
|
||||
auto& cam = scene.ctx().emplace<MM::OpenGL::Camera3D>();
|
||||
cam.translation = {2.f, -2.f, 0.f};
|
||||
cam.horizontalViewPortSize = 20.f;
|
||||
cam.setOrthographic();
|
||||
@ -63,7 +63,7 @@ TEST(tilemap_render_task_test, it) {
|
||||
scene.on_update<MM::Components::Position2D_ZOffset>().connect<&entt::registry::emplace_or_replace<MM::Components::DirtyTransformTag>>();
|
||||
scene.on_update<MM::Components::Position3D>().connect<&entt::registry::emplace_or_replace<MM::Components::DirtyTransformTag>>();
|
||||
|
||||
auto& org = scene.set<entt::organizer>();
|
||||
auto& org = scene.ctx().emplace<entt::organizer>();
|
||||
org.emplace<MM::Systems::position3d_from_2d>("position3d_from_2d");
|
||||
org.emplace<MM::Systems::transform3d_translate>("transform3d_translate");
|
||||
org.emplace<MM::Systems::transform_clear_dirty>("transform_clear_dirty");
|
||||
|
Reference in New Issue
Block a user