Compare commits

..

5 Commits

Author SHA1 Message Date
viktorljung bdbf864934 spawning 1 shield on server and one on client 2016-03-14 16:46:03 +01:00
viktorljung f269caafed spawning shield on server and client 2016-03-14 16:02:20 +01:00
Jace 18ea938b56 Added start menu shortcut to starting a server 2016-03-14 09:59:54 +01:00
Jace 6c14b2a97e Updated start menu to load same map as game to save video memory 2016-03-14 09:26:16 +01:00
Jace 54eb3727b0 Fixed respawn 2016-03-14 09:26:04 +01:00
13 changed files with 41825 additions and 15937 deletions
+1 -1
Submodule assets updated: a66a2786e4...902cbf2ba6
+2 -2
View File
@@ -29,8 +29,8 @@ struct ShadowFrustum
class ShadowPass class ShadowPass
{ {
public: public:
ShadowPass(IRenderer* renderer, bool useShadow); ShadowPass(IRenderer* renderer);
ShadowPass(IRenderer * renderer, int ShadowResX, int ShadowResY, bool useShadow); ShadowPass(IRenderer * renderer, int ShadowResX, int ShadowResY);
~ShadowPass(); ~ShadowPass();
void InitializeFrameBuffers(); void InitializeFrameBuffers();
-3
View File
@@ -89,6 +89,3 @@ NumIterations=6
[MSAA] [MSAA]
Level=2 Level=2
[Shadows]
Enable=false
+2 -2
View File
@@ -1,6 +1,6 @@
To start a server To start a server
1. Run Server.bat in the installation directory (C:\Program Files\Axyz) 1. Run "Axyz Server" from the start menu or "Server.bat" in the installation directory (C:\Program Files\Axyz)
2. Press F1 to open the editor mode 2. Press F1 to open the editor mode
3. Expand the Entities window if it is minimized, by double-clicking it 3. Expand the Entities window if it is minimized, by double-clicking it
4. Mark StartMenu_Origin and hit Delete twice 4. Mark StartMenu_Origin and hit Delete twice
@@ -9,7 +9,7 @@ To start a server
To join a game To join a game
1. Run Axyz from the start menu or Axyz.exe in the installation directory (C:\Program Files\Axyz) 1. Run "Axyz" from the start menu or "Axyz.exe" in the installation directory (C:\Program Files\Axyz)
2. Press Play 2. Press Play
3. Hit the refresh icon if no server is visible 3. Hit the refresh icon if no server is visible
4. Click the server you want to join 4. Click the server you want to join
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+2 -20
View File
@@ -31,17 +31,8 @@
<Components> <Components>
<c:Animation> <c:Animation>
<AnimationName>ActivateShieldU</AnimationName> <AnimationName>ActivateShieldU</AnimationName>
<Loop>false</Loop>
</c:Animation>
<c:Transform/>
</Components>
<Children/>
</Entity>
<Entity name="Idle">
<Components>
<c:Animation>
<AnimationName>ShieldFrontU</AnimationName>
<Play>true</Play> <Play>true</Play>
<Loop>false</Loop>
</c:Animation> </c:Animation>
<c:Transform/> <c:Transform/>
</Components> </Components>
@@ -74,16 +65,7 @@
<Components> <Components>
<c:Animation> <c:Animation>
<AnimationName>ActivateShieldU</AnimationName> <AnimationName>ActivateShieldU</AnimationName>
<Loop>false</Loop> <Play>true</Play>
</c:Animation>
<c:Transform/>
</Components>
<Children/>
</Entity>
<Entity name="Idle">
<Components>
<c:Animation>
<AnimationName>ShieldFrontU</AnimationName>
<Loop>false</Loop> <Loop>false</Loop>
</c:Animation> </c:Animation>
<c:Transform/> <c:Transform/>
File diff suppressed because it is too large Load Diff
+3
View File
@@ -54,6 +54,7 @@ Source: "..\..\resources\DefaultConfig.ini"; DestDir: "{app}"; Flags: ignorevers
Source: "..\..\resources\DefaultInput.ini"; DestDir: "{app}"; Flags: ignoreversion Source: "..\..\resources\DefaultInput.ini"; DestDir: "{app}"; Flags: ignoreversion
Source: "..\..\bin\glew32.dll"; DestDir: "{app}"; Flags: ignoreversion Source: "..\..\bin\glew32.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "..\..\bin\glfw3.dll"; DestDir: "{app}"; Flags: ignoreversion Source: "..\..\bin\glfw3.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "..\..\bin\OpenAL32.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "..\..\bin\imgui.ini"; DestDir: "{app}"; Flags: ignoreversion Source: "..\..\bin\imgui.ini"; DestDir: "{app}"; Flags: ignoreversion
Source: "..\..\bin\Input.ini"; DestDir: "{app}"; Flags: ignoreversion Source: "..\..\bin\Input.ini"; DestDir: "{app}"; Flags: ignoreversion
Source: "..\..\bin\libpng16.dll"; DestDir: "{app}"; Flags: ignoreversion Source: "..\..\bin\libpng16.dll"; DestDir: "{app}"; Flags: ignoreversion
@@ -67,6 +68,8 @@ Source: "..\..\deps\redist\VC_redist.x64.exe"; DestDir: "{tmp}"; Flags: deleteaf
[Icons] [Icons]
Name: "{commonprograms}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}" Name: "{commonprograms}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon
Name: "{commonprograms}\{#MyAppName} Server"; Filename: "{app}\{#MyAppExeName}"; Parameters: "--server"
Name: "{commondesktop}\{#MyAppName} Server"; Filename: "{app}\{#MyAppExeName}"; Parameters: "--server"; Tasks: desktopicon
[INI] [INI]
Filename: "{app}\Config.ini"; Section: "Networking"; Key: "Name"; String: "{%USERNAME}"; Flags: createkeyifdoesntexist Filename: "{app}\Config.ini"; Section: "Networking"; Key: "Name"; String: "{%USERNAME}"; Flags: createkeyifdoesntexist
+1 -1
View File
@@ -321,7 +321,7 @@ void Renderer::InitializeRenderPasses()
m_LightCullingPass = new LightCullingPass(this); m_LightCullingPass = new LightCullingPass(this);
m_CubeMapPass = new CubeMapPass(this); m_CubeMapPass = new CubeMapPass(this);
m_SSAOPass = new SSAOPass(this, m_Config); m_SSAOPass = new SSAOPass(this, m_Config);
m_ShadowPass = new ShadowPass(this, m_Config->Get<bool>("Shadows.Enable", false)); m_ShadowPass = new ShadowPass(this);
m_BlurHUDPass = new BlurHUD(this); m_BlurHUDPass = new BlurHUD(this);
m_DrawFinalPass = new DrawFinalPass(this, m_LightCullingPass, m_CubeMapPass, m_SSAOPass, m_ShadowPass, m_Config); m_DrawFinalPass = new DrawFinalPass(this, m_LightCullingPass, m_CubeMapPass, m_SSAOPass, m_ShadowPass, m_Config);
m_DrawScreenQuadPass = new DrawScreenQuadPass(this); m_DrawScreenQuadPass = new DrawScreenQuadPass(this);
+17 -81
View File
@@ -1,84 +1,21 @@
#include "Rendering/ShadowPass.h" #include "Rendering/ShadowPass.h"
ShadowPass::ShadowPass(IRenderer * renderer, int shadow_res_x, int shadow_res_y, bool useShadow) ShadowPass::ShadowPass(IRenderer * renderer, int shadow_res_x, int shadow_res_y)
{ {
m_EnableShadows = useShadow; m_Renderer = renderer;
if (useShadow) { m_ResolutionSizeWidth = shadow_res_x;
m_Renderer = renderer; m_ResolutionSizeHeight = shadow_res_y;
m_ResolutionSizeWidth = shadow_res_x;
m_ResolutionSizeHeight = shadow_res_y;
InitializeFrameBuffers(); InitializeFrameBuffers();
InitializeShaderPrograms(); InitializeShaderPrograms();
} else {
glGenTextures(1, &m_DepthMap);
glBindTexture(GL_TEXTURE_2D_ARRAY, m_DepthMap);
glTexStorage3D(GL_TEXTURE_2D_ARRAY, 1, GL_DEPTH_COMPONENT16, 1, 1, m_CurrentNrOfSplits);
//glTexSubImage3D(GL_TEXTURE_2D_ARRAY, 0, 0, 0, 0, m_ResolutionSizeWidth, m_ResolutionSizeHeight, m_CurrentNrOfSplits, GL_DEPTH_COMPONENT, GL_UNSIGNED_INT, nullptr);
glTexParameteri(GL_TEXTURE_2D_ARRAY, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D_ARRAY, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D_ARRAY, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_BORDER);
glTexParameteri(GL_TEXTURE_2D_ARRAY, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_BORDER);
glTexParameteri(GL_TEXTURE_2D_ARRAY, GL_TEXTURE_COMPARE_MODE, GL_COMPARE_R_TO_TEXTURE);
glTexParameterfv(GL_TEXTURE_2D_ARRAY, GL_TEXTURE_BORDER_COLOR, glm::vec4(1.f).data);
glTexParameteri(GL_TEXTURE_2D_ARRAY, GL_TEXTURE_COMPARE_FUNC, GL_LEQUAL);
m_DepthBuffer.AddResource(std::shared_ptr<BufferResource>(new Texture2DArray(&m_DepthMap, GL_DEPTH_ATTACHMENT)));
m_DepthBuffer.Generate();
m_DepthBuffer.Bind();
for (int i = 0; i < m_CurrentNrOfSplits; i++) {
glFramebufferTextureLayer(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, m_DepthMap, 0, i);
glClear(GL_DEPTH_BUFFER_BIT);
}
m_DepthBuffer.Unbind();
}
} }
ShadowPass::ShadowPass(IRenderer * renderer, bool useShadow) ShadowPass::ShadowPass(IRenderer * renderer)
{ {
m_EnableShadows = useShadow; m_Renderer = renderer;
if (useShadow) {
m_Renderer = renderer;
InitializeFrameBuffers(); InitializeFrameBuffers();
InitializeShaderPrograms(); InitializeShaderPrograms();
} else {
glGenTextures(1, &m_DepthMap);
glBindTexture(GL_TEXTURE_2D_ARRAY, m_DepthMap);
glTexStorage3D(GL_TEXTURE_2D_ARRAY, 1, GL_DEPTH_COMPONENT16, 1, 1, m_CurrentNrOfSplits);
//glTexSubImage3D(GL_TEXTURE_2D_ARRAY, 0, 0, 0, 0, m_ResolutionSizeWidth, m_ResolutionSizeHeight, m_CurrentNrOfSplits, GL_DEPTH_COMPONENT, GL_UNSIGNED_INT, nullptr);
glTexParameteri(GL_TEXTURE_2D_ARRAY, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D_ARRAY, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D_ARRAY, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_BORDER);
glTexParameteri(GL_TEXTURE_2D_ARRAY, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_BORDER);
glTexParameteri(GL_TEXTURE_2D_ARRAY, GL_TEXTURE_COMPARE_MODE, GL_COMPARE_R_TO_TEXTURE);
glTexParameterfv(GL_TEXTURE_2D_ARRAY, GL_TEXTURE_BORDER_COLOR, glm::vec4(1.f).data);
glTexParameteri(GL_TEXTURE_2D_ARRAY, GL_TEXTURE_COMPARE_FUNC, GL_LEQUAL);
m_DepthBuffer.AddResource(std::shared_ptr<BufferResource>(new Texture2DArray(&m_DepthMap, GL_DEPTH_ATTACHMENT)));
m_DepthBuffer.Generate();
m_DepthBuffer.Bind();
for (int i = 0; i < m_CurrentNrOfSplits; i++) {
glFramebufferTextureLayer(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, m_DepthMap, 0, i);
glClear(GL_DEPTH_BUFFER_BIT);
}
m_DepthBuffer.Unbind();
}
} }
ShadowPass::~ShadowPass() ShadowPass::~ShadowPass()
@@ -183,6 +120,7 @@ float ShadowPass::FindRadius(ShadowFrustum& frustum)
radius = distance; radius = distance;
} }
} }
frustum.Radius = radius; frustum.Radius = radius;
return radius; return radius;
} }
@@ -230,17 +168,15 @@ void ShadowPass::InitializeShaderPrograms()
void ShadowPass::ClearBuffer() void ShadowPass::ClearBuffer()
{ {
if (m_EnableShadows) { m_DepthBuffer.Bind();
m_DepthBuffer.Bind();
for (int i = 0; i < m_CurrentNrOfSplits; i++) { for (int i = 0; i < m_CurrentNrOfSplits; i++) {
glFramebufferTextureLayer(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, m_DepthMap, 0, i); glFramebufferTextureLayer(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, m_DepthMap, 0, i);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
}
m_DepthBuffer.Unbind();
} }
m_DepthBuffer.Unbind();
} }
void ShadowPass::PointsToLightspace(ShadowFrustum& frustum, glm::mat4 v) void ShadowPass::PointsToLightspace(ShadowFrustum& frustum, glm::mat4 v)
+2
View File
@@ -28,6 +28,8 @@ Texture::Texture(std::string path)
break; break;
} }
//Master hade PNG release here...
// Construct the OpenGL texture // Construct the OpenGL texture
glGenTextures(1, &m_Texture); glGenTextures(1, &m_Texture);
glBindTexture(GL_TEXTURE_2D, m_Texture); glBindTexture(GL_TEXTURE_2D, m_Texture);
@@ -160,9 +160,9 @@ bool DefenderWeaponBehaviour::OnInputCommand(ComponentWrapper cWeapon, WeaponInf
} }
} }
if (IsServer) { SpawnerSystem::Spawn(attachment, attachment);
SpawnerSystem::Spawn(attachment, attachment);
} /*
EntityWrapper backAttachment = attachment.FirstChildByName("Back"); EntityWrapper backAttachment = attachment.FirstChildByName("Back");
if (backAttachment.Valid()) { if (backAttachment.Valid()) {
@@ -172,7 +172,11 @@ bool DefenderWeaponBehaviour::OnInputCommand(ComponentWrapper cWeapon, WeaponInf
eDeployShieldAttachement.Restart = true; eDeployShieldAttachement.Restart = true;
eDeployShieldAttachement.Start = true; eDeployShieldAttachement.Start = true;
m_EventBroker->Publish(eDeployShieldAttachement); m_EventBroker->Publish(eDeployShieldAttachement);
} else {
LOG_ERROR("back shield invalid");
} }
EntityWrapper frontAttachment = attachment.FirstChildByName("Front"); EntityWrapper frontAttachment = attachment.FirstChildByName("Front");
if (frontAttachment.Valid()) { if (frontAttachment.Valid()) {
Events::AutoAnimationBlend eDeployShieldAttachement; Events::AutoAnimationBlend eDeployShieldAttachement;
@@ -182,7 +186,10 @@ bool DefenderWeaponBehaviour::OnInputCommand(ComponentWrapper cWeapon, WeaponInf
eDeployShieldAttachement.Start = true; eDeployShieldAttachement.Start = true;
m_EventBroker->Publish(eDeployShieldAttachement); m_EventBroker->Publish(eDeployShieldAttachement);
} else {
LOG_ERROR("front shield invalid");
} }
*/
if (IsClient) { if (IsClient) {
EntityWrapper root = wi.FirstPersonEntity; EntityWrapper root = wi.FirstPersonEntity;