Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
27ecd0b
Rebase curle/render
dpeter99 Jan 19, 2024
814491f
Added folder layout docs
dpeter99 Jan 19, 2024
bfc2f71
Fix setup
TheCurle Apr 3, 2024
2ae8049
Add Platform-specific Threads, and the Profiler interface.
TheCurle Apr 4, 2024
dea7311
Finish Profiler, update Time with platform-specific precision method
TheCurle Apr 5, 2024
e407495
Add missing Common header
TheCurle Apr 5, 2024
540633b
Dump Work
TheCurle Apr 5, 2024
3e673af
Finish font compilability
TheCurle Jun 30, 2024
9d5e766
Remove Vulkan wrapper, move to rx rendering
TheCurle Jul 1, 2024
5763dee
Fix most compiler complaints
TheCurle Jul 1, 2024
2182dac
fix compiler complaints
TheCurle Jul 1, 2024
8360b6b
finish implement ImageRenderer
TheCurle Jul 1, 2024
bdd8044
restart vulkan interface
TheCurle Jul 1, 2024
6b30097
vulkan interface header
TheCurle Jul 11, 2024
879cb1c
Documentation pass
TheCurle Jul 15, 2024
c5cb1a0
Rename structs that conflict in the Vulkan interface
TheCurle Jul 17, 2024
fa029f8
Implement the Vulkan Interface's internal struct management
TheCurle Jul 17, 2024
44a8ec1
Vulkan initialization
TheCurle Jul 22, 2024
f266134
Remove errant closing parentheses
TheCurle Jul 22, 2024
921f936
Vulkan signalling overhaul, destructor.
TheCurle Jul 22, 2024
f0aaa8d
Fix errored isValid calls
TheCurle Jul 22, 2024
d2f90e3
Renderer internal state
TheCurle Jul 26, 2024
e7f5fb5
Job management system, still WIP
TheCurle Jul 26, 2024
af53beb
Add more renderer state
TheCurle Jul 28, 2024
c498a41
Consistency refactor
TheCurle Jul 28, 2024
6ed53c9
Add dxc to the Vulkan module
TheCurle Jul 28, 2024
dfb2403
Refactor shaders out of the renderer base, Shader Compiler header
TheCurle Jul 28, 2024
0ebbf0e
Shader Compiler Content, using dxc for cross platform builds
TheCurle Jul 29, 2024
609ef81
Update comments on Job.h
TheCurle Jul 29, 2024
76cd286
Renderer context updates, use jobs
TheCurle Jul 29, 2024
f2c7e5e
Minor documentation update
TheCurle Jul 29, 2024
5f4b1ed
Temporarily move assets to use the PathID copy
TheCurle Aug 18, 2024
730b27a
Rework Filesystem to allow a direct read to a buffer
TheCurle Aug 18, 2024
01c826d
Renderer initialization work
TheCurle Aug 18, 2024
72b89ac
Working towards rendering to screen
TheCurle Aug 19, 2024
47246d3
Texture Creation
TheCurle Aug 19, 2024
edb73fc
Debug name setting
TheCurle Aug 19, 2024
b5c48df
Swapchain rendering pass begin
TheCurle Aug 19, 2024
b5d6983
Fix swapchain type error
TheCurle Aug 20, 2024
09db8d5
Renderpass to image
TheCurle Aug 20, 2024
43df8fa
Renderpass end barriers
TheCurle Aug 20, 2024
4fd3a56
Viewports & events
TheCurle Aug 20, 2024
b444d9c
Implement RFC 1
TheCurle Aug 20, 2024
6a1ee4b
Add missing implementation macros
TheCurle Aug 20, 2024
9bfb66a
Incremental Improvements
TheCurle Feb 21, 2025
fc55118
Reset doc files
dpeter99 Feb 23, 2025
e0fa7f0
vk_mem_alloc update to 3.2.1
TheCurle Feb 23, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.24)
cmake_minimum_required(VERSION 3.25)

include(FetchContent)

