Added Texture Preview

Still need to fix hot model loading and reloading.
This commit is contained in:
OusmBlueNinja 2024-12-27 12:35:23 -06:00
parent 0c7c49dd43
commit 137a6d202c
9 changed files with 142 additions and 205 deletions

View File

@ -6,6 +6,10 @@ A 3D Game engine for Small to Medium-sized games with a LUA Scripting interface.
### Note: These screenshots are sorted by version.
#### 0.0.50
![](./assets/images/SS-Dev1_5.png)
#### 0.0.45
![](./assets/images/SS-Dev1_4.png)

BIN
assets/images/SS-Dev1_4.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 890 KiB

BIN
assets/textures/sky.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

View File

@ -9,10 +9,10 @@ Size=400,400
Collapsed=0
[Window][Inspector]
Pos=1588,27
Size=324,748
Pos=1566,27
Size=346,1142
Collapsed=0
DockId=0x00000005,0
DockId=0x00000002,0
[Window][OpenGL Output]
Pos=374,27
@ -21,14 +21,14 @@ Collapsed=0
DockId=0x00000003,0
[Window][Performance]
Pos=1588,777
Size=324,392
Pos=8,777
Size=364,392
Collapsed=0
DockId=0x00000006,0
[Window][Logger]
Pos=374,799
Size=1212,370
Size=1190,370
Collapsed=0
DockId=0x00000004,0
@ -40,26 +40,26 @@ DockId=0x00000007,0
[Window][Scene Window]
Pos=8,27
Size=364,1142
Size=364,748
Collapsed=0
DockId=0x00000009,0
DockId=0x00000005,0
[Window][Editor]
Pos=374,27
Size=1212,770
Size=1190,770
Collapsed=0
DockId=0x00000003,0
[Docking][Data]
DockSpace ID=0x14621557 Window=0x3DA2F1DE Pos=8,27 Size=1904,1142 Split=X Selected=0xF7365A5A
DockNode ID=0x00000009 Parent=0x14621557 SizeRef=364,1142 HiddenTabBar=1 Selected=0x3DC5AC3F
DockNode ID=0x00000009 Parent=0x14621557 SizeRef=364,1142 Split=Y Selected=0x3DC5AC3F
DockNode ID=0x00000005 Parent=0x00000009 SizeRef=364,748 HiddenTabBar=1 Selected=0x3DC5AC3F
DockNode ID=0x00000006 Parent=0x00000009 SizeRef=364,392 Selected=0x726D8899
DockNode ID=0x0000000A Parent=0x14621557 SizeRef=1538,1142 Split=X
DockNode ID=0x00000007 Parent=0x0000000A SizeRef=357,1142 Selected=0x7737E8B2
DockNode ID=0x00000008 Parent=0x0000000A SizeRef=1545,1142 Split=X
DockNode ID=0x00000001 Parent=0x00000008 SizeRef=1212,1142 Split=Y Selected=0xF7365A5A
DockNode ID=0x00000001 Parent=0x00000008 SizeRef=1190,1142 Split=Y Selected=0xF7365A5A
DockNode ID=0x00000003 Parent=0x00000001 SizeRef=1578,770 CentralNode=1 HiddenTabBar=1 Selected=0xDF0EC458
DockNode ID=0x00000004 Parent=0x00000001 SizeRef=1578,370 HiddenTabBar=1 Selected=0x9DD4E196
DockNode ID=0x00000002 Parent=0x00000008 SizeRef=324,1142 Split=Y Selected=0x36DC96AB
DockNode ID=0x00000005 Parent=0x00000002 SizeRef=324,748 HiddenTabBar=1 Selected=0x36DC96AB
DockNode ID=0x00000006 Parent=0x00000002 SizeRef=324,392 HiddenTabBar=1 Selected=0x726D8899
DockNode ID=0x00000002 Parent=0x00000008 SizeRef=346,1142 HiddenTabBar=1 Selected=0x36DC96AB

View File

