Compare commits
118 Commits
fastgltf
...
565c91b276
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
565c91b276 | ||
|
|
fec9286dee | ||
|
|
9f83ac816a | ||
|
|
076fe75409 | ||
|
|
913d1437c0 | ||
|
|
edd6b2f19e | ||
|
|
1a5dc70632 | ||
|
|
037aefc711 | ||
|
|
61bc9f032d | ||
|
|
b1b283f4c6 | ||
|
|
2fa9c3780d | ||
|
|
c99c89d26a | ||
|
|
b02fc33da3 | ||
|
|
9005863300 | ||
|
|
60a1683255 | ||
|
|
e85781c29e | ||
|
|
580c05c37b | ||
|
|
2c7bb51658 | ||
|
|
3f80057682 | ||
|
|
8f868529f8 | ||
|
|
8e6da66609 | ||
|
|
ae4e81c937 | ||
|
|
ed1dc1eed9 | ||
|
|
50dc6c8195 | ||
|
|
bbbe7adb3a | ||
|
|
09a70ab98d | ||
|
|
84c0733a77 | ||
|
|
2f1bb884d7 | ||
|
|
9d36bfd13f | ||
|
|
734caada6c | ||
|
|
3ae209819a | ||
|
|
e3678118b4 | ||
|
|
d654c99a8e | ||
|
|
ee4729d31e | ||
|
|
32746e7f95 | ||
|
|
dac1551039 | ||
|
|
9a395bd741 | ||
|
|
e106427ebc | ||
|
|
6a858f49e6 | ||
|
|
87af2e752e | ||
|
|
959728aee3 | ||
|
|
ad63b7d9ed | ||
|
|
d898960494 | ||
|
|
073bb47586 | ||
|
|
0abc3dbfab | ||
|
|
820442c4d6 | ||
|
|
9145e739ba | ||
|
|
988f7f8805 | ||
|
|
e4dcfeccb9 | ||
|
|
c808fe2903 | ||
|
|
f603d3b58f | ||
|
|
1a312832ea | ||
|
|
85c45f0929 | ||
|
|
6abfe9f27b | ||
|
|
a84b35c105 | ||
|
|
8db8ca679e | ||
|
|
83bb2c6932 | ||
|
|
4d5c9fc614 | ||
|
|
c9c0a328dc | ||
|
|
7ab3e7434a | ||
|
|
fe4b54699b | ||
|
|
b69f9c5305 | ||
|
|
adc6676dc9 | ||
|
|
43c66d887b | ||
|
|
6970df2ead | ||
|
|
b24578ad70 | ||
|
|
2463a5f001 | ||
|
|
697ae61109 | ||
|
|
e20853fdb1 | ||
|
|
55437f397e | ||
|
|
729abc17f0 | ||
|
|
42090a5d47 | ||
|
|
88ea35ab67 | ||
|
|
a6a3340334 | ||
|
|
73a82a00b4 | ||
|
|
7d7b09df55 | ||
|
|
9fc3422913 | ||
|
|
f053f23ed6 | ||
|
|
8b093603f5 | ||
|
|
27365835fa | ||
|
|
04ce3f4b8f | ||
|
|
15a137644f | ||
|
|
9add74afa8 | ||
|
|
7b6afc5240 | ||
|
|
2b0b81b2c8 | ||
|
|
0d9dcfd541 | ||
|
|
772b219caa | ||
|
|
be57a1fc16 | ||
|
|
67a42e5685 | ||
|
|
6ace0bac91 | ||
|
|
9b2d5bf35a | ||
|
|
378d4c58a9 | ||
|
|
c5d650cf6b | ||
|
|
709fb3141b | ||
|
|
3e96b676da | ||
|
|
f761718957 | ||
|
|
b72206b531 | ||
|
|
ca74942001 | ||
|
|
57a15752c7 | ||
|
|
5c5f55ec16 | ||
|
|
25d82d6689 | ||
|
|
2e3f7c9e20 | ||
|
|
0001e7e023 | ||
|
|
d3a0e88eb0 | ||
|
|
752d556204 | ||
|
|
94529460e2 | ||
|
|
37864d6d37 | ||
|
|
54c083ccda | ||
|
|
44910bd3f8 | ||
|
|
b4f4aa010e | ||
|
|
521ee17daf | ||
|
|
2175b60990 | ||
|
|
ebb179ec68 | ||
|
|
ee8841b6d4 | ||
|
|
464ab70c46 | ||
|
|
1eda916f3e | ||
|
|
7da00008e0 | ||
|
|
f26ee2bca8 |
4
.envrc
Normal file
4
.envrc
Normal file
@@ -0,0 +1,4 @@
|
||||
export CC=clang
|
||||
export CXX=clang++
|
||||
export COMPILE_COMMANDS=ON
|
||||
export BUILD_TYPE=Debug
|
||||
6
.gitmodules
vendored
Normal file
6
.gitmodules
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
[submodule "vendor/ImGuizmo"]
|
||||
path = vendor/ImGuizmo
|
||||
url = https://github.com/CedricGuillemet/ImGuizmo
|
||||
[submodule "open_engine/vendor/nativefiledialog-extended"]
|
||||
path = open_engine/vendor/nativefiledialog-extended
|
||||
url = https://github.com/btzy/nativefiledialog-extended
|
||||
140
.onedev-buildspec.yml
Normal file
140
.onedev-buildspec.yml
Normal file
@@ -0,0 +1,140 @@
|
||||
version: 46
|
||||
jobs:
|
||||
- name: Push to Gitea
|
||||
steps:
|
||||
- type: PushRepository
|
||||
name: Push to Gitea
|
||||
remoteUrl: https://gitea.anfer.fr/anfer/OpenEngine
|
||||
passwordSecret: Gitea
|
||||
force: false
|
||||
condition: SUCCESSFUL
|
||||
optional: false
|
||||
jobExecutor: terra-executor
|
||||
triggers:
|
||||
- type: BranchUpdateTrigger
|
||||
branches: main
|
||||
paths: -.onedev-buildspec.yml
|
||||
userMatch: anyone
|
||||
projects: OpenEngine
|
||||
- type: TagCreateTrigger
|
||||
branches: main
|
||||
projects: OpenEngine
|
||||
retryCondition: never
|
||||
maxRetries: 3
|
||||
retryDelay: 30
|
||||
timeout: 14400
|
||||
- name: Compile for Linux
|
||||
steps:
|
||||
- type: CheckoutStep
|
||||
name: Checkout
|
||||
cloneCredential:
|
||||
type: DefaultCredential
|
||||
withLfs: false
|
||||
withSubmodules: false
|
||||
condition: SUCCESSFUL
|
||||
optional: false
|
||||
- type: SetupCacheStep
|
||||
name: conan-cache
|
||||
key: conan-cache-@file:./conanfile.txt@
|
||||
loadKeys:
|
||||
- conan-cache-@project_name@
|
||||
paths:
|
||||
- /root/.conan2
|
||||
uploadStrategy: UPLOAD_IF_NOT_HIT
|
||||
changeDetectionExcludes: /root/.conan2/p/*/dl /root/.conan2/logs
|
||||
condition: SUCCESSFUL
|
||||
optional: true
|
||||
- type: CommandStep
|
||||
name: Compile for Linux
|
||||
runInContainer: true
|
||||
image: erriss/erris-build_tools:V0.7
|
||||
interpreter:
|
||||
type: DefaultInterpreter
|
||||
commands: |
|
||||
#git clone --depth 1 https://github.com/dotnet/runtime.git
|
||||
#cd runtime
|
||||
#./build.sh -c Release -subset host
|
||||
|
||||
#cp artifacts/bin/native/net10.0-linux-Release-x64/nethost/libnethost.a /onedev-build/workspace/lib/
|
||||
|
||||
git submodule update --init --recursive
|
||||
|
||||
conan profile detect --force
|
||||
conan install . -c tools.system.package_manager:mode=install --output-folder=build --build=missing -s build_type=${BUILD_TYPE}
|
||||
|
||||
cmake -S . -G Ninja -B build -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DCMAKE_TOOLCHAIN_FILE=conan_toolchain.cmake
|
||||
|
||||
echo ====== Building =============================
|
||||
cmake --build build --config ${BUILD_TYPE}
|
||||
envVars:
|
||||
- name: BUILD_TYPE
|
||||
value: Debug
|
||||
- name: CC
|
||||
value: clang
|
||||
- name: CXX
|
||||
value: clang++
|
||||
useTTY: true
|
||||
condition: SUCCESSFUL
|
||||
optional: false
|
||||
- type: PublishArtifactStep
|
||||
name: Get build artifacts
|
||||
sourcePath: build
|
||||
artifacts: editor/* open_engine/*
|
||||
condition: SUCCESSFUL
|
||||
optional: false
|
||||
jobExecutor: luna-executor
|
||||
triggers:
|
||||
- type: BranchUpdateTrigger
|
||||
branches: main
|
||||
paths: -.onedev-buildspec.yml
|
||||
userMatch: anyone
|
||||
projects: OpenEngine
|
||||
retryCondition: never
|
||||
maxRetries: 3
|
||||
retryDelay: 30
|
||||
timeout: 14400
|
||||
- name: Release to Gitea
|
||||
steps:
|
||||
- type: CommandStep
|
||||
name: Release to Gitea
|
||||
runInContainer: true
|
||||
image: erriss/erris-build_tools:V0.8
|
||||
interpreter:
|
||||
type: DefaultInterpreter
|
||||
commands: |
|
||||
# 1. Create the Release metadata
|
||||
RELEASE_JSON=$(printf '{"tag_name":"v0.0.%s","target_commitish":"main","name":"Release v0.0.%s","body":"Automated build from OneDev","draft":false,"prerelease":false}' "$ONEDEV_BUILD_NUMBER" "$ONEDEV_BUILD_NUMBER")
|
||||
|
||||
curl -X 'POST' \
|
||||
"https://gitea.anfer.fr/api/v1/repos/anfer/OpenEngine/releases" \
|
||||
-H "Authorization: token @secret:Gitea@" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d "$RELEASE_JSON" > release_info.json
|
||||
|
||||
# 2. Extract the Release ID (using jq)
|
||||
RELEASE_ID=$(jq '.id' release_info.json)
|
||||
|
||||
# 3. Upload your binary (oe_editor)
|
||||
curl -X 'POST' \
|
||||
"https://gitea.anfer.fr/api/v1/repos/anfer/OpenEngine/releases/$RELEASE_ID/assets?name=oe_editor" \
|
||||
-H "Authorization: token @secret:Gitea@" \
|
||||
-H "Content-Type: multipart/form-data" \
|
||||
-F attachment=@@editor/oe_editor
|
||||
envVars:
|
||||
- name: ONEDEV_BUILD_NUMBER
|
||||
value: '1'
|
||||
useTTY: true
|
||||
condition: SUCCESSFUL
|
||||
optional: false
|
||||
jobExecutor: terra-executor
|
||||
triggers:
|
||||
- type: DependencyFinishedTrigger
|
||||
projects: OpenEngine
|
||||
jobDependencies:
|
||||
- jobName: Compile for Linux
|
||||
requireSuccessful: true
|
||||
artifacts: '**'
|
||||
retryCondition: never
|
||||
maxRetries: 3
|
||||
retryDelay: 30
|
||||
timeout: 14400
|
||||
@@ -1,4 +1,4 @@
|
||||
cmake_minimum_required(VERSION 3.28)
|
||||
cmake_minimum_required(VERSION 3.25.1)
|
||||
|
||||
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
||||
|
||||
|
||||
@@ -5,6 +5,10 @@ entt/3.16.0
|
||||
yaml-cpp/0.8.0
|
||||
joltphysics/5.2.0
|
||||
fastgltf/0.9.0
|
||||
glm/1.0.1
|
||||
glfw/3.4
|
||||
shaderc/2025.3
|
||||
spirv-cross/1.4.321.0
|
||||
|
||||
[generators]
|
||||
CMakeDeps
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
cmake_minimum_required(VERSION 3.28)
|
||||
cmake_minimum_required(VERSION 3.25.1)
|
||||
|
||||
set(CMAKE_CXX_STANDARD 20)
|
||||
|
||||
@@ -19,10 +19,25 @@ add_executable(${PROJECT_EXECUTABLE_NAME}
|
||||
${SRC_FILES}
|
||||
)
|
||||
|
||||
file(GLOB NETHOST_DIR_CANDIDATES
|
||||
"/usr/share/dotnet/packs/Microsoft.NETCore.App.Host.*-x64/*/runtimes/linux-x64/native"
|
||||
"/usr/share/dotnet/packs/Microsoft.NETCore.App.Host.*-x64/*/runtimes/arch-x64/native"
|
||||
)
|
||||
|
||||
# Pick the first match
|
||||
list(GET NETHOST_DIR_CANDIDATES 0 NETHOST_DIR)
|
||||
|
||||
if(NOT NETHOST_DIR)
|
||||
message(FATAL_ERROR "Could not find NETCore native directory")
|
||||
else()
|
||||
message(STATUS "Found nethost dir: ${NETHOST_DIR}")
|
||||
endif()
|
||||
|
||||
target_include_directories(${PROJECT_EXECUTABLE_NAME} PRIVATE
|
||||
"${PROJECT_SOURCE_DIR}/include"
|
||||
"${PROJECT_SOURCE_DIR}/editor/include"
|
||||
"/usr/include/freetype2/"
|
||||
"${NETHOST_DIR}"
|
||||
)
|
||||
|
||||
target_link_libraries(${PROJECT_EXECUTABLE_NAME} PRIVATE
|
||||
@@ -30,12 +45,12 @@ target_link_libraries(${PROJECT_EXECUTABLE_NAME} PRIVATE
|
||||
imgui::imgui
|
||||
open_engine
|
||||
dl
|
||||
nethost
|
||||
freetype
|
||||
EnTT::EnTT
|
||||
nethost
|
||||
)
|
||||
|
||||
target_link_directories(${PROJECT_EXECUTABLE_NAME} PRIVATE
|
||||
${PROJECT_SOURCE_DIR}/lib
|
||||
/usr/share/dotnet/packs/Microsoft.NETCore.App.Host.arch-x64/10.0.3/runtimes/arch-x64/native
|
||||
${CMAKE_SOURCE_DIR}/lib
|
||||
${NETHOST_DIR}
|
||||
)
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
#include "open_engine/renderer/renderer3d.hpp"
|
||||
#include "open_engine/scene/components.hpp"
|
||||
#include "panels/content_browser.hpp"
|
||||
#include "panels/models_panel.hpp"
|
||||
#include "panels/scene_hierarchy.hpp"
|
||||
|
||||
#include <Jolt/Physics/Collision/Shape/Shape.h>
|
||||
@@ -136,15 +137,18 @@ namespace OpenEngine {
|
||||
|
||||
Entity cube3 = scene->CreateEntity("glb");
|
||||
Entity cube4 = scene->CreateEntity("glb2");
|
||||
Entity cube5 = scene->CreateEntity("glb2");
|
||||
cube3.AddComponent<TransformComponent>();
|
||||
cube4.AddComponent<TransformComponent>();
|
||||
cube5.AddComponent<TransformComponent>();
|
||||
|
||||
Ref<Model3D> model = Model3D::Create("./assets/models/cubes.glb");
|
||||
Ref<Model3D> model2 = Model3D::Create("./assets/models/cube_legs.glb");
|
||||
Ref<Model3D> monkey = Model3D::Create("./assets/models/monkey.glb");
|
||||
|
||||
cube3.AddComponent<ModelComponent>(model);
|
||||
cube4.AddComponent<ModelComponent>(monkey);
|
||||
cube4.AddComponent<ModelComponent>(model2);
|
||||
cube5.AddComponent<ModelComponent>(monkey);
|
||||
|
||||
/*
|
||||
auto view = scene->GetRegistry().view<TagComponent>();
|
||||
@@ -582,6 +586,7 @@ namespace OpenEngine {
|
||||
DrawStats();
|
||||
scene_hierarchy.OnImGuiRender();
|
||||
browser.OnImGuiRender();
|
||||
ModelsPanelOnImGuiRender();
|
||||
DrawViewport();
|
||||
DrawPlayBar();
|
||||
|
||||
|
||||
@@ -5,9 +5,9 @@
|
||||
#include <open_engine.hpp>
|
||||
#include <unistd.h>
|
||||
|
||||
#include "/usr/share/dotnet/packs/Microsoft.NETCore.App.Host.arch-x64/10.0.3/runtimes/arch-x64/native/nethost.h"
|
||||
#include "/usr/share/dotnet/packs/Microsoft.NETCore.App.Host.arch-x64/10.0.3/runtimes/arch-x64/native/hostfxr.h"
|
||||
#include "/usr/share/dotnet/packs/Microsoft.NETCore.App.Host.arch-x64/10.0.3/runtimes/arch-x64/native/coreclr_delegates.h"
|
||||
#include <nethost.h>
|
||||
#include <hostfxr.h>
|
||||
#include <coreclr_delegates.h>
|
||||
|
||||
class Modding : public OpenEngine::Layer
|
||||
{
|
||||
|
||||
10
editor/include/panels/models_panel.hpp
Normal file
10
editor/include/panels/models_panel.hpp
Normal file
@@ -0,0 +1,10 @@
|
||||
#ifndef MODELS_PANEL_HPP
|
||||
#define MODELS_PANEL_HPP
|
||||
|
||||
namespace OpenEngine {
|
||||
|
||||
void ModelsPanelOnImGuiRender();
|
||||
|
||||
}
|
||||
|
||||
#endif // MODELS_PANEL_HPP
|
||||
@@ -304,9 +304,7 @@ namespace OpenEngine {
|
||||
bool opened = ImGui::TreeNodeEx(
|
||||
(void*)(intptr_t)entity,
|
||||
ImGuiTreeNodeFlags_None,
|
||||
"Meshes",
|
||||
nullptr
|
||||
);
|
||||
"Meshes");
|
||||
|
||||
if (opened) {
|
||||
unsigned int i = 0;
|
||||
|
||||
20
editor/src/panels/models_panel.cpp
Normal file
20
editor/src/panels/models_panel.cpp
Normal file
@@ -0,0 +1,20 @@
|
||||
#include <panels/models_panel.hpp>
|
||||
#include <open_engine.hpp>
|
||||
|
||||
#include "imgui.h"
|
||||
#include <vector>
|
||||
|
||||
namespace OpenEngine {
|
||||
|
||||
static std::vector<Ref<Model3D>> temp_model_list;
|
||||
|
||||
void ModelsPanelOnImGuiRender()
|
||||
{
|
||||
ImGui::Begin("Models");
|
||||
|
||||
|
||||
|
||||
ImGui::End();
|
||||
}
|
||||
|
||||
}
|
||||
34
imgui.ini
34
imgui.ini
@@ -1,6 +1,6 @@
|
||||
[Window][WindowOverViewport_11111111]
|
||||
Pos=0,24
|
||||
Size=1272,1363
|
||||
Size=2560,1371
|
||||
Collapsed=0
|
||||
|
||||
[Window][Debug##Default]
|
||||
@@ -10,31 +10,31 @@ Collapsed=0
|
||||
|
||||
[Window][Statistics]
|
||||
Pos=0,24
|
||||
Size=409,437
|
||||
Size=409,439
|
||||
Collapsed=0
|
||||
DockId=0x00000003,0
|
||||
|
||||
[Window][Properties]
|
||||
Pos=822,24
|
||||
Size=450,805
|
||||
Pos=2110,24
|
||||
Size=450,810
|
||||
Collapsed=0
|
||||
DockId=0x00000007,0
|
||||
|
||||
[Window][Viewport]
|
||||
Pos=411,61
|
||||
Size=409,956
|
||||
Size=1697,964
|
||||
Collapsed=0
|
||||
DockId=0x00000012,0
|
||||
|
||||
[Window][Dear ImGui Demo]
|
||||
Pos=822,831
|
||||
Size=450,556
|
||||
Pos=2110,836
|
||||
Size=450,559
|
||||
Collapsed=0
|
||||
DockId=0x00000008,0
|
||||
|
||||
[Window][Scene]
|
||||
Pos=0,463
|
||||
Size=409,924
|
||||
Pos=0,465
|
||||
Size=409,930
|
||||
Collapsed=0
|
||||
DockId=0x00000004,0
|
||||
|
||||
@@ -143,8 +143,8 @@ Collapsed=0
|
||||
DockId=0x00000012,1
|
||||
|
||||
[Window][Assets]
|
||||
Pos=411,1019
|
||||
Size=409,368
|
||||
Pos=411,1027
|
||||
Size=1697,368
|
||||
Collapsed=0
|
||||
DockId=0x0000000C,0
|
||||
|
||||
@@ -156,12 +156,18 @@ DockId=0x0000000F,0
|
||||
|
||||
[Window][##play_state_bar]
|
||||
Pos=411,24
|
||||
Size=409,35
|
||||
Size=1697,35
|
||||
Collapsed=0
|
||||
DockId=0x00000011,0
|
||||
|
||||
[Window][Models]
|
||||
Pos=411,1027
|
||||
Size=1697,368
|
||||
Collapsed=0
|
||||
DockId=0x0000000C,1
|
||||
|
||||
[Docking][Data]
|
||||
DockSpace ID=0x08BD597D Window=0x1BBC0F80 Pos=0,24 Size=1272,1363 Split=X
|
||||
DockSpace ID=0x08BD597D Window=0x1BBC0F80 Pos=0,24 Size=2560,1371 Split=X
|
||||
DockNode ID=0x00000005 Parent=0x08BD597D SizeRef=820,1386 Split=X
|
||||
DockNode ID=0x00000001 Parent=0x00000005 SizeRef=409,1386 Split=Y Selected=0xE601B12F
|
||||
DockNode ID=0x00000003 Parent=0x00000001 SizeRef=255,417 Selected=0x553E127E
|
||||
@@ -175,7 +181,7 @@ DockSpace ID=0x08BD597D Window=0x1BBC0F80 Pos=0,24 Size=1272,1363
|
||||
DockNode ID=0x00000011 Parent=0x00000010 SizeRef=594,35 HiddenTabBar=1 Selected=0xAB37695D
|
||||
DockNode ID=0x00000012 Parent=0x00000010 SizeRef=594,964 CentralNode=1 Selected=0xC450F867
|
||||
DockNode ID=0x0000000E Parent=0x0000000B SizeRef=800,993 Selected=0x3EEA4247
|
||||
DockNode ID=0x0000000C Parent=0x00000009 SizeRef=409,368 Selected=0x42C24103
|
||||
DockNode ID=0x0000000C Parent=0x00000009 SizeRef=409,368 Selected=0xEAE75860
|
||||
DockNode ID=0x0000000A Parent=0x00000002 SizeRef=483,600 Selected=0x1BCA3180
|
||||
DockNode ID=0x00000006 Parent=0x08BD597D SizeRef=450,1386 Split=Y Selected=0x8C72BEA8
|
||||
DockNode ID=0x00000007 Parent=0x00000006 SizeRef=444,805 Selected=0x8C72BEA8
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
cmake_minimum_required(VERSION 3.28)
|
||||
cmake_minimum_required(VERSION 3.25.1)
|
||||
|
||||
set(CMAKE_CXX_STANDARD 23)
|
||||
|
||||
@@ -14,6 +14,12 @@ find_package(imgui REQUIRED)
|
||||
find_package(EnTT REQUIRED)
|
||||
find_package(yaml-cpp REQUIRED)
|
||||
find_package(Jolt REQUIRED)
|
||||
find_package(fastgltf REQUIRED)
|
||||
find_package(spdlog REQUIRED)
|
||||
find_package(glm REQUIRED)
|
||||
find_package(glfw3 REQUIRED)
|
||||
find_package(shaderc REQUIRED)
|
||||
find_package(spirv-cross REQUIRED)
|
||||
|
||||
file(GLOB_RECURSE SRC_FILES "src/*.cpp")
|
||||
file(GLOB IMGUIZMO_SRC_FILES "${CMAKE_SOURCE_DIR}/vendor/ImGuizmo/*.cpp")
|
||||
@@ -34,7 +40,7 @@ target_include_directories(${PROJECT_EXECUTABLE_NAME} PRIVATE
|
||||
|
||||
target_include_directories(${PROJECT_EXECUTABLE_NAME} PUBLIC
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/include"
|
||||
"/home/erris/.conan2/p/b/imguic69fe98538919/p/include"
|
||||
#"/home/erris/.conan2/p/b/imguic69fe98538919/p/include"
|
||||
"vendor/nativefiledialog-extended/src/include"
|
||||
"${CMAKE_SOURCE_DIR}/vendor/ImGuizmo"
|
||||
)
|
||||
@@ -44,16 +50,16 @@ target_include_directories(${PROJECT_EXECUTABLE_NAME} PUBLIC
|
||||
|
||||
target_link_libraries(${PROJECT_EXECUTABLE_NAME} PUBLIC
|
||||
imgui::imgui
|
||||
spdlog
|
||||
spdlog::spdlog
|
||||
glad
|
||||
glfw
|
||||
glm
|
||||
glm::glm
|
||||
dl
|
||||
EnTT::EnTT
|
||||
X11
|
||||
yaml-cpp::yaml-cpp
|
||||
nfd
|
||||
shaderc_combined
|
||||
shaderc::shaderc
|
||||
glslang
|
||||
glslang-default-resource-limits
|
||||
SPIRV
|
||||
@@ -63,6 +69,7 @@ target_link_libraries(${PROJECT_EXECUTABLE_NAME} PUBLIC
|
||||
spirv-cross-glsl
|
||||
spirv-cross-reflect
|
||||
Jolt::Jolt
|
||||
fastgltf::fastgltf
|
||||
)
|
||||
|
||||
#target_link_directories(${PROJECT_EXECUTABLE_NAME} PRIVATE
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
#include "open_engine/renderer/renderer2d.hpp"
|
||||
#include "open_engine/renderer/renderer3d.hpp"
|
||||
#include "open_engine/renderer/renderer.hpp"
|
||||
#include <open_engine/renderer/model3d.hpp>
|
||||
#include "open_engine/renderer/texture.hpp"
|
||||
#include "open_engine/renderer/buffer.hpp"
|
||||
#include "open_engine/renderer/shader.hpp"
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
|
||||
#include "open_engine/logging.hpp"
|
||||
|
||||
#include <iomanip>
|
||||
#include <mutex>
|
||||
#include <sstream>
|
||||
#include <string>
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
#ifndef PCH_HPP
|
||||
#define PCH_HPP
|
||||
|
||||
#include "open_engine/logging.hpp"
|
||||
#include <open_engine/logging.hpp>
|
||||
#include <shaderc/shaderc.hpp>
|
||||
|
||||
#include <functional>
|
||||
|
||||
|
||||
@@ -1,220 +0,0 @@
|
||||
let SessionLoad = 1
|
||||
let s:so_save = &g:so | let s:siso_save = &g:siso | setg so=0 siso=0 | setl so=-1 siso=-1
|
||||
let v:this_session=expand("<sfile>:p")
|
||||
silent only
|
||||
silent tabonly
|
||||
cd ~/projects/open_engine/open_engine
|
||||
if expand('%') == '' && !&modified && line('$') <= 1 && getline(1) == ''
|
||||
let s:wipebuf = bufnr('%')
|
||||
endif
|
||||
let s:shortmess_save = &shortmess
|
||||
if &shortmess =~ 'A'
|
||||
set shortmess=aoOA
|
||||
else
|
||||
set shortmess=aoO
|
||||
endif
|
||||
badd +1 ~/projects/open_engine/open_engine
|
||||
badd +170 ~/projects/open_engine/open_engine/src/open_engine/imgui/imgui_layer.cpp
|
||||
badd +4 ~/projects/open_engine/open_engine/include/open_engine/opengl/imgui_glfw.h
|
||||
badd +35 ~/projects/open_engine/open_engine/include/open_engine/opengl/imgui_opengl.h
|
||||
badd +23 ~/projects/open_engine/open_engine/src/open_engine/application.cpp
|
||||
badd +47 ~/projects/open_engine/open_engine/CMakeLists.txt
|
||||
badd +12 ~/projects/open_engine/open_engine/include/open_engine/imgui/imgui_layer.hpp
|
||||
badd +123 ~/projects/open_engine/open_engine/src/open_engine/opengl/imgui_opengl.cpp
|
||||
badd +89 ~/.conan2/p/b/imgui15e51a8fb5246/p/include/imgui.h
|
||||
badd +7 ~/projects/open_engine/open_engine/.envrc
|
||||
badd +5 ~/projects/open_engine/open_engine/include/open_engine/core.hpp
|
||||
badd +11 ~/.conan2/p/b/imgui15e51a8fb5246/p/include/imgui_export_headers.h
|
||||
badd +1 ~/projects/open_engine/open_engine/src/open_engine/opengl/build_opengl.cpp
|
||||
badd +4 ~/projects/open_engine/open_engine/src/open_engine/opengl/imgui_build.cpp
|
||||
badd +1 ~/projects/open_engine/open_engine/conanfile.txt
|
||||
badd +1 ~/projects/open_engine/open_engine/build/imguiTargets.cmake
|
||||
badd +8 ~/projects/open_engine/open_engine/include/open_engine/logging.hpp
|
||||
badd +4 ~/projects/open_engine/open_engine/src/open_engine/logging.cpp
|
||||
badd +110 ~/projects/open_engine/open_engine/src/open_engine/opengl/imgui_glfw.cpp
|
||||
badd +1 ~/projects/open_engine/open_engine/include/open_engine/application.hpp
|
||||
badd +21 ~/projects/open_engine/open_engine/src/open_engine/window/linux_window.cpp
|
||||
badd +24 ~/projects/open_engine/open_engine/include/open_engine/window/window.hpp
|
||||
badd +27 ~/projects/open_engine/open_engine/include/open_engine/window/linux_window.hpp
|
||||
badd +7 ~/projects/open_engine/open_engine/include/open_engine/renderer/GraphicsContext.hpp
|
||||
badd +12 ~/projects/open_engine/open_engine/include/open_engine/opengl/opengl_context.hpp
|
||||
badd +10 ~/projects/open_engine/open_engine/src/open_engine/input/linux_input.cpp
|
||||
badd +17 ~/projects/open_engine/open_engine/src/open_engine/opengl/opengl_context.cpp
|
||||
badd +3295 ~/projects/open_engine/open_engine/vendor/glad/include/glad/glad.h
|
||||
badd +148 ~/projects/open_engine/open_engine/vendor/glad/src/glad/glad.c
|
||||
badd +13 ~/projects/open_engine/open_engine/include/open_engine/renderer/graphics_context.hpp
|
||||
badd +80 ~/projects/open_engine/open_engine/src/open_engine/opengl/opengl_shader.cpp
|
||||
badd +8 ~/projects/open_engine/open_engine/include/open_engine/opengl/opengl_shader.hpp
|
||||
badd +8 ~/projects/open_engine/open_engine/include/open_engine/renderer/shader.hpp
|
||||
badd +1 ~/projects/open_engine/open_engine/src/open_engine/renderer/shader.cpp
|
||||
badd +1 ~/projects/open_engine/open_engine/include/open_engine/pch.hpp
|
||||
badd +3 ~/projects/open_engine/open_engine/assets/shaders/fragment.frag.old
|
||||
badd +1 ~/projects/open_engine/open_engine/assets/shaders/fragment.frag
|
||||
badd +5 ~/projects/open_engine/open_engine/assets/shaders/vertex.vert
|
||||
badd +1 ~/projects/open_engine/open_engine/\'
|
||||
badd +66 ~/projects/open_engine/open_engine/include/open_engine/renderer/buffer.hpp
|
||||
badd +56 ~/projects/open_engine/open_engine/src/open_engine/renderer/buffer.cpp
|
||||
badd +18 ~/projects/open_engine/open_engine/include/open_engine/opengl/opengl_buffer.hpp
|
||||
badd +34 ~/projects/open_engine/open_engine/src/open_engine/opengl/opengl_buffer.cpp
|
||||
badd +2 ~/projects/open_engine/open_engine/src/open_engine/renderer/renderer.cpp
|
||||
badd +5 ~/projects/open_engine/open_engine/include/open_engine/renderer/renderer.hpp
|
||||
badd +1 ~/projects/open_engine/open_engine/src/open_engine/layer.cpp
|
||||
badd +12 ~/projects/open_engine/open_engine/include/open_engine/layer.hpp
|
||||
badd +21 ~/projects/open_engine/open_engine/include/open_engine/events/event.hpp
|
||||
badd +11 ~/projects/open_engine/open_engine/src/open_engine/renderer/vertex_array.cpp
|
||||
badd +8 ~/projects/open_engine/open_engine/include/open_engine/renderer/vertex_array.hpp
|
||||
badd +27 ~/projects/open_engine/open_engine/src/open_engine/layer_stack.cpp
|
||||
badd +1 ~/projects/open_engine/open_engine/include/open_engine/layer_stack.hpp
|
||||
argglobal
|
||||
%argdel
|
||||
$argadd ~/projects/open_engine/open_engine
|
||||
set stal=2
|
||||
tabnew +setlocal\ bufhidden=wipe
|
||||
tabrewind
|
||||
edit ~/projects/open_engine/open_engine/include/open_engine/renderer/vertex_array.hpp
|
||||
let s:save_splitbelow = &splitbelow
|
||||
let s:save_splitright = &splitright
|
||||
set splitbelow splitright
|
||||
wincmd _ | wincmd |
|
||||
vsplit
|
||||
1wincmd h
|
||||
wincmd w
|
||||
let &splitbelow = s:save_splitbelow
|
||||
let &splitright = s:save_splitright
|
||||
wincmd t
|
||||
let s:save_winminheight = &winminheight
|
||||
let s:save_winminwidth = &winminwidth
|
||||
set winminheight=0
|
||||
set winheight=1
|
||||
set winminwidth=0
|
||||
set winwidth=1
|
||||
exe 'vert 1resize ' . ((&columns * 127 + 127) / 255)
|
||||
exe 'vert 2resize ' . ((&columns * 127 + 127) / 255)
|
||||
argglobal
|
||||
setlocal foldmethod=manual
|
||||
setlocal foldexpr=0
|
||||
setlocal foldmarker={{{,}}}
|
||||
setlocal foldignore=#
|
||||
setlocal foldlevel=0
|
||||
setlocal foldminlines=1
|
||||
setlocal foldnestmax=20
|
||||
setlocal foldenable
|
||||
silent! normal! zE
|
||||
let &fdl = &fdl
|
||||
let s:l = 8 - ((7 * winheight(0) + 13) / 27)
|
||||
if s:l < 1 | let s:l = 1 | endif
|
||||
keepjumps exe s:l
|
||||
normal! zt
|
||||
keepjumps 8
|
||||
normal! 0
|
||||
lcd ~/projects/open_engine/open_engine
|
||||
wincmd w
|
||||
argglobal
|
||||
if bufexists(fnamemodify("~/projects/open_engine/open_engine/include/open_engine/renderer/vertex_array.hpp", ":p")) | buffer ~/projects/open_engine/open_engine/include/open_engine/renderer/vertex_array.hpp | else | edit ~/projects/open_engine/open_engine/include/open_engine/renderer/vertex_array.hpp | endif
|
||||
if &buftype ==# 'terminal'
|
||||
silent file ~/projects/open_engine/open_engine/include/open_engine/renderer/vertex_array.hpp
|
||||
endif
|
||||
setlocal foldmethod=manual
|
||||
setlocal foldexpr=0
|
||||
setlocal foldmarker={{{,}}}
|
||||
setlocal foldignore=#
|
||||
setlocal foldlevel=0
|
||||
setlocal foldminlines=1
|
||||
setlocal foldnestmax=20
|
||||
setlocal foldenable
|
||||
silent! normal! zE
|
||||
let &fdl = &fdl
|
||||
let s:l = 1 - ((0 * winheight(0) + 13) / 27)
|
||||
if s:l < 1 | let s:l = 1 | endif
|
||||
keepjumps exe s:l
|
||||
normal! zt
|
||||
keepjumps 1
|
||||
normal! 0
|
||||
lcd ~/projects/open_engine/open_engine
|
||||
wincmd w
|
||||
exe 'vert 1resize ' . ((&columns * 127 + 127) / 255)
|
||||
exe 'vert 2resize ' . ((&columns * 127 + 127) / 255)
|
||||
tabnext
|
||||
edit ~/projects/open_engine/open_engine/assets/shaders/fragment.frag
|
||||
let s:save_splitbelow = &splitbelow
|
||||
let s:save_splitright = &splitright
|
||||
set splitbelow splitright
|
||||
wincmd _ | wincmd |
|
||||
vsplit
|
||||
1wincmd h
|
||||
wincmd w
|
||||
let &splitbelow = s:save_splitbelow
|
||||
let &splitright = s:save_splitright
|
||||
wincmd t
|
||||
let s:save_winminheight = &winminheight
|
||||
let s:save_winminwidth = &winminwidth
|
||||
set winminheight=0
|
||||
set winheight=1
|
||||
set winminwidth=0
|
||||
set winwidth=1
|
||||
exe 'vert 1resize ' . ((&columns * 254 + 127) / 255)
|
||||
exe 'vert 2resize ' . ((&columns * 0 + 127) / 255)
|
||||
argglobal
|
||||
setlocal foldmethod=manual
|
||||
setlocal foldexpr=0
|
||||
setlocal foldmarker={{{,}}}
|
||||
setlocal foldignore=#
|
||||
setlocal foldlevel=0
|
||||
setlocal foldminlines=1
|
||||
setlocal foldnestmax=20
|
||||
setlocal foldenable
|
||||
silent! normal! zE
|
||||
let &fdl = &fdl
|
||||
let s:l = 11 - ((8 * winheight(0) + 13) / 27)
|
||||
if s:l < 1 | let s:l = 1 | endif
|
||||
keepjumps exe s:l
|
||||
normal! zt
|
||||
keepjumps 11
|
||||
normal! 020|
|
||||
lcd ~/projects/open_engine/open_engine
|
||||
wincmd w
|
||||
argglobal
|
||||
if bufexists(fnamemodify("~/projects/open_engine/open_engine/assets/shaders/vertex.vert", ":p")) | buffer ~/projects/open_engine/open_engine/assets/shaders/vertex.vert | else | edit ~/projects/open_engine/open_engine/assets/shaders/vertex.vert | endif
|
||||
if &buftype ==# 'terminal'
|
||||
silent file ~/projects/open_engine/open_engine/assets/shaders/vertex.vert
|
||||
endif
|
||||
balt ~/projects/open_engine/open_engine/assets/shaders/fragment.frag
|
||||
setlocal foldmethod=manual
|
||||
setlocal foldexpr=0
|
||||
setlocal foldmarker={{{,}}}
|
||||
setlocal foldignore=#
|
||||
setlocal foldlevel=0
|
||||
setlocal foldminlines=1
|
||||
setlocal foldnestmax=20
|
||||
setlocal foldenable
|
||||
silent! normal! zE
|
||||
let &fdl = &fdl
|
||||
let s:l = 12 - ((11 * winheight(0) + 13) / 27)
|
||||
if s:l < 1 | let s:l = 1 | endif
|
||||
keepjumps exe s:l
|
||||
normal! zt
|
||||
keepjumps 12
|
||||
normal! 022|
|
||||
lcd ~/projects/open_engine/open_engine
|
||||
wincmd w
|
||||
exe 'vert 1resize ' . ((&columns * 254 + 127) / 255)
|
||||
exe 'vert 2resize ' . ((&columns * 0 + 127) / 255)
|
||||
tabnext 1
|
||||
set stal=1
|
||||
if exists('s:wipebuf') && len(win_findbuf(s:wipebuf)) == 0 && getbufvar(s:wipebuf, '&buftype') isnot# 'terminal'
|
||||
silent exe 'bwipe ' . s:wipebuf
|
||||
endif
|
||||
unlet! s:wipebuf
|
||||
set winheight=1 winwidth=20
|
||||
let &shortmess = s:shortmess_save
|
||||
let &winminheight = s:save_winminheight
|
||||
let &winminwidth = s:save_winminwidth
|
||||
let s:sx = expand("<sfile>:p:r")."x.vim"
|
||||
if filereadable(s:sx)
|
||||
exe "source " . fnameescape(s:sx)
|
||||
endif
|
||||
let &g:so = s:so_save | let &g:siso = s:siso_save
|
||||
set hlsearch
|
||||
doautoall SessionLoadPost
|
||||
unlet SessionLoad
|
||||
" vim: set ft=vim :
|
||||
@@ -2,6 +2,7 @@
|
||||
#define SHADER_HPP
|
||||
|
||||
#include <open_engine/ref_scope.hpp>
|
||||
|
||||
#include <glm/glm.hpp>
|
||||
#include <string>
|
||||
|
||||
|
||||
@@ -6,14 +6,12 @@
|
||||
#include <core/time.hpp>
|
||||
#include <logging.hpp>
|
||||
|
||||
#include <shaderc/shaderc.hpp>
|
||||
#include <spirv_cross/spirv_cross.hpp>
|
||||
#include <spirv_cross/spirv_glsl.hpp>
|
||||
#include <glm/gtc/type_ptr.hpp>
|
||||
#include <glm/glm.hpp>
|
||||
#include <filesystem>
|
||||
#include <glad/glad.h>
|
||||
//#include <alloca.h>
|
||||
|
||||
namespace OpenEngine {
|
||||
|
||||
@@ -30,7 +28,7 @@ namespace OpenEngine {
|
||||
return 0;
|
||||
}
|
||||
|
||||
static shaderc_shader_kind GLShaderStageToShaderC(GLenum stage)
|
||||
static ::shaderc_shader_kind GLShaderStageToShaderC(GLenum stage)
|
||||
{
|
||||
switch (stage)
|
||||
{
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#include "core/uuid.hpp"
|
||||
#include "logging.hpp"
|
||||
#include "scene/scene_camera.hpp"
|
||||
#include <pch.hpp>
|
||||
@@ -19,6 +20,7 @@
|
||||
#include <cstdint>
|
||||
|
||||
#include <glad/glad.h>
|
||||
#include <vector>
|
||||
|
||||
namespace OpenEngine {
|
||||
|
||||
|
||||
2
open_engine/vendor/glad/CMakeLists.txt
vendored
2
open_engine/vendor/glad/CMakeLists.txt
vendored
@@ -1,4 +1,4 @@
|
||||
cmake_minimum_required(VERSION 3.28)
|
||||
cmake_minimum_required(VERSION 3.25.1)
|
||||
|
||||
set(CMAKE_CXX_STANDARD 20)
|
||||
|
||||
|
||||
1
open_engine/vendor/nativefiledialog-extended
vendored
Submodule
1
open_engine/vendor/nativefiledialog-extended
vendored
Submodule
Submodule open_engine/vendor/nativefiledialog-extended added at 74a6900e79
1
vendor/ImGuizmo
vendored
Submodule
1
vendor/ImGuizmo
vendored
Submodule
Submodule vendor/ImGuizmo added at a15acd87a3
Reference in New Issue
Block a user