Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

merge dev #19

Open
wants to merge 214 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
214 commits
Select commit Hold shift + click to select a range
6addd1e
remove old code
Hatrickek Dec 17, 2023
62bb62b
move components and entity files
Hatrickek Dec 17, 2023
ceef97b
faster material index lookup
Hatrickek Dec 17, 2023
016a280
improve mesh aabb calculations
Hatrickek Dec 17, 2023
ae9e3d0
sky multiscattered lut
Hatrickek Dec 20, 2023
97095a9
fix and improve sky rendering
Hatrickek Dec 25, 2023
8aa6085
add enkiTS
Hatrickek Dec 27, 2023
f3eebd9
parallelize shader/core loading
Hatrickek Dec 27, 2023
38f7de8
high dpi support work
Hatrickek Jan 2, 2024
e67ad73
bindlessness
Hatrickek Jan 7, 2024
0c7a051
add random
Hatrickek Jan 12, 2024
15c8f83
fix val errors
Hatrickek Jan 12, 2024
b421547
fix bugs
Hatrickek Jan 16, 2024
6cd7ed3
more fixes
Hatrickek Jan 16, 2024
7675f39
cmake set working dir, remove ctest targets
Hatrickek Jan 18, 2024
45c8fe4
better default window size
Hatrickek Jan 18, 2024
60ec3b2
handle dynamic textures
Hatrickek Jan 18, 2024
ad1b85e
more bindless, atmosphere ambient contribution
Hatrickek Jan 19, 2024
11d50eb
toml configs and sky env map
Hatrickek Jan 29, 2024
0e0024b
serialization work
Hatrickek Jan 31, 2024
c6a93ac
small bug fix
Hatrickek Jan 31, 2024
31ff749
serialize debug configs
Hatrickek Jan 31, 2024
2ac1041
use single set
Hatrickek Feb 1, 2024
71d2c39
some cleanup
Hatrickek Feb 1, 2024
97a1eca
change main lua function bindings, rename Ref and Scoped
Hatrickek Feb 3, 2024
6ae90d7
use vkb required features
Hatrickek Feb 4, 2024
89cfa65
lua audio bindings
Hatrickek Feb 4, 2024
b5ed473
change namespace to Ox
Hatrickek Feb 4, 2024
7f5c96d
download cpm from cmake
Hatrickek Feb 4, 2024
0fbbb73
lua mesh bindings
Hatrickek Feb 4, 2024
4fd562a
mesh colliders and lua camera bindings
Hatrickek Feb 5, 2024
39b4ba7
serialize mesh collider
Hatrickek Feb 5, 2024
502d13e
enable /bigobj
Hatrickek Feb 5, 2024
19acb16
lua physics bindings
Hatrickek Feb 5, 2024
5b0ec1c
use transformed aabb for physics shapes
Hatrickek Feb 5, 2024
98a30d5
lua debug and renderer bindings
Hatrickek Feb 6, 2024
381ceac
lua logging overloads
Hatrickek Feb 6, 2024
a4e4e50
more lua math bindings
Hatrickek Feb 7, 2024
1c637c2
fix shadows
Hatrickek Feb 7, 2024
71a01bd
lua aabb bindings
Hatrickek Feb 8, 2024
040fcd9
rp viewport offset
Hatrickek Feb 10, 2024
91b9179
application bindings
Hatrickek Feb 10, 2024
db92a38
lua dear imgui bindings
Hatrickek Feb 10, 2024
458a9ac
fix warnings and build
Hatrickek Feb 11, 2024
8832843
fix warnings
Hatrickek Feb 11, 2024
33521fd
handle transparent and opaque objects with sorting
Hatrickek Feb 11, 2024
4fd23ba
small material system overhaul
Hatrickek Feb 12, 2024
d668ea5
fix launcher not invalidating content manager
Hatrickek Feb 12, 2024
63b1ef4
use unordered_dense instead of std unordered_map
Hatrickek Feb 13, 2024
f27af73
use entt::meta
Hatrickek Feb 15, 2024
c462964
runtime modules support
Hatrickek Feb 16, 2024
a235278
module interface
Hatrickek Feb 16, 2024
65da8c7
don't use static runtime anymore
Hatrickek Feb 16, 2024
5b4d92c
remove redundant panels
Hatrickek Feb 17, 2024
3b76e5c
don't bind mesh class to lua
Hatrickek Feb 17, 2024
449764d
ignore mesh registers if no camera is present
Hatrickek Feb 17, 2024
4ebc829
Merge branch 'dev' of https://github.com/Hatrickek/Oxylus-Engine into…
Hatrickek Feb 17, 2024
8cba4c9
more math bindings
Hatrickek Feb 17, 2024
fc01f2f
cleanup runtime console and cvar system
Hatrickek Feb 19, 2024
1f77ca8
overhaul entity accessor class
Hatrickek Feb 20, 2024
82b474e
restructure header files to reduce build time
Hatrickek Feb 20, 2024
45d90f1
depth tested debug pass and more lua math bindigs
Hatrickek Feb 22, 2024
37faf6d
move project_new to editor
Hatrickek Feb 22, 2024
af726c0
module util
Hatrickek Feb 22, 2024
208abde
engine systems refactor
Hatrickek Feb 23, 2024
1396e6e
remove redundant path shenanigans
Hatrickek Feb 23, 2024
3f644ed
refactor relative and absolute path handling
Hatrickek Feb 23, 2024
14cd739
renderpipeline cleanup
Hatrickek Feb 24, 2024
98f0838
batched instanced rendering
Hatrickek Feb 24, 2024
1b7ad8b
use bda for mesh instances
Hatrickek Feb 26, 2024
14f7964
fix some shortcuts getting ignored
Hatrickek Feb 26, 2024
7f6405b
change font improve table rendering
Hatrickek Feb 27, 2024
29f7ca0
fix asset cleaner
Hatrickek Feb 27, 2024
1b9ddb3
editor focus on entity shortcut
Hatrickek Feb 28, 2024
f301cb3
small changes to entity debug ui and shadows
Hatrickek Feb 29, 2024
43c7625
better sol2 macros
Hatrickek Feb 29, 2024
159f0ac
add SPD fix + cubemap sampling
Hatrickek Mar 2, 2024
de1c9c0
fix sky envmap rendering
Hatrickek Mar 4, 2024
24830b1
material anistropic samplers
Hatrickek Mar 4, 2024
64e249a
script component now can own multiple scripts
Hatrickek Mar 5, 2024
23b8dc4
improve ui for script components
Hatrickek Mar 5, 2024
2965589
fix viewspace normals + open folder funcs
Hatrickek Mar 6, 2024
190f8a0
lower case namespace
Hatrickek Mar 7, 2024
d0ba7f5
depth alpha clipping
Hatrickek Mar 8, 2024
5531425
new shadow system + more renderer improvements
Hatrickek Mar 22, 2024
7373af1
run sky lut passes only once
Hatrickek Mar 22, 2024
c09a465
add archive + move fileutils + cleanup task scheduler
Hatrickek Mar 22, 2024
885f8de
switch to loguru from fmtlog
Hatrickek Mar 23, 2024
b19e8a1
glm as cpm package
Hatrickek Mar 24, 2024
71e9c9f
fix scratch buffer
Hatrickek Mar 24, 2024
860a557
add missing include
Hatrickek Mar 24, 2024
7ed7bdc
add velocity buffer
Hatrickek Mar 25, 2024
83876cf
fsr first pass
Hatrickek Mar 25, 2024
f7837f7
use hpp instead of h files
Hatrickek Mar 25, 2024
7c92da7
move renderer file
Hatrickek Mar 26, 2024
7ac1d77
use new-FE branch
Hatrickek Mar 26, 2024
0cc2cfb
new-fe port first pass
Hatrickek Mar 27, 2024
cdff074
second port pass
Hatrickek Mar 27, 2024
41cfca6
port rest
Hatrickek Mar 28, 2024
ef1c1e3
remove left over pushconst
Hatrickek Mar 28, 2024
5fd18a5
small fixes
Hatrickek Mar 28, 2024
b22eb5e
project panel skip option
Hatrickek Mar 30, 2024
9cf808b
use fork for fsr
Hatrickek Mar 30, 2024
69915a1
enable exceptions for MSVC explicitly
Hatrickek Mar 30, 2024
ed2472c
fix usage errors
Hatrickek Mar 31, 2024
3ffe7a2
fix final pipeline
Hatrickek Mar 31, 2024
accba57
fix imgui
Hatrickek Mar 31, 2024
ebb3a92
set debug names for textures
Hatrickek Mar 31, 2024
8d296f5
fix some layer issues
Hatrickek Mar 31, 2024
8b5486d
fix vel texture
Hatrickek Mar 31, 2024
2c442e5
fix bloom extent
Hatrickek Mar 31, 2024
8fe5c19
add fsr backend + small fixes
Hatrickek Apr 1, 2024
f829147
editor sandbox mod
Hatrickek Apr 3, 2024
4a6e246
runtime console overhaul (completion, history etc.)
Hatrickek Apr 3, 2024
54cd38b
clean redundant stuff
Hatrickek Apr 3, 2024
e4c18ca
fix build for latest vuk commit
Hatrickek Apr 3, 2024
dd735fb
tracy memory tracking
Hatrickek Apr 3, 2024
c3a2c95
handle image attachments for imgui images
Hatrickek Apr 4, 2024
f35ccff
fix tonemap and fxaa
Hatrickek Apr 6, 2024
1feea17
fix bloom
Hatrickek Apr 6, 2024
1a904e3
fix loading stencil pipeline
Hatrickek Apr 7, 2024
81262f5
disable cmake deprecation warnings
Hatrickek Apr 7, 2024
6036a61
sphere BV
Hatrickek Apr 7, 2024
cc10888
interop types
Hatrickek Apr 7, 2024
1dc557d
point light shadows + some refactor
Hatrickek Apr 7, 2024
7f8ca5c
sync fixes
Hatrickek Apr 7, 2024
3f760fc
more sparse compiler allocations
Hatrickek Apr 7, 2024
442d988
handle mip generation for textures + fixes
Hatrickek Apr 8, 2024
11a3fb6
rename remaining .h files
Hatrickek Apr 8, 2024
7832612
texture loading fixes
Hatrickek Apr 8, 2024
b8529fb
shadow pass fixes
Hatrickek Apr 8, 2024
28bf1f6
fix missing include
Hatrickek Apr 9, 2024
7366b2d
fix fsr shaders
Hatrickek Apr 9, 2024
fe41f52
deferred asset loading + asset loading indicators
Hatrickek Apr 9, 2024
8ebad73
update to Jolt 5
Hatrickek Apr 9, 2024
685c739
fix material indexing
Hatrickek Apr 9, 2024
424fa93
separate spd and fsr
Hatrickek Apr 10, 2024
9ea101c
fix missing fields in texture creation
Hatrickek Apr 10, 2024
f87b24e
fix and use spd
Hatrickek Apr 10, 2024
8c853a2
fix spd sampled mode + use 16 bit envmap
Hatrickek Apr 11, 2024
30be98a
fastgltf
Hatrickek Apr 16, 2024
4edae46
update to latest vuk commit + fs namespace
Hatrickek Apr 18, 2024
47fe041
hiz + more flexible spd + better gltf node handling
Hatrickek Apr 20, 2024
82d4a5d
meshlet based rendering first pass
Hatrickek Apr 26, 2024
201a120
second pass
Hatrickek Apr 26, 2024
81e8fd6
third pass
Hatrickek Apr 26, 2024
c9c54bd
cleanup
Hatrickek May 4, 2024
fd43dc4
fix triangle culling pass
Hatrickek May 5, 2024
705a9dd
sync fix
Hatrickek May 8, 2024
99c1f62
separate rw buffers + small fixes
Hatrickek May 8, 2024
c307c4b
fix sync
Hatrickek May 8, 2024
cab5329
fix some muls
Hatrickek May 9, 2024
f713d2a
debug aabb + packed scene data
Hatrickek May 9, 2024
bfa8d99
fix meshlet culling and some cleanup
Hatrickek May 10, 2024
a47f98d
fix derivates
Hatrickek May 10, 2024
25b78f7
smooth vertex output
Hatrickek May 11, 2024
66b92e6
fix normals
Hatrickek May 11, 2024
8f81ea0
add sky backdrop pass back
Hatrickek May 11, 2024
d3505d2
meshlet aabb debug cvar
Hatrickek May 12, 2024
3a5ffc5
pack vertex data
Hatrickek May 13, 2024
cdc04cc
fix hiz culling
Hatrickek May 18, 2024
3b9c058
handle resizing for hiz and fix sandbox layer update
Hatrickek May 18, 2024
31676d3
debug renderer pass + frustum freezing cvar
Hatrickek May 18, 2024
df3695c
remove old debug pass
Hatrickek May 18, 2024
bf6d038
instanced meshlets + better gltf to entity translation
Hatrickek May 24, 2024
6a3f131
merge new frontend
Hatrickek May 24, 2024
494779e
clang build and occlusion fix
Hatrickek Jun 21, 2024
d81e03c
enable bloom
Hatrickek Jun 22, 2024
5dbf993
bindless batched 2d pipeline
Hatrickek Jun 28, 2024
37bdc30
better transform component display
Hatrickek Jun 29, 2024
1f6996d
reorder bloom pass
Hatrickek Jul 1, 2024
13d6825
some ui rework
Hatrickek Jul 1, 2024
e1af518
sprite animation system
Hatrickek Jul 2, 2024
511016f
remove old shaders
Hatrickek Jul 4, 2024
dc71de7
jolt physics 2d support
Hatrickek Jul 5, 2024
fce96f4
cpp scripting
Hatrickek Jul 6, 2024
02f9429
unregister cpp systems func
Hatrickek Jul 6, 2024
3d8130e
hot reloadable cpp scripting
Hatrickek Jul 6, 2024
b908fac
cpp script serialization
Hatrickek Jul 7, 2024
536da2d
serialize sprite components
Hatrickek Jul 7, 2024
1e3f4f9
update to GLFW 3.4
Hatrickek Jul 7, 2024
0852661
share imgui context with module
Hatrickek Jul 7, 2024
ea0a60f
initial gamepad support
Hatrickek Jul 22, 2024
706d417
tilemap importing + isometric camera
Hatrickek Jul 22, 2024
ef99c76
sprite y/z sorting
Hatrickek Jul 24, 2024
74cf349
make input a esystem
Hatrickek Jul 27, 2024
4b26b53
relative path fixes
Hatrickek Jul 27, 2024
3653602
make assetmanager esystem
Hatrickek Jul 27, 2024
369dfb6
simple vfs system
Hatrickek Jul 28, 2024
05c3ed9
local vkcontext
Hatrickek Jul 28, 2024
cd16d68
cpp script stacking and better ui
Hatrickek Jul 31, 2024
18dd3cc
fix debug rendering
Hatrickek Aug 4, 2024
02b38ae
move jolthelpers
Hatrickek Aug 4, 2024
78a5fd3
physics as esystem
Hatrickek Aug 4, 2024
94ef5a9
move awake and sleep settings to be visible for every rb type
Hatrickek Aug 6, 2024
df189b0
make physics system accessors static
Hatrickek Aug 6, 2024
91296dd
move types out of ox namespace
Hatrickek Aug 6, 2024
d4dd49d
Revert "move types out of ox namespace"
Hatrickek Aug 6, 2024
ca3b0db
rename get_broad_phase -> get_broad_phase_query
Hatrickek Aug 6, 2024
e3a0175
get_body_interface_lock
Hatrickek Aug 6, 2024
96921ad
set body user data as the entity
Hatrickek Aug 6, 2024
de500f1
make physics constructors in scene public
Hatrickek Aug 6, 2024
211116e
set instance of physics
Hatrickek Aug 6, 2024
59e28b0
disable jolt custom allocator
Hatrickek Aug 6, 2024
43a5f0a
register types and factory of jolt per thread
Hatrickek Aug 6, 2024
61b0ecf
remove useless component ctors
Hatrickek Aug 6, 2024
04466b6
refactor debug renderer and use jolt interface
Hatrickek Aug 6, 2024
e50bf87
disable double buffering for debug renderer
Hatrickek Aug 7, 2024
feae0d2
sprite flip_x property
Hatrickek Aug 8, 2024
5a5b134
remove redundant check
Hatrickek Aug 10, 2024
dae10ac
input_text uses std::string now
Hatrickek Aug 10, 2024
52f01e9
update fastgltf
Hatrickek Aug 13, 2024
80779ab
update code for fastgltf
Hatrickek Aug 13, 2024
60094da
default window size option
Hatrickek Aug 13, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
81 changes: 81 additions & 0 deletions .clang-format
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
---
Language: Cpp
BasedOnStyle: LLVM
AlignConsecutiveShortCaseStatements:
Enabled: true
AcrossEmptyLines: true
AcrossComments: true
AlignCaseColons: true
AlignConsecutiveAssignments: false
AlignConsecutiveDeclarations: false
AlignOperands: AlignAfterOperator
AlignEscapedNewlines: Left
AlignAfterOpenBracket: Align
PackConstructorInitializers: CurrentLine
BracedInitializerIndentWidth: 2
BreakArrays: true
AlignTrailingComments:
Kind: Always
OverEmptyLines: 2
AllowShortFunctionsOnASingleLine: All
AllowShortLambdasOnASingleLine: All
AllowShortCaseLabelsOnASingleLine: true
AllowAllArgumentsOnNextLine: false
AllowAllParametersOfDeclarationOnNextLine: false
AllowShortIfStatementsOnASingleLine: false
DerivePointerAlignment: false
PointerAlignment: Left
QualifierAlignment: Left
BinPackParameters: false
BinPackArguments: false
BraceWrapping:
AfterCaseLabel: false
AfterClass: false
AfterControlStatement: false
AfterEnum: false
AfterFunction: false
AfterNamespace: false
AfterStruct: false
AfterUnion: false
AfterExternBlock: false
BeforeCatch: false
BeforeElse: false
BeforeLambdaBody: false
BeforeWhile: false
SplitEmptyFunction: false
SplitEmptyRecord: false
SplitEmptyNamespace: false
BreakBeforeBraces: Custom
# BreakAfterReturnType: Automatic # clang-format 19 feature
PenaltyReturnTypeOnItsOwnLine: 5000
PenaltyBreakAssignment: 5000
PenaltyBreakBeforeFirstCallParameter: 5000
PenaltyBreakOpenParenthesis: 5000
AlwaysBreakAfterReturnType: None
BreakBeforeTernaryOperators: true
BreakConstructorInitializers: AfterColon
BreakBeforeConceptDeclarations: Always
BreakAfterAttributes: Leave
AlwaysBreakTemplateDeclarations: true
Cpp11BracedListStyle: true
ColumnLimit: 150
ContinuationIndentWidth: 2
IncludeCategories:
- Regex: "^<.*"
Priority: 1
- Regex: '^".*'
Priority: 2
- Regex: ".*"
Priority: 3
IncludeIsMainRegex: "([-_](test|unittest))?$"
NamespaceIndentation: None
IndentCaseLabels: true
IndentPPDirectives: BeforeHash
SortUsingDeclarations: LexicographicNumeric
InsertNewlineAtEOF: true
LambdaBodyIndentation: OuterScope
MacroBlockBegin: ""
MacroBlockEnd: ""
MaxEmptyLinesToKeep: 1
SpacesInAngles: false
TabWidth: 2
4 changes: 2 additions & 2 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# These are supported funding model platforms