@ -1,121 +1,37 @@
Entities:
- ID: 0
Name: Carrrrr Yeaaa
Name: Car
Components:
Transform:
Position: [0, 2.79999995, -12.6000004]
Rotation: [149.699997, -137.899994, -39.2999992]
Position: [1, 1.10000002, -4.30000019]
Rotation: [-21.5, -65.3000031, -180]
Scale: [1, 1, 1]
Mesh:
vao: 2
indexCount: 200000
indexCount: 15810
textureID: 1
MeshPath: assets/models/DefaultMesh.obj
- ID: 1
Name: Cube Yay
Name: Shopping Cart
Components:
Transform:
Position: [-11.8999996, -2, -21.7999992]
Rotation: [-9, -18.6000004, -28.1000004]
Scale: [1, 1, 1]
Position: [-1.39999998, 1, 1.20000005]
Rotation: [-180, -136, 0]
Scale: [2, 2, 2]
Mesh:
vao: 1
indexCount: 36
textureID: 2
MeshPath: assets/models/DefaultMesh.obj
- ID: 2
Name: Cube Yay 2
Components:
Transform:
Position: [7.80000019, -8.10000038, -20.6000004]
Rotation: [-86.3000031, 0, -66]
Scale: [1, 1, 1]
Mesh:
vao: 1
indexCount: 36
textureID: 3
MeshPath: assets/models/DefaultMesh.obj
- ID: 3
Name: Cube Yay 3
Components:
Transform:
Position: [-1.20000005, -3.4000001, -17.7000008]
Rotation: [-23.5, 15.8999996, -59.9000015]
Scale: [1, 1, 1]
Mesh:
vao: 1
indexCount: 36
textureID: 4
MeshPath: assets/models/DefaultMesh.obj
- ID: 4
Name: Cube Yay 4
Components:
Transform:
Position: [8.10000038, 0.800000012, -12]
Rotation: [-17.2999992, -16.1000004, -19.2999992]
Scale: [1, 1, 1]
Mesh:
vao: 1
indexCount: 36
vao: 3
indexCount: 2304
textureID: 5
MeshPath: assets/models/DefaultMesh.obj
- ID: 5
Name: Colormap
- ID: 2
Name: Skybox
Components:
Mesh:
vao: 1
vao: 5
indexCount: 36
textureID: 6
MeshPath: assets/models/DefaultMesh.obj
Transform:
Position: [-6.80000019, 2.70000005, -13.8000002]
Rotation: [-39.7000008, 0, -33.2000008]
Scale: [1, 1, 1]
- ID: 6
Name: Cube Yay 6
Components:
Transform:
Position: [-6.5, -6, -18]
Rotation: [15.8000002, -18.2000008, -11.1000004]
Scale: [1, 1, 1]
Mesh:
vao: 1
indexCount: 36
textureID: 3
MeshPath: assets/models/DefaultMesh.obj
- ID: 7
Name: Cube Yay 7
Components:
Transform:
Position: [6.5, 1.79999995, -23.8999996]
Rotation: [-16.1000004, -15.8999996, -35]
Scale: [1, 1, 1]
Mesh:
vao: 1
indexCount: 36
textureID: 4
MeshPath: assets/models/DefaultMesh.obj
- ID: 8
Name: Cube Yay 8
Components:
Transform:
Position: [-7.80000019, 0.200000003, -29.7999992]
Rotation: [22.5, -32.7999992, 0]
Scale: [1, 1, 1]
Mesh:
vao: 1
indexCount: 36
textureID: 1
MeshPath: assets/models/DefaultMesh.obj
- ID: 9
Name: Cube Yay 9
Components:
Transform:
Position: [5.5, -2.9000001, -19.5]
Rotation: [-41.4000015, -22.6000004, -52.2999992]
Scale: [1, 1, 1]
Mesh:
vao: 1
indexCount: 36
textureID: 2
MeshPath: assets/models/DefaultMesh.obj
Position: [0, 0, -190.5]
Rotation: [0, -56.5999985, 0]
Scale: [200, 200, 200]

View File