Expand Down
50 changes: 25 additions & 25 deletions projs/docs/diagrams/architecture.plantuml
Original file line number Diff line number Diff line change
@@ -1,26 +1,26 @@
@startuml
class ShadowApplication <<Singleton>> {
-ModuleManager module_manager
~void packagePrivateMethod()
#{abstract} char protectedMethod(int param)
}
class ModuleManager <<Singleton>> {
-vector<string, Module> moduels
---
+void AddModule(Module* mo)
}
abstract class Module {
+string domain
---
+void Init()
+void Update()
+void ShutDown()
}
@startuml

class ShadowApplication <<Singleton>> {
-ModuleManager module_manager
~void packagePrivateMethod()
#{abstract} char protectedMethod(int param)
}

class ModuleManager <<Singleton>> {
-vector<string, Module> moduels
---
+void AddModule(Module* mo)
}

abstract class Module {
+string domain
---
+void Init()
+void Update()
+void ShutDown()
}




@enduml
60 changes: 30 additions & 30 deletions projs/docs/diagrams/project-layout.plantuml
Original file line number Diff line number Diff line change
@@ -1,31 +1,31 @@
@startuml
[shadow-light] <<exe>> as editor
[shadow-entity] <<static lib>> as shentity
[shadow-file-format] <<static lib>> as shff
[shadow-reflection] <<static lib>> as shreflection
[shadow-renderer] <<static lib>> as shrenderer
[shadow-utilty] <<static lib>> as shutitily
[shadow-engine] <<static/dynamic lib>> as shengine
shentity --* shengine
shff --* shengine
shreflection --* shengine
shrenderer --* shengine
shutitily --* shengine
[shadow-runner] <<exe>> as runner
[test-game] <<dll>> as game
shengine <- editor
runner -> shengine
game ..> shengine : uses
runner --> game : loads
editor --> game : loads
@startuml
[shadow-light] <<exe>> as editor

[shadow-entity] <<static lib>> as shentity
[shadow-file-format] <<static lib>> as shff
[shadow-reflection] <<static lib>> as shreflection
[shadow-renderer] <<static lib>> as shrenderer
[shadow-utilty] <<static lib>> as shutitily

[shadow-engine] <<static/dynamic lib>> as shengine

shentity --* shengine
shff --* shengine
shreflection --* shengine
shrenderer --* shengine
shutitily --* shengine


[shadow-runner] <<exe>> as runner

[test-game] <<dll>> as game

shengine <- editor
runner -> shengine

game ..> shengine : uses

runner --> game : loads
editor --> game : loads

