Skip to content

Commit 4f2b7aa

Browse files
author
Adrien GIVRY
committed
Merge branch 'develop'
2 parents 40b5885 + 137b943 commit 4f2b7aa

File tree

79 files changed

+2819
-341
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

79 files changed

+2819
-341
lines changed

Resources/Editor/Models/Arrow.fbx

-34.4 KB
Binary file not shown.
36 KB
Binary file not shown.
15.4 KB
Binary file not shown.
15.8 KB
Binary file not shown.

Sources/Overload/OvAnalytics/OvAnalytics.vcxproj

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,19 +14,19 @@
1414
<VCProjectVersion>15.0</VCProjectVersion>
1515
<ProjectGuid>{45BFDD00-877F-42ED-A0E4-92E56F7D3C0E}</ProjectGuid>
1616
<RootNamespace>OvAnalytics</RootNamespace>
17-
<WindowsTargetPlatformVersion>10.0.17763.0</WindowsTargetPlatformVersion>
17+
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
1818
</PropertyGroup>
1919
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
2020
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
2121
<ConfigurationType>DynamicLibrary</ConfigurationType>
2222
<UseDebugLibraries>true</UseDebugLibraries>
23-
<PlatformToolset>v141</PlatformToolset>
23+
<PlatformToolset>v142</PlatformToolset>
2424
<CharacterSet>MultiByte</CharacterSet>
2525
</PropertyGroup>
2626
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
2727
<ConfigurationType>DynamicLibrary</ConfigurationType>
2828
<UseDebugLibraries>false</UseDebugLibraries>
29-
<PlatformToolset>v141</PlatformToolset>
29+
<PlatformToolset>v142</PlatformToolset>
3030
<WholeProgramOptimization>true</WholeProgramOptimization>
3131
<CharacterSet>MultiByte</CharacterSet>
3232
</PropertyGroup>

Sources/Overload/OvAudio/OvAudio.vcxproj

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,19 +14,19 @@
1414
<VCProjectVersion>15.0</VCProjectVersion>
1515
<ProjectGuid>{E76098C7-D1C1-430E-A7B2-527CF45BD853}</ProjectGuid>
1616
<RootNamespace>OvAudio</RootNamespace>
17-
<WindowsTargetPlatformVersion>10.0.17763.0</WindowsTargetPlatformVersion>
17+
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
1818
</PropertyGroup>
1919
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
2020
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
2121
<ConfigurationType>DynamicLibrary</ConfigurationType>
2222
<UseDebugLibraries>true</UseDebugLibraries>
23-
<PlatformToolset>v141</PlatformToolset>
23+
<PlatformToolset>v142</PlatformToolset>
2424
<CharacterSet>MultiByte</CharacterSet>
2525
</PropertyGroup>
2626
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
2727
<ConfigurationType>DynamicLibrary</ConfigurationType>
2828
<UseDebugLibraries>false</UseDebugLibraries>
29-
<PlatformToolset>v141</PlatformToolset>
29+
<PlatformToolset>v142</PlatformToolset>
3030
<WholeProgramOptimization>true</WholeProgramOptimization>
3131
<CharacterSet>MultiByte</CharacterSet>
3232
</PropertyGroup>

Sources/Overload/OvCore/OvCore.vcxproj

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,19 +14,19 @@
1414
<VCProjectVersion>15.0</VCProjectVersion>
1515
<ProjectGuid>{C1D2EBB7-EE2A-4D42-858B-F14F5A47B867}</ProjectGuid>
1616
<RootNamespace>OvCore</RootNamespace>
17-
<WindowsTargetPlatformVersion>10.0.17763.0</WindowsTargetPlatformVersion>
17+
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
1818
</PropertyGroup>
1919
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
2020
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
2121
<ConfigurationType>DynamicLibrary</ConfigurationType>
2222
<UseDebugLibraries>true</UseDebugLibraries>
23-
<PlatformToolset>v141</PlatformToolset>
23+
<PlatformToolset>v142</PlatformToolset>
2424
<CharacterSet>MultiByte</CharacterSet>
2525
</PropertyGroup>
2626
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
2727
<ConfigurationType>DynamicLibrary</ConfigurationType>
2828
<UseDebugLibraries>false</UseDebugLibraries>
29-
<PlatformToolset>v141</PlatformToolset>
29+
<PlatformToolset>v142</PlatformToolset>
3030
<WholeProgramOptimization>true</WholeProgramOptimization>
3131
<CharacterSet>MultiByte</CharacterSet>
3232
</PropertyGroup>
@@ -123,7 +123,7 @@ xcopy "$(SolutionDir)..\..\Build\OvWindowing\bin\$(Configuration)\*.dll" "$(Solu
123123
xcopy "$(SolutionDir)..\..\Build\OvWindowing\lib\$(Configuration)\*.lib" "$(SolutionDir)..\..\Build\$(ProjectName)\lib\$(Configuration)" /e /y /i /r</Command>
124124
</PostBuildEvent>
125125
<Link>
126-
<AdditionalDependencies>liblua53.a;OvMaths.lib;OvPhysics.lib;OvRendering.lib;OvTools.lib;OvUI.lib;OvAudio.lib;OvDebug.lib;OvWindowing.lib;%(AdditionalDependencies)</AdditionalDependencies>
126+
<AdditionalDependencies>liblua53.a;OvMaths.lib;OvPhysics.lib;OvRendering.lib;OvTools.lib;OvUI.lib;OvAudio.lib;OvDebug.lib;OvWindowing.lib;OvAnalytics.lib;%(AdditionalDependencies)</AdditionalDependencies>
127127
</Link>
128128
</ItemDefinitionGroup>
129129
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
@@ -140,7 +140,7 @@ xcopy "$(SolutionDir)..\..\Build\OvWindowing\lib\$(Configuration)\*.lib" "$(Solu
140140
<Link>
141141
<EnableCOMDATFolding>true</EnableCOMDATFolding>
142142
<OptimizeReferences>true</OptimizeReferences>
143-
<AdditionalDependencies>liblua53.a;OvMaths.lib;OvPhysics.lib;OvRendering.lib;OvTools.lib;OvUI.lib;OvAudio.lib;OvDebug.lib;OvWindowing.lib;%(AdditionalDependencies)</AdditionalDependencies>
143+
<AdditionalDependencies>liblua53.a;OvMaths.lib;OvPhysics.lib;OvRendering.lib;OvTools.lib;OvUI.lib;OvAudio.lib;OvDebug.lib;OvWindowing.lib;OvAnalytics.lib;%(AdditionalDependencies)</AdditionalDependencies>
144144
</Link>
145145
<PostBuildEvent>
146146
<Command>RD /S /Q "$(SolutionDir)..\..\Build\$(ProjectName)\include"