github: Hatrickek
patreon: hatrickek
patreon: # hatrickek
open_collective: # Replace with a single Open Collective username
ko_fi: #hatrickek
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
Expand All @@ -10,4 +10,4 @@ liberapay: # Replace with a single Liberapay username
issuehunt: # Replace with a single IssueHunt username
otechie: # Replace with a single Otechie username
lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry
custom: [https://kreosus.com/hatrickek] # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
custom: # [https://kreosus.com/hatrickek] Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# Prerequisites
*.d
*.bat
*.dll
*.cmake
*.toml
*.cap
*.ini

# Compiled Object files
*.slo
Expand Down Expand Up @@ -40,6 +46,7 @@
/bin-int
/.cache
/OxylusEditor/Resources/Shaders/Compiled
/OxylusEditor/SandboxProject
/OxylusEditor/logs
*.ccls
*.vcxproj
Expand Down
6 changes: 0 additions & 6 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,12 +1,6 @@
[submodule "Oxylus/vendor/miniaudio"]
path = Oxylus/vendor/miniaudio
url = https://github.com/mackron/miniaudio.git
[submodule "Oxylus/vendor/glm"]
path = Oxylus/vendor/glm
url = https://github.com/g-truc/glm.git
[submodule "Oxylus/vendor/ImGuizmo"]
path = Oxylus/vendor/ImGuizmo
url = https://github.com/CedricGuillemet/ImGuizmo.git
[submodule "Oxylus/vendor/CMake-Utils"]
path = Oxylus/vendor/CMake-Utils
url = https://github.com/Hatrickek/CMake-Utils.git
11 changes: 10 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -22,12 +22,21 @@ if (ENABLE_ASAN)
add_link_options(-fsanitize=address)
endif()


# fix for dxc
if (UNIX)
add_compile_options(-fms-extensions)
endif(UNIX)

# compile commands
if (NOT MSVC)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
endif ()

# GIT_SUBMODULE "" policy
cmake_policy(SET CMP0097 NEW)

set(CMAKE_WARN_DEPRECATED OFF CACHE BOOL "")

# Sub-projects
add_subdirectory(Oxylus)
add_subdirectory(OxylusEditor)
Expand Down
2 changes: 1 addition & 1 deletion LICENSE.txt
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,7 @@
same "printed page" as the copyright notice for easier
identification within third-party archives.

Copyright [yyyy] [name of copyright owner]
Copyright 2024 Hatrickek

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand Down
Loading
Loading