@enduml
108 changes: 54 additions & 54 deletions projs/docs/diagrams/startup.puml
Original file line number Diff line number Diff line change
@@ -1,54 +1,54 @@
@startuml
!include <material/file>
autoactivate on
autonumber
participant main as "int main(args)"
participant app as "ShadowApplication" <<(O,#ADD1B2) singleton>>
participant moduleMg as "ModuleManager" <<(O,#ADD1B2) singleton>>
'participant gameDll as "longName" : <$ma_file{scale=0.5}> <<DLL>>
participant "Game DLL" as dll <<$ma_file{scale=0.5}>> #LightGray <<DLL>>
-> main
main -> app ** : create
activate app
app -> moduleMg ** : create
return app
main -> app : LoadGame
app -> app : load
app -> dll ** : create
return
app -> dll : sh_main
loop for each needed module
dll -> moduleMg : AddModule()
return
end
return
return
main -> app : Init()
app -> moduleMg : Init()
loop module in modules
collections module as "Module" <<(O,#ADD1B2)entity>>
moduleMg -> module : Init()
return
end
return
return
@startuml
!include <material/file>

autoactivate on
autonumber

participant main as "int main(args)"

participant app as "ShadowApplication" <<(O,#ADD1B2) singleton>>

participant moduleMg as "ModuleManager" <<(O,#ADD1B2) singleton>>


'participant gameDll as "longName" : <$ma_file{scale=0.5}> <<DLL>>

participant "Game DLL" as dll <<$ma_file{scale=0.5}>> #LightGray <<DLL>>

-> main
main -> app ** : create
activate app
app -> moduleMg ** : create
return app

main -> app : LoadGame

app -> app : load
app -> dll ** : create
return

app -> dll : sh_main

loop for each needed module
dll -> moduleMg : AddModule()
return
end

return

return

main -> app : Init()
app -> moduleMg : Init()

loop module in modules
collections module as "Module" <<(O,#ADD1B2)entity>>
moduleMg -> module : Init()
return
end
return

return



62 changes: 31 additions & 31 deletions projs/docs/thesis/common/includes/declaration.tex
Original file line number Diff line number Diff line change
@@ -1,31 +1,31 @@
\selectlanguage{magyar}
\pagenumbering{gobble}
%--------------------------------------------------------------------------------------
% Nyilatkozat
%--------------------------------------------------------------------------------------
\begin{center}
\large
\textbf{HALLGATÓI NYILATKOZAT}\\
\end{center}
Alulírott \emph{\vikszerzoVezeteknev{} \vikszerzoKeresztnev}, szigorló hallgató kijelentem, hogy ezt a \vikmunkatipusat{} meg nem engedett segítség nélkül, saját magam készítettem, csak a megadott forrásokat (szakirodalom, eszközök stb.) használtam fel. Minden olyan részt, melyet szó szerint, vagy azonos értelemben, de átfogalmazva más forrásból átvettem, egyértelműen, a forrás megadásával megjelöltem.
Hozzájárulok, hogy a jelen munkám alapadatait (szerző(k), cím, angol és magyar nyelvű tartalmi kivonat, készítés éve, konzulens(ek) neve) a BME VIK nyilvánosan hozzáférhető elektronikus formában, a munka teljes szövegét pedig az egyetem belső hálózatán keresztül (vagy autentikált felhasználók számára) közzétegye. Kijelentem, hogy a benyújtott munka és annak elektronikus verziója megegyezik. Dékáni engedéllyel titkosított diplomatervek esetén a dolgozat szövege csak 3 év eltelte után válik hozzáférhetővé.
\begin{flushleft}
\vspace*{1cm}
Budapest, \today
\end{flushleft}
\begin{flushright}
\vspace*{1cm}
\makebox[7cm]{\rule{6cm}{.4pt}}\\
\makebox[7cm]{\emph{\vikszerzoVezeteknev{} \vikszerzoKeresztnev}}\\
\makebox[7cm]{hallgató}
\end{flushright}
\thispagestyle{empty}
\vfill
\cleardoublepage
\selectthesislanguage
\selectlanguage{magyar}
\pagenumbering{gobble}
%--------------------------------------------------------------------------------------
% Nyilatkozat
%--------------------------------------------------------------------------------------
\begin{center}
\large
\textbf{HALLGATÓI NYILATKOZAT}\\
\end{center}

Alulírott \emph{\vikszerzoVezeteknev{} \vikszerzoKeresztnev}, szigorló hallgató kijelentem, hogy ezt a \vikmunkatipusat{} meg nem engedett segítség nélkül, saját magam készítettem, csak a megadott forrásokat (szakirodalom, eszközök stb.) használtam fel. Minden olyan részt, melyet szó szerint, vagy azonos értelemben, de átfogalmazva más forrásból átvettem, egyértelműen, a forrás megadásával megjelöltem.

Hozzájárulok, hogy a jelen munkám alapadatait (szerző(k), cím, angol és magyar nyelvű tartalmi kivonat, készítés éve, konzulens(ek) neve) a BME VIK nyilvánosan hozzáférhető elektronikus formában, a munka teljes szövegét pedig az egyetem belső hálózatán keresztül (vagy autentikált felhasználók számára) közzétegye. Kijelentem, hogy a benyújtott munka és annak elektronikus verziója megegyezik. Dékáni engedéllyel titkosított diplomatervek esetén a dolgozat szövege csak 3 év eltelte után válik hozzáférhetővé.

\begin{flushleft}
\vspace*{1cm}
Budapest, \today
\end{flushleft}

\begin{flushright}
\vspace*{1cm}
\makebox[7cm]{\rule{6cm}{.4pt}}\\
\makebox[7cm]{\emph{\vikszerzoVezeteknev{} \vikszerzoKeresztnev}}\\
\makebox[7cm]{hallgató}
\end{flushright}
\thispagestyle{empty}

\vfill
\cleardoublepage

\selectthesislanguage
Loading