Staged
This commit is contained in:
parent
90f5569855
commit
ba42be46ba
@ -1,37 +0,0 @@
|
||||
#pragma once
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
class asIScriptEngine;
|
||||
class asIScriptModule;
|
||||
class asIScriptContext;
|
||||
class CScriptBuilder;
|
||||
|
||||
namespace Deer {
|
||||
// This namespace implements all interface ported from c++ ImGui to an easier lua aproach with simplifications
|
||||
namespace StudioAPI {
|
||||
class DockPanelContext;
|
||||
class DockPanelObject;
|
||||
class ServiceScriptContext;
|
||||
|
||||
void initialize();
|
||||
void deinitialize();
|
||||
|
||||
void render();
|
||||
|
||||
// INTERNAL
|
||||
// Panels
|
||||
extern asIScriptEngine* scriptEngine;
|
||||
extern CScriptBuilder scriptBuilder;
|
||||
|
||||
extern std::vector<DockPanelContext> dockPanelModules;
|
||||
extern std::vector<ServiceScriptContext> serviceScriptModules;
|
||||
extern DockPanelObject* currentDockPanelExecution;
|
||||
|
||||
void loadDockPanels();
|
||||
void loadServiceScripts();
|
||||
|
||||
void registerEditorEngineFunctions();
|
||||
void registerEditorEngineStructs();
|
||||
} // namespace StudioAPI
|
||||
} // namespace Deer
|
||||
@ -102,14 +102,11 @@ namespace Deer {
|
||||
}
|
||||
ImGui::PopStyleVar();
|
||||
|
||||
|
||||
// TerrainEditor::onImGui();
|
||||
// viewport_onImGui();
|
||||
|
||||
AngelScriptEngine::render();
|
||||
|
||||
ImGui::ShowMetricsWindow();
|
||||
|
||||
Scene::gizmoRenderer.refresh();
|
||||
ImGui::End();
|
||||
}
|
||||
|
||||
@ -4,7 +4,11 @@ FrameBuffer renderMeshPreview(GPUMesh mesh) {
|
||||
return mainRenderService.renderMeshPreview(mesh);
|
||||
}
|
||||
|
||||
void setSceneCamera (SceneCamera sc) {
|
||||
FrameBuffer renderMeshPreview(GPUMesh mesh, float fase) {
|
||||
return mainRenderService.renderMeshPreview(mesh, fase);
|
||||
}
|
||||
|
||||
void setSceneCamera(SceneCamera sc) {
|
||||
}
|
||||
|
||||
class RenderService : Service {
|
||||
@ -18,12 +22,10 @@ class RenderService : Service {
|
||||
|
||||
shaderC.shader = Resource::loadShader("shader.glsl");
|
||||
|
||||
|
||||
Engine::print("CAM : " + sceneCamera.transform.position.x + " " + sceneCamera.transform.scale.x + " : " + sceneCamera.camera.aspect);
|
||||
sceneCamera.transform.position.z = -3;
|
||||
sceneCamera.transform.position.y = 1;
|
||||
|
||||
|
||||
}
|
||||
|
||||
FrameBuffer renderMeshPreview(GPUMesh mesh) {
|
||||
@ -31,6 +33,18 @@ class RenderService : Service {
|
||||
|
||||
buffer.clearRGBA(0, 0, 0, 0);
|
||||
meshC.meshResource = mesh;
|
||||
child.transform.rotation = vec3(0, 0, 0);
|
||||
mainRenderService.env.render(buffer, mainRenderService.sceneCamera);
|
||||
|
||||
return buffer;
|
||||
}
|
||||
|
||||
FrameBuffer renderMeshPreview(GPUMesh mesh, float fase) {
|
||||
FrameBuffer buffer = Resource::createLoadRGBA8FrameBuffer(mesh.path, 128, 128, 4);
|
||||
|
||||
buffer.clearRGBA(0, 0, 0, 0);
|
||||
meshC.meshResource = mesh;
|
||||
child.transform.rotation = vec3(0, (1-(1/(1+fase * fase)))*45, 0);
|
||||
mainRenderService.env.render(buffer, mainRenderService.sceneCamera);
|
||||
|
||||
return buffer;
|
||||
@ -39,5 +53,5 @@ class RenderService : Service {
|
||||
Environment env;
|
||||
SceneCamera sceneCamera;
|
||||
MeshComponent meshC;
|
||||
Entity child;
|
||||
Entity child;
|
||||
}
|
||||
@ -1,4 +1,5 @@
|
||||
import FrameBuffer renderMeshPreview(GPUMesh mesh) from "Previewer";
|
||||
import FrameBuffer renderMeshPreview(GPUMesh mesh, float fase) from "Previewer";
|
||||
string selectedResource = "";
|
||||
|
||||
class ResourceExplorer : Panel {
|
||||
@ -6,6 +7,7 @@ class ResourceExplorer : Panel {
|
||||
array<string> subFolders;
|
||||
array<string> subFiles;
|
||||
bool alreadyRendered = false;
|
||||
float fase = 0;
|
||||
|
||||
dictionary meshFrameBuffer;
|
||||
|
||||
@ -18,12 +20,14 @@ class ResourceExplorer : Panel {
|
||||
currentPath = path;
|
||||
subFolders = Resource::getResourceFolders(path);
|
||||
subFiles = Resource::getResourceFiles(path);
|
||||
fase = 0;
|
||||
}
|
||||
|
||||
void render() {
|
||||
alreadyRendered = false;
|
||||
renderMenuBar();
|
||||
UI::space();
|
||||
fase += 0.3;
|
||||
UI::automaticColumns(182);
|
||||
|
||||
string temp_path = currentPath;
|
||||
@ -45,17 +49,22 @@ class ResourceExplorer : Panel {
|
||||
ResourceType resType = Resource::getResourceType(filename);
|
||||
bool selected = filename == selectedResource;
|
||||
|
||||
if (resType == ResourceType::Mesh && !alreadyRendered) {
|
||||
if (resType == ResourceType::Mesh) {
|
||||
FrameBuffer frameBuffer;
|
||||
if (meshFrameBuffer.exists(filename)) {
|
||||
frameBuffer = FrameBuffer(meshFrameBuffer[filename]);
|
||||
//if (meshFrameBuffer.exists(filename)) {
|
||||
// frameBuffer = FrameBuffer(meshFrameBuffer[filename]);
|
||||
//
|
||||
//} else {
|
||||
// GPUMesh mesh = Resource::loadGPUMesh(filename);
|
||||
// frameBuffer = renderMeshPreview(mesh);
|
||||
// meshFrameBuffer[filename] = frameBuffer;
|
||||
// alreadyRendered = true;
|
||||
//}
|
||||
|
||||
} else {
|
||||
GPUMesh mesh = Resource::loadGPUMesh(filename);
|
||||
frameBuffer = renderMeshPreview(mesh);
|
||||
meshFrameBuffer[filename] = frameBuffer;
|
||||
alreadyRendered = true;
|
||||
}
|
||||
GPUMesh mesh = Resource::loadGPUMesh(filename);
|
||||
frameBuffer = renderMeshPreview(mesh, fase);
|
||||
meshFrameBuffer[filename] = frameBuffer;
|
||||
alreadyRendered = true;
|
||||
|
||||
if (UI::cartIconButton(Path::getName(filename), frameBuffer, 128, UI::getAvailableSizeX())) {
|
||||
selectedResource = filename;
|
||||
|
||||
30
imgui.ini
30
imgui.ini
@ -1,13 +1,13 @@
|
||||
[Window][DockSpace Demo]
|
||||
Pos=0,0
|
||||
Size=1920,1011
|
||||
Size=2560,1371
|
||||
Collapsed=0
|
||||
|
||||
[Window][ViewportPanel]
|
||||
Pos=433,34
|
||||
Size=927,428
|
||||
Pos=559,34
|
||||
Size=1441,704
|
||||
Collapsed=0
|
||||
DockId=0x00000004,1
|
||||
DockId=0x00000004,0
|
||||
|
||||
[Window][Debug##Default]
|
||||
Pos=60,60
|
||||
@ -16,13 +16,13 @@ Collapsed=0
|
||||
|
||||
[Window][TreePanel]
|
||||
Pos=0,34
|
||||
Size=431,428
|
||||
Size=557,704
|
||||
Collapsed=0
|
||||
DockId=0x00000001,0
|
||||
|
||||
[Window][ResourceExplorer]
|
||||
Pos=0,464
|
||||
Size=1920,546
|
||||
Pos=0,740
|
||||
Size=2560,630
|
||||
Collapsed=0
|
||||
DockId=0x00000006,0
|
||||
|
||||
@ -33,8 +33,8 @@ Collapsed=0
|
||||
DockId=0xA1672E74,1
|
||||
|
||||
[Window][PropertiesPanel]
|
||||
Pos=1362,34
|
||||
Size=558,428
|
||||
Pos=2002,34
|
||||
Size=558,704
|
||||
Collapsed=0
|
||||
DockId=0x00000003,0
|
||||
|
||||
@ -61,17 +61,17 @@ Collapsed=0
|
||||
|
||||
[Window][Dear ImGui Metrics/Debugger]
|
||||
Pos=433,34
|
||||
Size=927,428
|
||||
Size=1567,704
|
||||
Collapsed=0
|
||||
DockId=0x00000004,0
|
||||
|
||||
[Docking][Data]
|
||||
DockSpace ID=0x0AC2E849 Window=0xD0388BC8 Pos=0,34 Size=1920,976 Split=Y
|
||||
DockNode ID=0x00000005 Parent=0x0AC2E849 SizeRef=1920,428 Split=X
|
||||
DockSpace ID=0x0AC2E849 Window=0xD0388BC8 Pos=0,34 Size=2560,1336 Split=Y
|
||||
DockNode ID=0x00000005 Parent=0x0AC2E849 SizeRef=1920,704 Split=X
|
||||
DockNode ID=0x00000002 Parent=0x00000005 SizeRef=1360,645 Split=X Selected=0xD9E076F4
|
||||
DockNode ID=0x00000001 Parent=0x00000002 SizeRef=431,976 Selected=0x16E3C1E7
|
||||
DockNode ID=0x00000004 Parent=0x00000002 SizeRef=927,976 CentralNode=1 Selected=0xD9E076F4
|
||||
DockNode ID=0x00000001 Parent=0x00000002 SizeRef=557,976 Selected=0x16E3C1E7
|
||||
DockNode ID=0x00000004 Parent=0x00000002 SizeRef=1441,976 CentralNode=1 Selected=0x0F5FFC8C
|
||||
DockNode ID=0x00000003 Parent=0x00000005 SizeRef=558,645 Selected=0x9876A79B
|
||||
DockNode ID=0x00000006 Parent=0x0AC2E849 SizeRef=1920,546 Selected=0x018A0F9B
|
||||
DockNode ID=0x00000006 Parent=0x0AC2E849 SizeRef=1920,630 Selected=0x018A0F9B
|
||||
DockSpace ID=0xA1672E74 Pos=0,34 Size=1920,976 CentralNode=1 Selected=0x9ED090AF
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user