Sources/Overload/OvCore/include/OvCore/ECS/Components/Behaviour.inl

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@
66

77
#pragma once
88

9+
10+
#include <OvDebug/Utils/Logger.h>
11+
912
#include "OvCore/ECS/Components/Behaviour.h"
1013

1114
namespace OvCore::ECS::Components

Sources/Overload/OvCore/include/OvCore/ECS/Components/CCamera.h

Lines changed: 22 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -35,18 +35,6 @@ namespace OvCore::ECS::Components
3535
*/
3636
std::string GetName() override;
3737

38-
/**
39-
* Returns the projection matrix
40-
* @param p_windowWidth
41-
* @param p_windowHeight
42-
*/
43-
OvMaths::FMatrix4 GetProjectionMatrix(uint16_t p_windowWidth, uint16_t p_windowHeight);
44-
45-
/**
46-
* Returns the view matrix
47-
*/
48-
OvMaths::FMatrix4 GetViewMatrix();
49-
5038
/**
5139
* Sets the fov of the camera to the given value
5240
* @param p_value
@@ -71,6 +59,18 @@ namespace OvCore::ECS::Components
7159
*/
7260
void SetClearColor(const OvMaths::FVector3& p_clearColor);
7361

62+
/**
63+
* Defines if the camera should apply frustum geometry culling in rendering
64+
* @param p_enable
65+
*/
66+
void SetFrustumGeometryCulling(bool p_enable);
67+
68+
/**
69+
* Defines if the camera should apply frustum light culling in rendering
70+
* @param p_enable
71+
*/
72+
void SetFrustumLightCulling(bool p_enable);
73+
7474
/**
7575
* Returns the fov of the camera
7676
*/
@@ -91,6 +91,16 @@ namespace OvCore::ECS::Components
9191
*/
9292
const OvMaths::FVector3& GetClearColor() const;
9393

94+
/**
95+
* Returns true if the frustum geometry culling is enabled
96+
*/
97+
bool HasFrustumGeometryCulling() const;
98+
99+
/**
100+
* Returns true if the frustum light culling is enabled
101+
*/
102+
bool HasFrustumLightCulling() const;
103+
94104
/**
95105
* Returns the OvRendering camera instance attached to this component
96106
*/

Sources/Overload/OvCore/include/OvCore/ECS/Components/CModelRenderer.h

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,17 @@ namespace OvCore::ECS::Components
2121
class API_OVCORE CModelRenderer : public AComponent
2222
{
2323
public:
24+
/**
25+
* Defines how the model renderer bounding sphere should be interpreted
26+
*/
27+
enum class EFrustumBehaviour
28+
{
29+
DISABLED = 0,
30+
CULL_MODEL = 1,
31+
CULL_MESHES = 2,
32+
CULL_CUSTOM = 3
33+
};
34+
2435
/**
2536
* Constructor
2637
* @param p_owner
@@ -43,6 +54,28 @@ namespace OvCore::ECS::Components
4354
*/
4455
OvRendering::Resources::Model* GetModel() const;
4556

57+
/**
58+
* Sets a bounding mode
59+
* @param p_boundingMode
60+
*/
61+
void SetFrustumBehaviour(EFrustumBehaviour p_boundingMode);
62+
63+
/**
64+
* Returns the current bounding mode
65+
*/
66+
EFrustumBehaviour GetFrustumBehaviour() const;
67+
68+
/**
69+
* Returns the custom bounding sphere
70+
*/
71+
const OvRendering::Geometry::BoundingSphere& GetCustomBoundingSphere() const;
72+
73+
/**
74+
* Sets the custom bounding sphere
75+
* @param p_boundingSphere
76+
*/
77+
void SetCustomBoundingSphere(const OvRendering::Geometry::BoundingSphere& p_boundingSphere);
78+
4679
/**
4780
* Serialize the component
4881
* @param p_doc
@@ -66,5 +99,7 @@ namespace OvCore::ECS::Components
6699
private:
67100
OvRendering::Resources::Model* m_model = nullptr;
68101
OvTools::Eventing::Event<> m_modelChangedEvent;
102+
OvRendering::Geometry::BoundingSphere m_customBoundingSphere = { {}, 1.0f };
103+
EFrustumBehaviour m_frustumBehaviour = EFrustumBehaviour::CULL_MODEL;
69104
};
70105
}

0 commit comments

Comments
 (0)