@ -2,110 +2,120 @@ Entities:
- ID: 0
Name: Carrrrr Yeaaa
Components:
Mesh:
vao: 2
indexCount: 200000
textureID: 1
Transform:
Position: [0, 2.79999995, -12.6000004]
Rotation: [149.699997, -137.899994, -39.2999992]
Scale: [1, 1, 1]
Mesh:
vao: 2
indexCount: 200000
textureID: 1
MeshPath: assets/models/DefaultMesh.obj
- ID: 1
Name: Cube Yay
Components:
Mesh:
vao: 1
indexCount: 36
textureID: 2
Transform:
Position: [-11.8999996, -2, -21.7999992]
Rotation: [-9, -18.6000004, -28.1000004]
Scale: [1, 1, 1]
- ID: 2
Name: Cube Yay 2
Components:
Mesh:
vao: 1
indexCount: 36
textureID: 3
Transform:
Position: [7.80000019, -8.10000038, -20.6000004]
Rotation: [-86.3000031, 0, -66]
Scale: [1, 1, 1]
- ID: 3
Name: Cube Yay 3
Components:
Mesh:
vao: 1
indexCount: 36
textureID: 4
Transform:
Position: [-1.20000005, -3.4000001, -17.7000008]
Rotation: [-23.5, 15.8999996, -59.9000015]
Scale: [1, 1, 1]
- ID: 4
Name: Cube Yay 4
Components:
Mesh:
vao: 1
indexCount: 36
textureID: 5
Transform:
Position: [8.10000038, 0.800000012, -12]
Rotation: [-17.2999992, -16.1000004, -19.2999992]
Scale: [1, 1, 1]
- ID: 5
Name: Cube Yay 5
Components:
Transform:
Position: [-6.80000019, 2.70000005, -13.8000002]
Rotation: [-39.7000008, 0, -33.2000008]
Scale: [1, 1, 1]
Mesh:
vao: 1
indexCount: 36
textureID: 6
- ID: 6
Name: Cube Yay 6
Components:
Mesh:
vao: 1
indexCount: 36
textureID: 3
Transform:
Position: [-6.5, -6, -18]
Rotation: [15.8000002, -18.2000008, -11.1000004]
Scale: [1, 1, 1]
- ID: 7
Name: Cube Yay 7
Components:
Mesh:
vao: 1
indexCount: 36
textureID: 4
Transform:
Position: [6.5, 1.79999995, -23.8999996]
Rotation: [-16.1000004, -15.8999996, -35]
Scale: [1, 1, 1]
- ID: 8
Name: Cube Yay 8
Components:
Mesh:
vao: 1
indexCount: 36
textureID: 1
Transform:
Position: [-7.80000019, 0.200000003, -29.7999992]
Rotation: [22.5, -34.2999992, 0]
Scale: [1, 1, 1]
- ID: 9
Name: Cube Yay 9
Components:
Mesh:
vao: 1
indexCount: 36
textureID: 2
MeshPath: assets/models/DefaultMesh.obj
- ID: 2
Name: Cube Yay 2
Components:
Transform:
Position: [7.80000019, -8.10000038, -20.6000004]
Rotation: [-86.3000031, 0, -66]
Scale: [1, 1, 1]
Mesh:
vao: 1
indexCount: 36
textureID: 3
MeshPath: assets/models/DefaultMesh.obj
- ID: 3
Name: Cube Yay 3
Components:
Transform:
Position: [-1.20000005, -3.4000001, -17.7000008]
Rotation: [-23.5, 15.8999996, -59.9000015]
Scale: [1, 1, 1]
Mesh:
vao: 1
indexCount: 36
textureID: 4
MeshPath: assets/models/DefaultMesh.obj
- ID: 4
Name: Cube Yay 4
Components:
Transform:
Position: [8.10000038, 0.800000012, -12]
Rotation: [-17.2999992, -16.1000004, -19.2999992]
Scale: [1, 1, 1]
Mesh:
vao: 1
indexCount: 36
textureID: 5
MeshPath: assets/models/DefaultMesh.obj
- ID: 5
Name: Colormap
Components:
Mesh:
vao: 1
indexCount: 36
textureID: 6
MeshPath: assets/models/DefaultMesh.obj
Transform:
Position: [-6.80000019, 2.70000005, -13.8000002]
Rotation: [-39.7000008, 0, -33.2000008]
Scale: [1, 1, 1]
- ID: 6
Name: Cube Yay 6
Components:
Transform:
Position: [-6.5, -6, -18]
Rotation: [15.8000002, -18.2000008, -11.1000004]
Scale: [1, 1, 1]
Mesh:
vao: 1
indexCount: 36
textureID: 3
MeshPath: assets/models/DefaultMesh.obj
- ID: 7
Name: Cube Yay 7
Components:
Transform:
Position: [6.5, 1.79999995, -23.8999996]
Rotation: [-16.1000004, -15.8999996, -35]
Scale: [1, 1, 1]
Mesh:
vao: 1
indexCount: 36
textureID: 4
MeshPath: assets/models/DefaultMesh.obj
- ID: 8
Name: Cube Yay 8
Components:
Transform:
Position: [-7.80000019, 0.200000003, -29.7999992]
Rotation: [22.5, -32.7999992, 0]
Scale: [1, 1, 1]
Mesh:
vao: 1
indexCount: 36
textureID: 1
MeshPath: assets/models/DefaultMesh.obj
- ID: 9
Name: Cube Yay 9
Components:
Transform:
Position: [5.5, -2.9000001, -19.5]
Rotation: [-41.4000015, -24.8999996, -52.2999992]
Scale: [1, 1, 1]
Rotation: [-41.4000015, -22.6000004, -52.2999992]
Scale: [1, 1, 1]
Mesh:
vao: 1
indexCount: 36
textureID: 2
MeshPath: assets/models/DefaultMesh.obj

View File

@ -69,7 +69,7 @@ void MeshComponent::Deserialize(const YAML::Node& node)
MeshPath = static_cast<std::string>(node["MeshPath"].as<std::string>());
g_AssetManager->DebugAssetMap();
#if 1
#if 0
DEBUG_PRINT("Loading Mesh: >%s<", MeshPath.c_str());

View File

@ -176,6 +176,9 @@ void MyEngine::Run()
g_AssetManager.loadAsset<GLuint>(AssetType::TEXTURE, "assets/textures/lush_grass.png");
g_AssetManager.loadAsset<GLuint>(AssetType::TEXTURE, "assets/textures/vegetation_tree_bark_40.png");
g_AssetManager.loadAsset<GLuint>(AssetType::TEXTURE, "assets/textures/sky.png");
// Load a model
Model* modelPtr = g_AssetManager.loadAsset<Model*>(AssetType::MODEL, "assets/models/LowPolyFiatUNO.obj");

View File

@ -333,6 +333,10 @@ void InspectorWindow::Show()
mesh->MeshPath = buffer;
}
}
float availableWidth = ImGui::GetContentRegionAvail().x;
ImGui::Image(mesh->textureID, ImVec2(availableWidth,availableWidth), ImVec2(0, 0), ImVec2(1, 1));
}
ImGui::Spacing();