2D scene rendering + image loading #15
+1
-1
@@ -28,7 +28,7 @@ class Editor : public sophia::Application {
|
|||||||
panels().emplace<AssetBrowserPanel>();
|
panels().emplace<AssetBrowserPanel>();
|
||||||
sophia::RenderTargetHandle sceneTarget =
|
sophia::RenderTargetHandle sceneTarget =
|
||||||
resources().create<sophia::RenderTarget>();
|
resources().create<sophia::RenderTarget>();
|
||||||
views().create({.scene = sceneHandle, .target = sceneTarget});
|
sceneViews().create({.scene = sceneHandle, .target = sceneTarget});
|
||||||
panels().emplace<ViewportPanel>(ui(), sceneTarget, scene, selected);
|
panels().emplace<ViewportPanel>(ui(), sceneTarget, scene, selected);
|
||||||
|
|
||||||
panels().setDefaultLayout(
|
panels().setDefaultLayout(
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ class Application {
|
|||||||
ResourceRegistryRef resources();
|
ResourceRegistryRef resources();
|
||||||
PanelRegistry& panels() { return this->panelRegistry; }
|
PanelRegistry& panels() { return this->panelRegistry; }
|
||||||
SceneRegistry& scenes() { return this->sceneRegistry; }
|
SceneRegistry& scenes() { return this->sceneRegistry; }
|
||||||
SceneViewRegistry& views() { return this->sceneViewRegistry; }
|
SceneViewRegistry& sceneViews() { return this->sceneViewRegistry; }
|
||||||
UI& ui() { return this->_ui; }
|
UI& ui() { return this->_ui; }
|
||||||
|
|
||||||
DebugUI& debugUI() { return this->_debugUI; }
|
DebugUI& debugUI() { return this->_debugUI; }
|
||||||
|
|||||||
@@ -126,9 +126,9 @@ class Boids2D : public sophia::Application {
|
|||||||
}
|
}
|
||||||
|
|
||||||
target = resources().create<sophia::RenderTarget>();
|
target = resources().create<sophia::RenderTarget>();
|
||||||
views().create({.scene = sceneHandle,
|
sceneViews().create({.scene = sceneHandle,
|
||||||
.target = target,
|
.target = target,
|
||||||
.clearColor = {0.01f, 0.01f, 0.02f, 1.0f}});
|
.clearColor = {0.01f, 0.01f, 0.02f, 1.0f}});
|
||||||
|
|
||||||
panels().emplace<ViewportPanel>(ui(), target);
|
panels().emplace<ViewportPanel>(ui(), target);
|
||||||
panels().setDefaultLayout({.center = {"Boids"}});
|
panels().setDefaultLayout({.center = {"Boids"}});
|
||||||
|
|||||||
@@ -51,9 +51,9 @@ class ImageViewer : public sophia::Application {
|
|||||||
sophia::SpriteComponent{.texture = texture, .size = imageSize});
|
sophia::SpriteComponent{.texture = texture, .size = imageSize});
|
||||||
|
|
||||||
target = resources().create<sophia::RenderTarget>();
|
target = resources().create<sophia::RenderTarget>();
|
||||||
views().create({.scene = sceneHandle,
|
sceneViews().create({.scene = sceneHandle,
|
||||||
.target = target,
|
.target = target,
|
||||||
.clearColor = {0.1f, 0.1f, 0.15f, 1.f}});
|
.clearColor = {0.1f, 0.1f, 0.15f, 1.f}});
|
||||||
|
|
||||||
panels().emplace<ViewportPanel>(ui(), target);
|
panels().emplace<ViewportPanel>(ui(), target);
|
||||||
// panels().setDefaultLayout({.center = {"Image"}});
|
// panels().setDefaultLayout({.center = {"Image"}});
|
||||||
|
|||||||
+5
-4
@@ -27,11 +27,12 @@ class Testbed : public sophia::Application {
|
|||||||
Testbed() : Application{{.width = 750, .height = 1000, .name = "Testbed"}} {}
|
Testbed() : Application{{.width = 750, .height = 1000, .name = "Testbed"}} {}
|
||||||
|
|
||||||
void onCreate() override {
|
void onCreate() override {
|
||||||
view = views().create({.scene = scenes().create(),
|
view = sceneViews().create(
|
||||||
.target = resources().create<sophia::RenderTarget>(),
|
{.scene = scenes().create(),
|
||||||
.clearColor = {0.1f, 0.1f, 0.15f, 1.f}});
|
.target = resources().create<sophia::RenderTarget>(),
|
||||||
|
.clearColor = {0.1f, 0.1f, 0.15f, 1.f}});
|
||||||
|
|
||||||
panels().emplace<Viewport>(ui(), views().get(view).target);
|
panels().emplace<Viewport>(ui(), sceneViews().get(view).target);
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|||||||
Reference in New Issue
Block a user