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

154 add shadow maps #214

Merged
merged 702 commits into from
Jun 11, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
702 commits
Select commit Hold shift + click to select a range
936463d
Implement Support For Shadow Maps (#154)
datacrystals May 23, 2022
90f7227
Implement Support For Shadow Maps (#154)
datacrystals May 23, 2022
a2e9d27
Implement Support For Shadow Maps (#154)
datacrystals May 23, 2022
9d6a57f
Implement Support For Shadow Maps (#154)
datacrystals May 23, 2022
d02db69
Implement Support For Shadow Maps (#154)
datacrystals May 23, 2022
31e87bb
Implement Support For Shadow Maps (#154)
datacrystals May 23, 2022
defc9c6
Implement Support For Shadow Maps (#154)
datacrystals May 23, 2022
beed9c3
Implement Support For Shadow Maps (#154)
datacrystals May 24, 2022
a23dd0f
Implement Support For Shadow Maps (#154)
datacrystals May 24, 2022
0896291
Implement Support For Shadow Maps (#154)
datacrystals May 26, 2022
0fded86
Implement Support For Shadow Maps (#154)
datacrystals May 26, 2022
6a3360e
Implement Support For Shadow Maps (#154)
datacrystals May 26, 2022
5dabb9b
Implement Support For Shadow Maps (#154)
datacrystals May 26, 2022
43d0b3c
Implement Support For Shadow Maps (#154)
datacrystals May 26, 2022
4023286
Implement Support For Shadow Maps (#154)
datacrystals May 26, 2022
1fcd8a4
Implement Support For Shadow Maps (#154)
datacrystals May 26, 2022
369e148
Implement Support For Shadow Maps (#154)
datacrystals May 26, 2022
1efddc7
Implement Support For Shadow Maps (#154)
datacrystals May 26, 2022
5c296f4
Implement Support For Shadow Maps (#154)
datacrystals May 26, 2022
31e1d55
Implement Support For Shadow Maps (#154)
datacrystals May 26, 2022
0edec4e
Implement Support For Shadow Maps (#154)
datacrystals May 26, 2022
044ddca
Implement Support For Shadow Maps (#154)
datacrystals Jun 1, 2022
1bc6d66
Implement Support For Shadow Maps (#154)
datacrystals Jun 1, 2022
890a557
Implement Support For Shadow Maps (#154)
datacrystals Jun 1, 2022
d552b53
Implement Support For Shadow Maps (#154)
datacrystals Jun 1, 2022
e74d1fb
Implement Support For Shadow Maps (#154)
datacrystals Jun 1, 2022
e7b07e9
Implement Support For Shadow Maps (#154)
datacrystals Jun 1, 2022
9e67faf
Implement Support For Shadow Maps (#154)
datacrystals Jun 1, 2022
db0ce9e
Implement Support For Shadow Maps (#154)
datacrystals Jun 2, 2022
9f5de28
Implement Support For Shadow Maps (#154)
datacrystals Jun 5, 2022
471dbbb
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
b129da5
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
6545395
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
ea8ba8d
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
daeec8f
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
017b41c
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
af33181
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
806634b
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
5439f87
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
cdad347
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
eca132c
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
ed71c5d
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
7e5f6b4
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
ae1958f
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
42fd790
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
c82d181
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
177d285
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
6b0f460
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
2c60077
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
b13b398
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
7b4b240
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
98f5e98
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
b05ebf5
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
659a6ca
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
ca409d1
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
c0f37ef
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
a0585cb
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
3403654
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
b89abaf
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
06f2578
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
c190fd3
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
a41612b
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
4872a38
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
05badfd
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
1d9c6ba
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
e5fd3f3
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
a3c7669
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
c2eb79f
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
a7c593a
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
46b49e7
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
15da63d
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
5241151
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
c4322bf
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
b2b657d
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
6c3d6e5
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
aba8291
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
ca7a9d9
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
512df50
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
ebb5b4a
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
60f5ee8
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
2a960aa
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
bd18d9a
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
366d45d
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
9e3edc5
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
16c2fdf
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
1d354ae
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
e744045
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
f39729f
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
c4303eb
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
ecd9d8f
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
1512e41
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
ff7f224
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
c449a1b
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
9a5e0c4
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
f71019c
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
c2588cd
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
5174359
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
e6ec090
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
0155214
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
1c1616e
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
81b3a64
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
c0a8295
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
408d095
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
c3ae933
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
3bce72e
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
d90f607
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
ee84a57
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
bb0d3a8
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
720fa3e
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
92e0387
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
b06dc4c
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
ed35d07
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
1907092
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
f07c160
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
a0422e6
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
69e7748
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
d5a91ef
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
7a3b348
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
a6a9f76
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
d5e74e2
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
32b4d85
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
26b43a2
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
6877484
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
73d9a23
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
d2b60f4
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
4bc7d17
Implement Support For Shadow Maps (#154)
datacrystals Jun 7, 2022
40c7d08
Implement Support For Shadow Maps (#154)
datacrystals Jun 8, 2022
22164ab
Implement Support For Shadow Maps (#154)
datacrystals Jun 8, 2022
15e4a11
Implement Support For Shadow Maps (#154)
datacrystals Jun 8, 2022
7a8b8dd
Implement Support For Shadow Maps (#154)
datacrystals Jun 8, 2022
a0d98b3
Implement Support For Shadow Maps (#154)
datacrystals Jun 8, 2022
98f0b28
Implement Support For Shadow Maps (#154)
datacrystals Jun 8, 2022
57b3fbc
Implement Support For Shadow Maps (#154)
datacrystals Jun 8, 2022
e58d448
Implement Support For Shadow Maps (#154)
datacrystals Jun 8, 2022
71349ba
Implement Support For Shadow Maps (#154)
datacrystals Jun 8, 2022
de1d4b3
Implement Support For Shadow Maps (#154)
datacrystals Jun 8, 2022
78a6712
Implement Support For Shadow Maps (#154)
datacrystals Jun 8, 2022
726308a
Implement Support For Shadow Maps (#154)
datacrystals Jun 8, 2022
3e29c14
Implement Support For Shadow Maps (#154)
datacrystals Jun 8, 2022
e1afacd
Implement Support For Shadow Maps (#154)
datacrystals Jun 8, 2022
2a6c347
Implement Support For Shadow Maps (#154)
datacrystals Jun 8, 2022
b2d0a6c
Implement Support For Shadow Maps (#154)
datacrystals Jun 8, 2022
f4e3f98
Implement Support For Shadow Maps (#154)
datacrystals Jun 8, 2022
b6486f9
Implement Support For Shadow Maps (#154)
datacrystals Jun 8, 2022
52bce1e
Implement Support For Shadow Maps (#154)
datacrystals Jun 8, 2022
9ac6dee
Implement Support For Shadow Maps (#154)
datacrystals Jun 8, 2022
8308505
Implement Support For Shadow Maps (#154)
datacrystals Jun 8, 2022
8188c44
Implement Support For Shadow Maps (#154)
datacrystals Jun 8, 2022
acb03e2
Implement Support For Shadow Maps (#154)
datacrystals Jun 8, 2022
4c2abad
Implement Support For Shadow Maps (#154)
datacrystals Jun 8, 2022
5c95634
Implement Support For Shadow Maps (#154)
datacrystals Jun 8, 2022
2749e5e
Implement Support For Shadow Maps (#154)
datacrystals Jun 8, 2022
92e28c7
Implement Support For Shadow Maps (#154)
datacrystals Jun 8, 2022
d137099
Implement Support For Shadow Maps (#154)
datacrystals Jun 8, 2022
10b827a
Implement Support For Shadow Maps (#154)
datacrystals Jun 8, 2022
fd1c468
Implement Support For Shadow Maps (#154)
datacrystals Jun 8, 2022
49f3210
Implement Support For Shadow Maps (#154)
datacrystals Jun 8, 2022
d601dd8
Implement Support For Shadow Maps (#154)
datacrystals Jun 8, 2022
aa00f13
Implement Support For Shadow Maps (#154)
datacrystals Jun 8, 2022
1ba66ff
Implement Support For Shadow Maps (#154)
datacrystals Jun 8, 2022
d403fda
Implement Support For Shadow Maps (#154)
datacrystals Jun 8, 2022
26ca341
Implement Support For Shadow Maps (#154)
datacrystals Jun 8, 2022
5ebf186
Implement Support For Shadow Maps (#154)
datacrystals Jun 8, 2022
abfc768
Implement Support For Shadow Maps (#154)
datacrystals Jun 8, 2022
435ab78
Implement Support For Shadow Maps (#154)
datacrystals Jun 8, 2022
c1ac206
Implement Support For Shadow Maps (#154)
datacrystals Jun 8, 2022
5a4d6ae
Implement Support For Shadow Maps (#154)
datacrystals Jun 8, 2022
a1f2925
Implement Support For Shadow Maps (#154)
datacrystals Jun 8, 2022
bd5c9ff
Implement Support For Shadow Maps (#154)
datacrystals Jun 8, 2022
29607e0
Implement Support For Shadow Maps (#154)
datacrystals Jun 8, 2022
93e26ca
Implement Support For Shadow Maps (#154)
datacrystals Jun 8, 2022
411e520
Implement Support For Shadow Maps (#154)
datacrystals Jun 8, 2022
f60c079
Implement Support For Shadow Maps (#154)
datacrystals Jun 8, 2022
604b056
Implement Support For Shadow Maps (#154)
datacrystals Jun 8, 2022
c3e0276
Implement Support For Shadow Maps (#154)
datacrystals Jun 8, 2022
d164e32
Implement Support For Shadow Maps (#154)
datacrystals Jun 8, 2022
f3d061c
Implement Support For Shadow Maps (#154)
datacrystals Jun 8, 2022
fa41544
Implement Support For Shadow Maps (#154)
datacrystals Jun 8, 2022
0ad7c30
Implement Support For Shadow Maps (#154)
datacrystals Jun 8, 2022
8ee4ec9
Implement Support For Shadow Maps (#154)
datacrystals Jun 9, 2022
bb92769
Implement Support For Shadow Maps (#154)
datacrystals Jun 9, 2022
728d3ea
Implement Support For Shadow Maps (#154)
datacrystals Jun 9, 2022
ab042cc
Implement Support For Shadow Maps (#154)
datacrystals Jun 9, 2022
7c7c5bd
Implement Support For Shadow Maps (#154)
datacrystals Jun 9, 2022
f6a0284
Implement Support For Shadow Maps (#154)
datacrystals Jun 9, 2022
cc2470f
Implement Support For Shadow Maps (#154)
datacrystals Jun 9, 2022
bb0de97
Implement Support For Shadow Maps (#154)
datacrystals Jun 9, 2022
d7d6d07
Implement Support For Shadow Maps (#154)
datacrystals Jun 9, 2022
2d79a80
Implement Support For Shadow Maps (#154)
datacrystals Jun 9, 2022
5f6862f
Implement Support For Shadow Maps (#154)
datacrystals Jun 9, 2022
816cf50
Implement Support For Shadow Maps (#154)
datacrystals Jun 9, 2022
2d8e641
Implement Support For Shadow Maps (#154)
datacrystals Jun 9, 2022
c830f3f
Implement Support For Shadow Maps (#154)
datacrystals Jun 9, 2022
cc219c4
Implement Support For Shadow Maps (#154)
datacrystals Jun 9, 2022
e81ad16
Implement Support For Shadow Maps (#154)
datacrystals Jun 9, 2022
c84c274
Implement Support For Shadow Maps (#154)
datacrystals Jun 9, 2022
4b0d535
Implement Support For Shadow Maps (#154)
datacrystals Jun 9, 2022
ddaa456
Implement Support For Shadow Maps (#154)
datacrystals Jun 9, 2022
55affcf
Implement Support For Shadow Maps (#154)
datacrystals Jun 9, 2022
5445341
Implement Support For Shadow Maps (#154)
datacrystals Jun 9, 2022
cd95118
Implement Support For Shadow Maps (#154)
datacrystals Jun 9, 2022
1d785e7
Implement Support For Shadow Maps (#154)
datacrystals Jun 9, 2022
9afdea6
Implement Support For Shadow Maps (#154)
datacrystals Jun 9, 2022
3b17afa
Implement Support For Shadow Maps (#154)
datacrystals Jun 9, 2022
b086732
Implement Support For Shadow Maps (#154)
datacrystals Jun 10, 2022
7c9d770
Implement Support For Shadow Maps (#154)
datacrystals Jun 10, 2022
9638e61
Implement Support For Shadow Maps (#154)
datacrystals Jun 10, 2022
f91c64a
Implement Support For Shadow Maps (#154)
datacrystals Jun 10, 2022
3aca79d
Implement Support For Shadow Maps (#154)
datacrystals Jun 10, 2022
9ff9074
Implement Support For Shadow Maps (#154)
datacrystals Jun 10, 2022
ebf16c9
Implement Support For Shadow Maps (#154)
datacrystals Jun 10, 2022
eda6924
Implement Support For Shadow Maps (#154)
datacrystals Jun 10, 2022
a3f09ab
Implement Support For Shadow Maps (#154)
datacrystals Jun 10, 2022
fd8f52f
Implement Support For Shadow Maps (#154)
datacrystals Jun 10, 2022
4df7ea8
Implement Support For Shadow Maps (#154)
datacrystals Jun 10, 2022
3421177
Implement Support For Shadow Maps (#154)
datacrystals Jun 10, 2022
c148ee5
Implement Support For Shadow Maps (#154)
datacrystals Jun 10, 2022
71bc2de
Implement Support For Shadow Maps (#154)
datacrystals Jun 10, 2022
99981f8
Implement Support For Shadow Maps (#154)
datacrystals Jun 11, 2022
75afe0b
Implement Support For Shadow Maps (#154)
datacrystals Jun 11, 2022
6530988
Implement Support For Shadow Maps (#154)
datacrystals Jun 11, 2022
579ac87
Implement Support For Shadow Maps (#154)
datacrystals Jun 11, 2022
dd9ec49
Implement Support For Shadow Maps (#154)
datacrystals Jun 11, 2022
9bc0e74
Implement Support For Shadow Maps (#154)
datacrystals Jun 11, 2022
d1a8774
Implement Support For Shadow Maps (#154)
datacrystals Jun 11, 2022
1a2e981
Implement Support For Shadow Maps (#154)
datacrystals Jun 11, 2022
99062b2
Implement Support For Shadow Maps (#154)
datacrystals Jun 11, 2022
b6ac23c
Implement Support For Shadow Maps (#154)
datacrystals Jun 11, 2022
13b26cf
Implement Support For Shadow Maps (#154)
datacrystals Jun 11, 2022
ff5b0d1
Implement Support For Shadow Maps (#154)
datacrystals Jun 11, 2022
68e632b
Implement Support For Shadow Maps (#154)
datacrystals Jun 11, 2022
e4dc16a
Implement Support For Shadow Maps (#154)
datacrystals Jun 11, 2022
5f8b23c
Implement Support For Shadow Maps (#154)
datacrystals Jun 11, 2022
3e8d7b5
Implement Support For Shadow Maps (#154)
datacrystals Jun 11, 2022
85e9657
Implement Support For Shadow Maps (#154)
datacrystals Jun 11, 2022
a531e87
Implement Support For Shadow Maps (#154)
datacrystals Jun 11, 2022
07562b7
Implement Support For Shadow Maps (#154)
datacrystals Jun 11, 2022
912a599
Implement Support For Shadow Maps (#154)
datacrystals Jun 11, 2022
68292a7
Implement Support For Shadow Maps (#154)
datacrystals Jun 11, 2022
fa22f2b
Implement Support For Shadow Maps (#154)
datacrystals Jun 11, 2022
3fda3db
Implement Support For Shadow Maps (#154)
datacrystals Jun 11, 2022
7c1ff7e
Implement Support For Shadow Maps (#154)
datacrystals Jun 11, 2022
d977d6f
Implement Support For Shadow Maps (#154)
datacrystals Jun 11, 2022
1ff66c9
Implement Support For Shadow Maps (#154)
datacrystals Jun 11, 2022
47b9026
Implement Support For Shadow Maps (#154)
datacrystals Jun 11, 2022
c90abc3
Implement Support For Shadow Maps (#154)
datacrystals Jun 11, 2022
92541b3
Implement Support For Shadow Maps (#154)
datacrystals Jun 11, 2022
f273027
Implement Support For Shadow Maps (#154)
datacrystals Jun 11, 2022
45d014d
Implement Support For Shadow Maps (#154)
datacrystals Jun 11, 2022
ed570d6
Implement Support For Shadow Maps (#154)
datacrystals Jun 11, 2022
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 CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,8 @@ add_subdirectory(${SRC_DIR}/Core/Structures/ERS_STRUCT_Light)
add_subdirectory(${SRC_DIR}/Core/Structures/ERS_STRUCT_OpenGLDefaults)
add_subdirectory(${SRC_DIR}/Core/Structures/ERS_STRUCT_SceneObject)
add_subdirectory(${SRC_DIR}/Core/Structures/ERS_STRUCT_Script)
add_subdirectory(${SRC_DIR}/Core/Structures/ERS_STRUCT_DepthMap)
add_subdirectory(${SRC_DIR}/Core/Structures/ERS_STRUCT_RendererSettings)

add_subdirectory(${SRC_DIR}/Core/Script/ERS_CLASS_PythonInterpreterIntegration)

Expand Down Expand Up @@ -142,6 +144,7 @@ target_link_libraries(${PROJECT_NAME}
ERS_STRUCT_HumanInputDeviceUtils
ERS_STRUCT_SystemUtils
ERS_STRUCT_ProjectUtils
ERS_STRUCT_RendererSettings

)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -86,4 +86,5 @@ void GUI_Menu_File::Draw() {
ShaderEditor_->Draw();



}
25 changes: 25 additions & 0 deletions Source/Core/Editor/Widgets/GUI_Widget_RenderingSettings.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,15 @@ Widget_RenderingSettings::Widget_RenderingSettings(ERS_STRUCT_SystemUtils* Syste
SystemUtils_ = SystemUtils;
SystemUtils_->Logger_->Log("Initializing Rendering Settings Widget", 5);

// Setup Default Values For Input Fields
SystemUtils_->Logger_->Log("Setting Up Default Renderer Setting Input Fields", 3);

SystemUtils_->Logger_->Log("Copying Shadow Map Resolution", 2);
DepthMapResolution_[0] = SystemUtils_->RendererSettings_->ShadowMapX_;
DepthMapResolution_[1] = SystemUtils_->RendererSettings_->ShadowMapY_;



}

Widget_RenderingSettings::~Widget_RenderingSettings() {
Expand Down Expand Up @@ -89,6 +98,22 @@ void Widget_RenderingSettings::Draw() {
//ImGui::Separator();
//ImGui::SliderInt("Viewport FOV", &Camera_, 1, 360)

// Handle Modifications To Renderer Settings
ImGui::Spacing();
ImGui::Separator();
ImGui::Spacing();
bool Apply = false;


ImGui::InputInt2("Depth Map Resolution", DepthMapResolution_);
Apply = ImGui::Button("Apply");

if (Apply) {
SystemUtils_->RendererSettings_->ShadowMapX_ = DepthMapResolution_[0];
SystemUtils_->RendererSettings_->ShadowMapY_ = DepthMapResolution_[1];
}


}


Expand Down
3 changes: 3 additions & 0 deletions Source/Core/Editor/Widgets/GUI_Widget_RenderingSettings.h
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,9 @@ class Widget_RenderingSettings {
ImVec4 ClearColor_ = ImVec4(0.2f, 0.2f, 0.2f, 1.0f); /**<Background Clearing Color */
bool OpenGLDrawLines_ = false; /**<Default Rendering Mode */

// Variables To Store Input Data
int DepthMapResolution_[2]; /**>Stores the value that the user is putting into the depth map input box*/


public:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ Window_ShaderEditor::Window_ShaderEditor(ERS_STRUCT_SystemUtils* SystemUtils, ER


ShaderLoader_ = std::make_unique<ERS_CLASS_ShaderLoader>(SystemUtils_);
LivePreviewShader_ = std::make_shared<ERS_STRUCT_Shader>();




Expand Down Expand Up @@ -75,19 +75,19 @@ void Window_ShaderEditor::Draw() {

// If Just Enabled
if (Enabled_) {
LivePreviewShaderIndex_ = VisualRenderer_->Shaders_.size();
VisualRenderer_->Shaders_.push_back(std::make_unique<ERS_STRUCT_Shader>());
} else {


// Set Any Viewports Shaders To 0 Who Are Using This Shader
for (int i = 0; (long)i < (long)VisualRenderer_->Viewports_.size(); i++) {
if (VisualRenderer_->Viewports_[i]->ShaderIndex == LivePreviewShaderIndex_) {
if (VisualRenderer_->Viewports_[i]->ShaderIndex == (int)(VisualRenderer_->Shaders_.size() - 1)) {
VisualRenderer_->Viewports_[i]->ShaderIndex = 0;
}
}

// Remove Shader From List
VisualRenderer_->Shaders_.erase(LivePreviewShaderIndex_);
VisualRenderer_->Shaders_.erase(VisualRenderer_->Shaders_.begin() + VisualRenderer_->Shaders_.size() - 1);


}
Expand All @@ -101,7 +101,7 @@ void Window_ShaderEditor::Draw() {

DrawEditorWindow();
DrawToolsWindow();

}


Expand Down Expand Up @@ -257,58 +257,35 @@ void Window_ShaderEditor::DrawEditorWindow() {

void Window_ShaderEditor::DrawToolsWindow() {

bool CompileVisible = ImGui::Begin("Shader Tools", &Enabled_);

// Compile Shader Object
std::string VertexText = Editors_[0]->GetText();
std::string FragmentText = Editors_[1]->GetText();

LivePreviewShader_->~ERS_STRUCT_Shader();
LivePreviewShader_ = std::make_shared<ERS_STRUCT_Shader>();
std::string VertexLog = LivePreviewShader_->CompileVertexShader(VertexText.c_str());
std::string FragmentLog = LivePreviewShader_->CompileFragmentShader(FragmentText.c_str());
LivePreviewShader_->CreateShaderProgram();
bool ShaderCompiled = LivePreviewShader_->MakeActive();
LivePreviewShader_->SetInt("texture_diffuse1", 0);
LivePreviewShader_->DisplayName = "Preview Shader";
LivePreviewShader_->InternalName = "Preview Shader";


// If Autopreview, Update Shader
if (ShaderCompiled) {
VisualRenderer_->SetShader(LivePreviewShader_, LivePreviewShaderIndex_);
}


// Extract Shader Log
std::string ShaderLog;
if (Mode_ == 0) {
ShaderLog = VertexLog;
} else if (Mode_ == 1) {
ShaderLog = FragmentLog;
}

if (ShaderLog == "") {
ShaderLog = "No errors detected.";
}


// Set Default Window Size
ImGui::SetWindowSize(ImVec2(600,400), ImGuiCond_FirstUseEver);

bool CompileVisible = ImGui::Begin("Compiler Log", &Enabled_);

// Compile Shader Object
std::string VertexText = Editors_[0]->GetText();
std::string FragmentText = Editors_[1]->GetText();
VisualRenderer_->Shaders_[VisualRenderer_->Shaders_.size() - 1]->ResetProgram();
std::string VertexLog = VisualRenderer_->Shaders_[VisualRenderer_->Shaders_.size() - 1]->CompileVertexShader(VertexText.c_str());
std::string FragmentLog = VisualRenderer_->Shaders_[VisualRenderer_->Shaders_.size() - 1]->CompileFragmentShader(FragmentText.c_str());
VisualRenderer_->Shaders_[VisualRenderer_->Shaders_.size() - 1]->CreateShaderProgram();
VisualRenderer_->Shaders_[VisualRenderer_->Shaders_.size() - 1]->DisplayName = "Preview Shader";
VisualRenderer_->Shaders_[VisualRenderer_->Shaders_.size() - 1]->InternalName = "Preview Shader";

// Extract Shader Log
std::string ShaderLog;
if (Mode_ == 0) {
ShaderLog = VertexLog;
} else if (Mode_ == 1) {
ShaderLog = FragmentLog;
}

// Set Default Window Size
ImGui::SetWindowSize(ImVec2(600,400), ImGuiCond_FirstUseEver);
if (CompileVisible) {

// Draw Log
ImGui::BeginChild("Shader Log");
ImGui::TextWrapped("%s", ShaderLog.c_str());
ImGui::EndChild();

}



ImGui::End();
ImGui::End();

}

Expand Down
15 changes: 7 additions & 8 deletions Source/Core/Loader/ERS_ShaderLoader/ERS_CLASS_ShaderLoader.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -18,14 +18,12 @@ ERS_CLASS_ShaderLoader::~ERS_CLASS_ShaderLoader() {

}

std::shared_ptr<ERS_STRUCT_Shader> ERS_CLASS_ShaderLoader::CreateShaderObject(const char* VertexText, const char* FragmentText, bool LogBuild) {
void ERS_CLASS_ShaderLoader::CreateShaderObject(const char* VertexText, const char* FragmentText, ERS_STRUCT_Shader* ShaderStruct, bool LogBuild) {

if (LogBuild) {
SystemUtils_->Logger_->Log("Creating Shader Object", 5);
}

// Create Shader
std::shared_ptr<ERS_STRUCT_Shader> ShaderStruct = std::make_shared<ERS_STRUCT_Shader>();

if (LogBuild) {
SystemUtils_->Logger_->Log("Creating Vertex Shader Object", 3);
Expand All @@ -49,14 +47,13 @@ std::shared_ptr<ERS_STRUCT_Shader> ERS_CLASS_ShaderLoader::CreateShaderObject(co
SystemUtils_->Logger_->Log("Linked Shader Program", 4);
}

return ShaderStruct;

}

std::shared_ptr<ERS_STRUCT_Shader> ERS_CLASS_ShaderLoader::LoadShaderFromAsset(long VertexID, long FragmentID, std::string ShaderName) {
void ERS_CLASS_ShaderLoader::LoadShaderFromAsset(long VertexID, long FragmentID, ERS_STRUCT_Shader* ShaderStruct, std::string ShaderName) {

// Load Shaders From Disk Into RAM
SystemUtils_->Logger_->Log("Loading Shaders From Asset ID", 5);
SystemUtils_->Logger_->Log(std::string("Loading Shaders From Asset IDs ") + std::to_string(VertexID) + std::string(", ") + std::to_string(FragmentID), 5);

std::unique_ptr<ERS_STRUCT_IOData> VertexData = std::make_unique<ERS_STRUCT_IOData>();
std::unique_ptr<ERS_STRUCT_IOData> FragmentData = std::make_unique<ERS_STRUCT_IOData>();
Expand All @@ -68,12 +65,14 @@ std::shared_ptr<ERS_STRUCT_Shader> ERS_CLASS_ShaderLoader::LoadShaderFromAsset(l


// Return Compiled Shader
std::shared_ptr<ERS_STRUCT_Shader> ShaderStruct = CreateShaderObject(VertexText.c_str(), FragmentText.c_str());
CreateShaderObject(VertexText.c_str(), FragmentText.c_str(), ShaderStruct);
ShaderStruct->VertexID = VertexID;
ShaderStruct->FragmentID = FragmentID;
ShaderStruct->DisplayName = ShaderName;
ShaderStruct->InternalName = ShaderName;
return ShaderStruct;

SystemUtils_->Logger_->Log(std::string("Loaded Shader '") + ShaderName + std::string("'"), 5);



}
4 changes: 2 additions & 2 deletions Source/Core/Loader/ERS_ShaderLoader/ERS_CLASS_ShaderLoader.h
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ class ERS_CLASS_ShaderLoader {
* @param FragmentText
* @return ERS_STRUCT_Shader
*/
std::shared_ptr<ERS_STRUCT_Shader> CreateShaderObject(const char* VertexText, const char* FragmentText, bool LogBuild = true);
void CreateShaderObject(const char* VertexText, const char* FragmentText, ERS_STRUCT_Shader* ShaderStruct, bool LogBuild = true);


/**
Expand All @@ -63,7 +63,7 @@ class ERS_CLASS_ShaderLoader {
* @param FragmentID
* @return std::shared_ptr<ERS_STRUCT_Shader>
*/
std::shared_ptr<ERS_STRUCT_Shader> LoadShaderFromAsset(long VertexID, long FragmentID, std::string ShaderName = "Untitled Shader");
void LoadShaderFromAsset(long VertexID, long FragmentID, ERS_STRUCT_Shader* ShaderStruct, std::string ShaderName = "Untitled Shader");



Expand Down
62 changes: 54 additions & 8 deletions Source/Core/Renderer/ERS_CLASS_RendererManager/RendererManager.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -30,19 +30,19 @@ RendererManager::RendererManager(ERS_STRUCT_SystemUtils* SystemUtils, ERS_STRUCT
LoadEditorData();
VisualRenderer_->SetOpenGLDefaults(OpenGLDefaults_.get());

// Debugging test, to see if this fixes the access violations
glEnable(GL_TEXTURE_2D);


// Setup Shaders
ShaderLoader_ = std::make_unique<ERS_CLASS_ShaderLoader>(SystemUtils_);
for (int i = 0; (long)i < (long)ProjectUtils_->ProjectManager_->Project_.ShaderPrograms.size(); i++) {
VisualRenderer_->Shaders_.push_back(std::make_unique<ERS_STRUCT_Shader>());
ERS_STRUCT_Shader* Shader = VisualRenderer_->Shaders_[VisualRenderer_->Shaders_.size()-1].get();

long VertexShaderID = ProjectUtils_->ProjectManager_->Project_.ShaderPrograms[i].VertexID;
long FragmentShaderID = ProjectUtils_->ProjectManager_->Project_.ShaderPrograms[i].FragmentID;
std::string ShaderName = ProjectUtils_->ProjectManager_->Project_.ShaderPrograms[i].Name;
Shader_ = ShaderLoader_->LoadShaderFromAsset(VertexShaderID, FragmentShaderID, ShaderName);
Shader_->MakeActive(SystemUtils_->Logger_.get());
Shader_->SetInt("texture_diffuse1", 0);
VisualRenderer_->SetShader(Shader_, i);
ShaderLoader_->LoadShaderFromAsset(VertexShaderID, FragmentShaderID, Shader, ShaderName);

}
int DefaultShader = ProjectUtils_->ProjectManager_->Project_.DefaultShaderProgram;
VisualRenderer_->SetDefaultShader(DefaultShader);
Expand Down Expand Up @@ -132,8 +132,8 @@ void RendererManager::InitializeGLFW() {

// Initialize GLFW
glfwInit();
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 4);
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 2);
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE);

Expand All @@ -157,10 +157,25 @@ void RendererManager::InitializeGLFW() {
glfwMakeContextCurrent(Window_);
glfwSwapInterval(0);



// Setup GLAD
if (!gladLoadGLLoader((GLADloadproc)glfwGetProcAddress)) {
SystemUtils_->Logger_->Log("Failed To Initialize GLAD", 10);
}

// Setup OpenGL For Blending (For Transparency Issues)
glEnable(GL_DEPTH_TEST);
glEnable(GL_BLEND);


}

void RendererManager::UpdateLoop(float DeltaTime) {

// Log Any Issues
ReportOpenGLErrors();

// Update Window Title
std::string SceneTitle = ProjectUtils_->ProjectManager_->Project_.ProjectName + std::string(" - BrainGenix-ERS");
glfwSetWindowTitle(Window_, SceneTitle.c_str());
Expand Down Expand Up @@ -205,4 +220,35 @@ void RendererManager::UpdateLoop(float DeltaTime) {
}


}

void RendererManager::ReportOpenGLErrors() {

// Get Current Errors
GLint GLErrorStatus = glGetError();

if (GLErrorStatus != GL_NO_ERROR) {

std::string ErrorMeaning = "Unknown";
if (GLErrorStatus == GL_INVALID_ENUM) {
ErrorMeaning = "GL_INVALID_ENUM";
} else if (GLErrorStatus == GL_INVALID_VALUE) {
ErrorMeaning = "GL_INVALID_VALUE";
} else if (GLErrorStatus == GL_INVALID_OPERATION) {
ErrorMeaning = "GL_INVALID_OPERATION";
} else if (GLErrorStatus == GL_STACK_OVERFLOW) {
ErrorMeaning = "GL_STACK_OVERFLOW";
} else if (GLErrorStatus == GL_STACK_UNDERFLOW) {
ErrorMeaning = "GL_STACK_UNDERFLOW";
} else if (GLErrorStatus == GL_OUT_OF_MEMORY) {
ErrorMeaning = "GL_OUT_OF_MEMORY";
} else if (GLErrorStatus == GL_INVALID_FRAMEBUFFER_OPERATION) {
ErrorMeaning = "GL_INVALID_FRAMEBUFFER_OPERATION";
}

std::string ErrorMessage = std::string("OpenGL Context Reporting Error '") + std::to_string(GLErrorStatus) + std::string("' (") + ErrorMeaning + std::string(")");
SystemUtils_->Logger_->Log(ErrorMessage, 9);

}

}
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@
#include <ERS_STRUCT_Camera.h>

#include <ERS_CLASS_ShaderLoader.h>
#include <ERS_CLASS_Framebuffer.h>
#include <GUI.h>

#include <ERS_ModelWriter.h>
Expand Down Expand Up @@ -52,7 +51,6 @@ class RendererManager {
std::unique_ptr<ERS_CLASS_VisualRenderer> VisualRenderer_; /**<Pointer To VisualRenderer Instance*/
GLFWwindow* Window_; /**<GLFW Window Instance*/
std::unique_ptr<ERS_CLASS_ShaderLoader> ShaderLoader_; /**<Pointer To Shader Loader Instnace*/
std::shared_ptr<ERS_CLASS_Framebuffer> FramebufferManager_; /**<Pointer To Framebuffer Manager Instnace*/
std::shared_ptr<ERS_STRUCT_Shader> Shader_; /**<ERS Shader Object (Main System Shader)*/
std::shared_ptr<GUISystem> GuiSystem_; /**<Instance of GUI System*/
std::unique_ptr<Cursors3D> Cursors3D_; /**<Setup 3D Cursor Class*/
Expand Down Expand Up @@ -90,6 +88,12 @@ class RendererManager {
*/
unsigned int LoadEditorIcon(const char* Path);

/**
* @brief This function gets the current opengl error status and if there's an issue it reports it into the log.
*
*/
void ReportOpenGLErrors();


public:

Expand Down
Loading