point light

This commit is contained in:
Confideo-IOM
2026-07-17 21:06:44 +01:00
parent 2fc305bc4d
commit b7aa111438
48 changed files with 405 additions and 186 deletions
+1 -1
View File
@@ -4,7 +4,7 @@ bool HydraGame::Initialise()
{
// m_angle = 0.01f;
m_sun_light_id = GetEngine()->ActorManager()->CreateActor<HydraDirectionalLightActor>();
m_sun_light_id = GetEngine()->ActorManager()->CreateActor<HydraPointLightActor>();
GetEngine()->ActorManager()->InitialiseActor(m_sun_light_id);
GetEngine()->ActorManager()->SetOrientation(m_sun_light_id, -0.5f, 0.0f, 0.0f);
GetEngine()->ActorManager()->SetPosition(m_sun_light_id, glm::dvec3(0.0f, 4.0f, 10.0f));
+1
View File
@@ -8,6 +8,7 @@
#include "../source/actor/HydraPlaneActor.h"
#include "../source/actor/HydraPlayerActor.h"
#include "../source/actor/HydraDirectionalLightActor.h"
#include "../source/actor/HydraPointLightActor.h"
#include "../source/camera/HydraCamera.h"
#include <GLMIncludes.h>
@@ -11,6 +11,11 @@ uint METAL_ROUGH_TEXTURE_ID = 2;
uint NORMAL_TEXTURE_ID = 3;
uint POSITION_TEXTIURE_ID = 4;
uint HYDRA_LIGHT_DIRECTIONAL = 1;
uint HYDRA_LIGHT_POINT = 2;
uint HYDRA_LIGHT_SPOT = 3;
struct light_structure
{
vec4 light_colour;
@@ -156,6 +161,59 @@ vec3 DirectionalShading(vec3 normal, vec3 diffuse, float roughness, float metall
return Lo;
}
vec3 PointShading(vec3 normal, vec3 diffuse, float roughness, float metallic, float light_intensity, vec3 lightColour, vec3 lightDir, vec3 lightPos, vec3 worldPos, vec3 viewPos)
{
vec3 N = normalize(normal);
vec3 V = normalize(viewPos - worldPos);
// calculate reflectance at normal incidence; if dia-electric (like plastic) use F0
// of 0.04 and if it's a metal, use the albedo color as F0 (metallic workflow)
vec3 F0 = vec3(0.04);
F0 = mix(F0, diffuse, metallic);
// reflectance equation
vec3 Lo = vec3(0.0);
// calculate per-light radiance
vec3 L = normalize(lightPos - worldPos);
vec3 H = normalize(V + L);
float distance = length(lightPos - worldPos);
float attenuation = 1.0;
attenuation = light_intensity / (distance * distance);
vec3 radiance = lightColour * attenuation;
// Cook-Torrance BRDF
float NDF = DistributionGGX(N, H, roughness);
float G = GeometrySmith(N, V, L, roughness);
vec3 F = fresnelSchlick(clamp(dot(H, V), 0.0, 1.0), F0);
vec3 numerator = NDF * G * F;
float denominator = 4.0 * max(dot(N, V), 0.0) * max(dot(N, L), 0.0) + 0.0001; // + 0.0001 to prevent divide by zero
vec3 specular = numerator / denominator;
// kS is equal to Fresnel
vec3 kS = F;
// for energy conservation, the diffuse and specular light can't
// be above 1.0 (unless the surface emits light); to preserve this
// relationship the diffuse component (kD) should equal 1.0 - kS.
vec3 kD = vec3(1.0) - kS;
// multiply kD by the inverse metalness such that only non-metals
// have diffuse lighting, or a linear blend if partly metal (pure metals
// have no diffuse light).
kD *= 1.0 - metallic;
// scale light by NdotL
float NdotL = max(dot(N, L), 0.0);
// add to outgoing radiance Lo
Lo += (kD * diffuse / PI + specular) * radiance * NdotL; // note that we already multiplied the BRDF by the Fresnel (kS) so we won't multiply by kS again
return Lo;
}
mat3 GetRotationOnlyMatrix(mat4 model_mat)
{
mat3 rot_mat;
@@ -192,9 +250,15 @@ void main()
vec3 light_direction = rot_mat * vec3(0,0,1);
vec3 light_pos = model[3].xyz;
if(lights[i].light_type == HYDRA_LIGHT_DIRECTIONAL)
{
Lo+= DirectionalShading(normal, diffuse.xyz, rough, metal, lights[i].light_intensity, lights[i].light_colour.xyz, light_direction, light_pos, world_pos, ubo_per_frame.viewer_pos);
}
else if(lights[i].light_type == HYDRA_LIGHT_POINT)
{
Lo+= PointShading(normal, diffuse.xyz, rough, metal, lights[i].light_intensity, lights[i].light_colour.xyz, light_direction, light_pos, world_pos, ubo_per_frame.viewer_pos);
}
vec3 colour = DirectionalShading(normal, diffuse.xyz, rough, metal, lights[i].light_intensity, lights[i].light_colour.xyz, light_direction, light_pos, world_pos, ubo_per_frame.viewer_pos);
Lo = colour;
//uFragColor = vec4(light_direction, 1);
}
@@ -1,5 +1,5 @@
#ifndef HYDRALIGHTACTOR
#define HYDRALIGHTACTOR
#ifndef HYDRADIRECTIONALLIGHTACTOR
#define HYDRADIRECTIONALLIGHTACTOR
#include "HydraActor.h"
class CLASS_DEFINE HydraDirectionalLightActor : public HydraActor
@@ -15,4 +15,4 @@ class CLASS_DEFINE HydraDirectionalLightActor : public HydraActor
};
#endif /* HYDRALIGHTACTOR */
#endif /* HYDRADIRECTIONALLIGHTACTOR */
@@ -0,0 +1,37 @@
#include "HydraPointLightActor.h"
#include "../engine/HydraEngine.h"
#include "../actor/HydraActorManager.h"
#include "../task/HydraTask.h"
#include "../ecs/HydraECS.h"
#include "../ecs/components/HydraPositionComponent.h"
#include "../ecs/components/HydraMeshComponent.h"
#include "../ecs/components/HydraRenderableComponent.h"
#include "../ecs/components/HydraMaterialComponent.h"
#include "../ecs/components/HydraLightComponent.h"
#include "../buffer/HydraLightBufferManager.h"
#include "../buffer/HydraLightBuffer.h"
void HydraPointLightActor::InitialiseComponents()
{
HydraLightComponent light_comp = {};
HydraECS *ecs = GetEngine()->ECS();
light_comp.light_colour = glm::vec4(1,1,1,1);
light_comp.light_intensity = 10.0f;
light_comp.light_type = static_cast<uint32_t>(HYDRA_LIGHT_TYPE::HYDRA_LIGHT_POINT);
light_comp.entity_id = GetID();
ecs->AddComponent<HydraLightComponent>(GetID(), light_comp);
HydraPositionComponent position_component;
ecs->AddComponent<HydraPositionComponent>(GetID(), position_component);
}
void HydraPointLightActor::Destroy()
{
}
@@ -0,0 +1,21 @@
#ifndef HYDRAPOINTLIGHTACTOR
#define HYDRAPOINTLIGHTACTOR
#include "HydraActor.h"
class CLASS_DEFINE HydraPointLightActor : public HydraActor
{
private:
protected:
public:
virtual void InitialiseComponents() override;
virtual void Destroy() override;
};
#endif /* HYDRAPOINTLIGHTACTOR */
+1
Submodule Libraries/box3d added at d421e45c82
@@ -161,28 +161,28 @@
{
"directoryIndex" : 0,
"id" : "ALL_BUILD::@6890427a1f51a3e7e1df",
"jsonFile" : "target-ALL_BUILD-Debug-1b3c50ca02e96d15a11f.json",
"jsonFile" : "target-ALL_BUILD-Debug-9ddbbbeb4caedf0a48f0.json",
"name" : "ALL_BUILD",
"projectIndex" : 0
},
{
"directoryIndex" : 1,
"id" : "ALL_BUILD::@fafd37b19aacd4c483ed",
"jsonFile" : "target-ALL_BUILD-Debug-21126e6f26f8151b82a1.json",
"jsonFile" : "target-ALL_BUILD-Debug-30097c8e6651db3aff43.json",
"name" : "ALL_BUILD",
"projectIndex" : 1
},
{
"directoryIndex" : 0,
"id" : "HydraClient::@6890427a1f51a3e7e1df",
"jsonFile" : "target-HydraClient-Debug-ccca9689ebe6b19fe65a.json",
"jsonFile" : "target-HydraClient-Debug-78ce361b98c7c89e9629.json",
"name" : "HydraClient",
"projectIndex" : 0
},
{
"directoryIndex" : 1,
"id" : "HydraEngine::@fafd37b19aacd4c483ed",
"jsonFile" : "target-HydraEngine-Debug-1db842c140e896f4b225.json",
"jsonFile" : "target-HydraEngine-Debug-552fba7b8e0c042c3903.json",
"name" : "HydraEngine",
"projectIndex" : 1
},
@@ -355,28 +355,28 @@
{
"directoryIndex" : 0,
"id" : "ALL_BUILD::@6890427a1f51a3e7e1df",
"jsonFile" : "target-ALL_BUILD-Release-1b3c50ca02e96d15a11f.json",
"jsonFile" : "target-ALL_BUILD-Release-9ddbbbeb4caedf0a48f0.json",
"name" : "ALL_BUILD",
"projectIndex" : 0
},
{
"directoryIndex" : 1,
"id" : "ALL_BUILD::@fafd37b19aacd4c483ed",
"jsonFile" : "target-ALL_BUILD-Release-21126e6f26f8151b82a1.json",
"jsonFile" : "target-ALL_BUILD-Release-30097c8e6651db3aff43.json",
"name" : "ALL_BUILD",
"projectIndex" : 1
},
{
"directoryIndex" : 0,
"id" : "HydraClient::@6890427a1f51a3e7e1df",
"jsonFile" : "target-HydraClient-Release-f300bf694420197200c5.json",
"jsonFile" : "target-HydraClient-Release-5f750d1feb1d099be72b.json",
"name" : "HydraClient",
"projectIndex" : 0
},
{
"directoryIndex" : 1,
"id" : "HydraEngine::@fafd37b19aacd4c483ed",
"jsonFile" : "target-HydraEngine-Release-d5f51c0a78a062f535e1.json",
"jsonFile" : "target-HydraEngine-Release-d5355df26e8e8ebc1862.json",
"name" : "HydraEngine",
"projectIndex" : 1
},
@@ -549,28 +549,28 @@
{
"directoryIndex" : 0,
"id" : "ALL_BUILD::@6890427a1f51a3e7e1df",
"jsonFile" : "target-ALL_BUILD-MinSizeRel-1b3c50ca02e96d15a11f.json",
"jsonFile" : "target-ALL_BUILD-MinSizeRel-9ddbbbeb4caedf0a48f0.json",
"name" : "ALL_BUILD",
"projectIndex" : 0
},
{
"directoryIndex" : 1,
"id" : "ALL_BUILD::@fafd37b19aacd4c483ed",
"jsonFile" : "target-ALL_BUILD-MinSizeRel-21126e6f26f8151b82a1.json",
"jsonFile" : "target-ALL_BUILD-MinSizeRel-30097c8e6651db3aff43.json",
"name" : "ALL_BUILD",
"projectIndex" : 1
},
{
"directoryIndex" : 0,
"id" : "HydraClient::@6890427a1f51a3e7e1df",
"jsonFile" : "target-HydraClient-MinSizeRel-707588ed524688a0f034.json",
"jsonFile" : "target-HydraClient-MinSizeRel-0b1754e9511a8dea2861.json",
"name" : "HydraClient",
"projectIndex" : 0
},
{
"directoryIndex" : 1,
"id" : "HydraEngine::@fafd37b19aacd4c483ed",
"jsonFile" : "target-HydraEngine-MinSizeRel-995472ef22991878bce1.json",
"jsonFile" : "target-HydraEngine-MinSizeRel-300e0b7a01e3150809fd.json",
"name" : "HydraEngine",
"projectIndex" : 1
},
@@ -743,28 +743,28 @@
{
"directoryIndex" : 0,
"id" : "ALL_BUILD::@6890427a1f51a3e7e1df",
"jsonFile" : "target-ALL_BUILD-RelWithDebInfo-1b3c50ca02e96d15a11f.json",
"jsonFile" : "target-ALL_BUILD-RelWithDebInfo-9ddbbbeb4caedf0a48f0.json",
"name" : "ALL_BUILD",
"projectIndex" : 0
},
{
"directoryIndex" : 1,
"id" : "ALL_BUILD::@fafd37b19aacd4c483ed",
"jsonFile" : "target-ALL_BUILD-RelWithDebInfo-21126e6f26f8151b82a1.json",
"jsonFile" : "target-ALL_BUILD-RelWithDebInfo-30097c8e6651db3aff43.json",
"name" : "ALL_BUILD",
"projectIndex" : 1
},
{
"directoryIndex" : 0,
"id" : "HydraClient::@6890427a1f51a3e7e1df",
"jsonFile" : "target-HydraClient-RelWithDebInfo-a4b1a5ac731bdcc03733.json",
"jsonFile" : "target-HydraClient-RelWithDebInfo-19110864938462bdea5b.json",
"name" : "HydraClient",
"projectIndex" : 0
},
{
"directoryIndex" : 1,
"id" : "HydraEngine::@fafd37b19aacd4c483ed",
"jsonFile" : "target-HydraEngine-RelWithDebInfo-dd4182fa7add67a0db44.json",
"jsonFile" : "target-HydraEngine-RelWithDebInfo-365df9edb3aa4717e569.json",
"name" : "HydraEngine",
"projectIndex" : 1
},
@@ -27,7 +27,7 @@
"objects" :
[
{
"jsonFile" : "codemodel-v2-03101ff4c8a54231af29.json",
"jsonFile" : "codemodel-v2-aa0145a10a295b367570.json",
"kind" : "codemodel",
"version" :
{
@@ -100,7 +100,7 @@
}
},
{
"jsonFile" : "codemodel-v2-03101ff4c8a54231af29.json",
"jsonFile" : "codemodel-v2-aa0145a10a295b367570.json",
"kind" : "codemodel",
"version" :
{
@@ -22,10 +22,10 @@
"dependencies" :
[
{
"id" : "ZERO_CHECK::@6890427a1f51a3e7e1df"
"id" : "HydraEngine::@fafd37b19aacd4c483ed"
},
{
"id" : "HydraEngine::@fafd37b19aacd4c483ed"
"id" : "ZERO_CHECK::@6890427a1f51a3e7e1df"
}
],
"folder" :
@@ -21,14 +21,14 @@
},
"dependencies" :
[
{
"id" : "ZERO_CHECK::@6890427a1f51a3e7e1df"
},
{
"id" : "HydraClient::@6890427a1f51a3e7e1df"
},
{
"id" : "HydraEngine::@fafd37b19aacd4c483ed"
},
{
"id" : "ZERO_CHECK::@6890427a1f51a3e7e1df"
}
],
"folder" :
@@ -22,10 +22,10 @@
"dependencies" :
[
{
"id" : "ZERO_CHECK::@6890427a1f51a3e7e1df"
"id" : "HydraEngine::@fafd37b19aacd4c483ed"
},
{
"id" : "HydraEngine::@fafd37b19aacd4c483ed"
"id" : "ZERO_CHECK::@6890427a1f51a3e7e1df"
}
],
"folder" :
@@ -21,14 +21,14 @@
},
"dependencies" :
[
{
"id" : "ZERO_CHECK::@6890427a1f51a3e7e1df"
},
{
"id" : "HydraClient::@6890427a1f51a3e7e1df"
},
{
"id" : "HydraEngine::@fafd37b19aacd4c483ed"
},
{
"id" : "ZERO_CHECK::@6890427a1f51a3e7e1df"
}
],
"folder" :
@@ -22,10 +22,10 @@
"dependencies" :
[
{
"id" : "ZERO_CHECK::@6890427a1f51a3e7e1df"
"id" : "HydraEngine::@fafd37b19aacd4c483ed"
},
{
"id" : "HydraEngine::@fafd37b19aacd4c483ed"
"id" : "ZERO_CHECK::@6890427a1f51a3e7e1df"
}
],
"folder" :
@@ -21,14 +21,14 @@
},
"dependencies" :
[
{
"id" : "ZERO_CHECK::@6890427a1f51a3e7e1df"
},
{
"id" : "HydraClient::@6890427a1f51a3e7e1df"
},
{
"id" : "HydraEngine::@fafd37b19aacd4c483ed"
},
{
"id" : "ZERO_CHECK::@6890427a1f51a3e7e1df"
}
],
"folder" :
@@ -22,10 +22,10 @@
"dependencies" :
[
{
"id" : "ZERO_CHECK::@6890427a1f51a3e7e1df"
"id" : "HydraEngine::@fafd37b19aacd4c483ed"
},
{
"id" : "HydraEngine::@fafd37b19aacd4c483ed"
"id" : "ZERO_CHECK::@6890427a1f51a3e7e1df"
}
],
"folder" :
@@ -21,14 +21,14 @@
},
"dependencies" :
[
{
"id" : "ZERO_CHECK::@6890427a1f51a3e7e1df"
},
{
"id" : "HydraClient::@6890427a1f51a3e7e1df"
},
{
"id" : "HydraEngine::@fafd37b19aacd4c483ed"
},
{
"id" : "ZERO_CHECK::@6890427a1f51a3e7e1df"
}
],
"folder" :
@@ -106,12 +106,12 @@
],
"dependencies" :
[
{
"id" : "ZERO_CHECK::@6890427a1f51a3e7e1df"
},
{
"backtrace" : 2,
"id" : "HydraEngine::@fafd37b19aacd4c483ed"
},
{
"id" : "ZERO_CHECK::@6890427a1f51a3e7e1df"
}
],
"id" : "HydraClient::@6890427a1f51a3e7e1df",
@@ -106,12 +106,12 @@
],
"dependencies" :
[
{
"id" : "ZERO_CHECK::@6890427a1f51a3e7e1df"
},
{
"backtrace" : 2,
"id" : "HydraEngine::@fafd37b19aacd4c483ed"
},
{
"id" : "ZERO_CHECK::@6890427a1f51a3e7e1df"
}
],
"id" : "HydraClient::@6890427a1f51a3e7e1df",
@@ -106,12 +106,12 @@
],
"dependencies" :
[
{
"id" : "ZERO_CHECK::@6890427a1f51a3e7e1df"
},
{
"backtrace" : 2,
"id" : "HydraEngine::@fafd37b19aacd4c483ed"
},
{
"id" : "ZERO_CHECK::@6890427a1f51a3e7e1df"
}
],
"id" : "HydraClient::@6890427a1f51a3e7e1df",
@@ -106,12 +106,12 @@
],
"dependencies" :
[
{
"id" : "ZERO_CHECK::@6890427a1f51a3e7e1df"
},
{
"backtrace" : 2,
"id" : "HydraEngine::@fafd37b19aacd4c483ed"
},
{
"id" : "ZERO_CHECK::@6890427a1f51a3e7e1df"
}
],
"id" : "HydraClient::@6890427a1f51a3e7e1df",
@@ -198,16 +198,16 @@
13,
15,
17,
20,
23,
26,
19,
22,
25,
28,
32,
30,
34,
38,
42,
36,
40,
44,
54,
46,
56,
58,
60,
@@ -217,8 +217,8 @@
68,
70,
72,
75,
78,
74,
77,
80,
82,
84,
@@ -227,7 +227,8 @@
90,
92,
94,
98
96,
100
]
}
],
@@ -313,16 +314,16 @@
13,
15,
17,
20,
23,
26,
19,
22,
25,
28,
32,
30,
34,
38,
42,
36,
40,
44,
54,
46,
56,
58,
60,
@@ -332,8 +333,8 @@
68,
70,
72,
75,
78,
74,
77,
80,
82,
84,
@@ -342,7 +343,8 @@
90,
92,
94,
98
96,
100
]
},
{
@@ -360,25 +362,24 @@
14,
16,
18,
19,
20,
21,
22,
23,
24,
25,
26,
27,
29,
30,
31,
32,
33,
35,
36,
37,
38,
39,
40,
41,
42,
43,
45,
46,
47,
48,
49,
@@ -386,6 +387,7 @@
51,
52,
53,
54,
55,
57,
59,
@@ -396,9 +398,9 @@
69,
71,
73,
74,
75,
76,
77,
78,
79,
81,
83,
@@ -408,9 +410,10 @@
91,
93,
95,
96,
97,
99
98,
99,
101
]
}
],
@@ -519,6 +522,17 @@
"path" : "HydraEngine/source/actor/HydraPlayerActor.h",
"sourceGroupIndex" : 1
},
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "HydraEngine/source/actor/HydraPointLightActor.cpp",
"sourceGroupIndex" : 0
},
{
"backtrace" : 1,
"path" : "HydraEngine/source/actor/HydraPointLightActor.h",
"sourceGroupIndex" : 1
},
{
"backtrace" : 1,
"path" : "HydraEngine/source/buffer/HydraBuffer.h",
@@ -198,16 +198,16 @@
13,
15,
17,
20,
23,
26,
19,
22,
25,
28,
32,
30,
34,
38,
42,
36,
40,
44,
54,
46,
56,
58,
60,
@@ -217,8 +217,8 @@
68,
70,
72,
75,
78,
74,
77,
80,
82,
84,
@@ -227,7 +227,8 @@
90,
92,
94,
98
96,
100
]
}
],
@@ -313,16 +314,16 @@
13,
15,
17,
20,
23,
26,
19,
22,
25,
28,
32,
30,
34,
38,
42,
36,
40,
44,
54,
46,
56,
58,
60,
@@ -332,8 +333,8 @@
68,
70,
72,
75,
78,
74,
77,
80,
82,
84,
@@ -342,7 +343,8 @@
90,
92,
94,
98
96,
100
]
},
{
@@ -360,25 +362,24 @@
14,
16,
18,
19,
20,
21,
22,
23,
24,
25,
26,
27,
29,
30,
31,
32,
33,
35,
36,
37,
38,
39,
40,
41,
42,
43,
45,
46,
47,
48,
49,
@@ -386,6 +387,7 @@
51,
52,
53,
54,
55,
57,
59,
@@ -396,9 +398,9 @@
69,
71,
73,
74,
75,
76,
77,
78,
79,
81,
83,
@@ -408,9 +410,10 @@
91,
93,
95,
96,
97,
99
98,
99,
101
]
}
],
@@ -519,6 +522,17 @@
"path" : "HydraEngine/source/actor/HydraPlayerActor.h",
"sourceGroupIndex" : 1
},
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "HydraEngine/source/actor/HydraPointLightActor.cpp",
"sourceGroupIndex" : 0
},
{
"backtrace" : 1,
"path" : "HydraEngine/source/actor/HydraPointLightActor.h",
"sourceGroupIndex" : 1
},
{
"backtrace" : 1,
"path" : "HydraEngine/source/buffer/HydraBuffer.h",
@@ -198,16 +198,16 @@
13,
15,
17,
20,
23,
26,
19,
22,
25,
28,
32,
30,
34,
38,
42,
36,
40,
44,
54,
46,
56,
58,
60,
@@ -217,8 +217,8 @@
68,
70,
72,
75,
78,
74,
77,
80,
82,
84,
@@ -227,7 +227,8 @@
90,
92,
94,
98
96,
100
]
}
],
@@ -313,16 +314,16 @@
13,
15,
17,
20,
23,
26,
19,
22,
25,
28,
32,
30,
34,
38,
42,
36,
40,
44,
54,
46,
56,
58,
60,
@@ -332,8 +333,8 @@
68,
70,
72,
75,
78,
74,
77,
80,
82,
84,
@@ -342,7 +343,8 @@
90,
92,
94,
98
96,
100
]
},
{
@@ -360,25 +362,24 @@
14,
16,
18,
19,
20,
21,
22,
23,
24,
25,
26,
27,
29,
30,
31,
32,
33,
35,
36,
37,
38,
39,
40,
41,
42,
43,
45,
46,
47,
48,
49,
@@ -386,6 +387,7 @@
51,
52,
53,
54,
55,
57,
59,
@@ -396,9 +398,9 @@
69,
71,
73,
74,
75,
76,
77,
78,
79,
81,
83,
@@ -408,9 +410,10 @@
91,
93,
95,
96,
97,
99
98,
99,
101
]
}
],
@@ -519,6 +522,17 @@
"path" : "HydraEngine/source/actor/HydraPlayerActor.h",
"sourceGroupIndex" : 1
},
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "HydraEngine/source/actor/HydraPointLightActor.cpp",
"sourceGroupIndex" : 0
},
{
"backtrace" : 1,
"path" : "HydraEngine/source/actor/HydraPointLightActor.h",
"sourceGroupIndex" : 1
},
{
"backtrace" : 1,
"path" : "HydraEngine/source/buffer/HydraBuffer.h",
@@ -198,16 +198,16 @@
13,
15,
17,
20,
23,
26,
19,
22,
25,
28,
32,
30,
34,
38,
42,
36,
40,
44,
54,
46,
56,
58,
60,
@@ -217,8 +217,8 @@
68,
70,
72,
75,
78,
74,
77,
80,
82,
84,
@@ -227,7 +227,8 @@
90,
92,
94,
98
96,
100
]
}
],
@@ -313,16 +314,16 @@
13,
15,
17,
20,
23,
26,
19,
22,
25,
28,
32,
30,
34,
38,
42,
36,
40,
44,
54,
46,
56,
58,
60,
@@ -332,8 +333,8 @@
68,
70,
72,
75,
78,
74,
77,
80,
82,
84,
@@ -342,7 +343,8 @@
90,
92,
94,
98
96,
100
]
},
{
@@ -360,25 +362,24 @@
14,
16,
18,
19,
20,
21,
22,
23,
24,
25,
26,
27,
29,
30,
31,
32,
33,
35,
36,
37,
38,
39,
40,
41,
42,
43,
45,
46,
47,
48,
49,
@@ -386,6 +387,7 @@
51,
52,
53,
54,
55,
57,
59,
@@ -396,9 +398,9 @@
69,
71,
73,
74,
75,
76,
77,
78,
79,
81,
83,
@@ -408,9 +410,10 @@
91,
93,
95,
96,
97,
99
98,
99,
101
]
}
],
@@ -519,6 +522,17 @@
"path" : "HydraEngine/source/actor/HydraPlayerActor.h",
"sourceGroupIndex" : 1
},
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "HydraEngine/source/actor/HydraPointLightActor.cpp",
"sourceGroupIndex" : 0
},
{
"backtrace" : 1,
"path" : "HydraEngine/source/actor/HydraPointLightActor.h",
"sourceGroupIndex" : 1
},
{
"backtrace" : 1,
"path" : "HydraEngine/source/buffer/HydraBuffer.h",
Binary file not shown.
@@ -2,13 +2,28 @@ c:\code\hydrav3\build\hydraclient.dir\debug\vc143.pdb
c:\code\hydrav3\build\hydraclient.dir\debug\hydragame.obj
c:\code\hydrav3\build\hydraclient.dir\debug\hydraclient.obj
c:\code\hydrav3\build\cmakefiles\generate.stamp
c:\code\hydrav3\build\debug\hydraclient.exe
c:\code\hydrav3\build\debug\hydraclient.lib
c:\code\hydrav3\build\debug\hydraclient.exp
c:\code\hydrav3\build\hydraclient.dir\debug\hydraclient.ilk
c:\code\hydrav3\build\debug\hydraclient.pdb
c:\code\hydrav3\build\hydraclient.dir\debug\hydraclient.tlog\cl.command.1.tlog
c:\code\hydrav3\build\hydraclient.dir\debug\hydraclient.tlog\cl.items.tlog
c:\code\hydrav3\build\hydraclient.dir\debug\hydraclient.tlog\cl.read.1.tlog
c:\code\hydrav3\build\hydraclient.dir\debug\hydraclient.tlog\cl.write.1.tlog
c:\code\hydrav3\build\hydraclient.dir\debug\hydraclient.tlog\custombuild.command.1.tlog
c:\code\hydrav3\build\hydraclient.dir\debug\hydraclient.tlog\custombuild.read.1.tlog
c:\code\hydrav3\build\hydraclient.dir\debug\hydraclient.tlog\custombuild.write.1.tlog
c:\code\hydrav3\build\hydraclient.dir\debug\hydraclient.tlog\link.135000-cvtres.read.1.tlog
c:\code\hydrav3\build\hydraclient.dir\debug\hydraclient.tlog\link.135000-cvtres.write.1.tlog
c:\code\hydrav3\build\hydraclient.dir\debug\hydraclient.tlog\link.135000-rc.read.1.tlog
c:\code\hydrav3\build\hydraclient.dir\debug\hydraclient.tlog\link.135000-rc.write.1.tlog
c:\code\hydrav3\build\hydraclient.dir\debug\hydraclient.tlog\link.135000.read.1.tlog
c:\code\hydrav3\build\hydraclient.dir\debug\hydraclient.tlog\link.135000.read.2.tlog
c:\code\hydrav3\build\hydraclient.dir\debug\hydraclient.tlog\link.135000.read.3.tlog
c:\code\hydrav3\build\hydraclient.dir\debug\hydraclient.tlog\link.135000.read.4.tlog
c:\code\hydrav3\build\hydraclient.dir\debug\hydraclient.tlog\link.135000.read.5.tlog
c:\code\hydrav3\build\hydraclient.dir\debug\hydraclient.tlog\link.135000.write.1.tlog
c:\code\hydrav3\build\hydraclient.dir\debug\hydraclient.tlog\link.command.1.tlog
c:\code\hydrav3\build\hydraclient.dir\debug\hydraclient.tlog\link.read.1.tlog
c:\code\hydrav3\build\hydraclient.dir\debug\hydraclient.tlog\link.secondary.1.tlog
c:\code\hydrav3\build\hydraclient.dir\debug\hydraclient.tlog\link.write.1.tlog
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -34,6 +34,9 @@ c:\code\hydrav3\build\hydraengine\hydraengine.dir\debug\hydragameproxy.obj
c:\code\hydrav3\build\hydraengine\hydraengine.dir\debug\hydragltfloader.obj
c:\code\hydrav3\build\hydraengine\hydraengine.dir\debug\hydraobject.obj
c:\code\hydrav3\build\hydraengine\hydraengine.dir\debug\hydrainputmanager.obj
c:\code\hydrav3\build\hydraengine\hydraengine.dir\debug\hydralightbuffermanager.obj
c:\code\hydrav3\build\hydraengine\hydraengine.dir\debug\hydradirectionallightactor.obj
c:\code\hydrav3\build\hydraengine\hydraengine.dir\debug\hydralightsystem.obj
c:\code\hydrav3\build\hydraengine\cmakefiles\generate.stamp
c:\code\hydrav3\build\hydraengine\debug\hydraengine.dll
c:\code\hydrav3\build\hydraengine\debug\hydraengine.pdb
@@ -6,6 +6,7 @@ C:\Code\HydraV3\HydraEngine\source\actor\HydraGLTFActor.cpp;C:\Code\HydraV3\buil
C:\Code\HydraV3\HydraEngine\source\actor\HydraOutputActor.cpp;C:\Code\HydraV3\build\HydraEngine\HydraEngine.dir\Debug\HydraOutputActor.obj
C:\Code\HydraV3\HydraEngine\source\actor\HydraPlaneActor.cpp;C:\Code\HydraV3\build\HydraEngine\HydraEngine.dir\Debug\HydraPlaneActor.obj
C:\Code\HydraV3\HydraEngine\source\actor\HydraPlayerActor.cpp;C:\Code\HydraV3\build\HydraEngine\HydraEngine.dir\Debug\HydraPlayerActor.obj
C:\Code\HydraV3\HydraEngine\source\actor\HydraPointLightActor.cpp;C:\Code\HydraV3\build\HydraEngine\HydraEngine.dir\Debug\HydraPointLightActor.obj
C:\Code\HydraV3\HydraEngine\source\buffer\HydraBufferManager.cpp;C:\Code\HydraV3\build\HydraEngine\HydraEngine.dir\Debug\HydraBufferManager.obj
C:\Code\HydraV3\HydraEngine\source\buffer\HydraLightBufferManager.cpp;C:\Code\HydraV3\build\HydraEngine\HydraEngine.dir\Debug\HydraLightBufferManager.obj
C:\Code\HydraV3\HydraEngine\source\buffer\HydraMaterialBufferManager.cpp;C:\Code\HydraV3\build\HydraEngine\HydraEngine.dir\Debug\HydraMaterialBufferManager.obj
@@ -1,4 +1,4 @@
^C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\CMAKECXXCOMPILERID.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRAACTOR.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRAACTORMANAGER.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRABUFFERMANAGER.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRACAMERA.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRADEFERREDPIPELINE.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRADIRECTIONALLIGHTACTOR.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRAECS.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRAENGINE.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRAFORWARDPIPELINE.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRAGAMEPROXY.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRAGLTFACTOR.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRAGLTFLOADER.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRAINPUTMANAGER.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRALIGHTBUFFERMANAGER.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRALIGHTSYSTEM.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRAMATERIALBUFFERMANAGER.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRAMATERIALSYSTEM.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRAMESHMANAGER.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRAMESHSYSTEM.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRAOBJECT.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRAOUTPUTACTOR.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRAPIPELINE.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRAPLANEACTOR.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRAPLAYERACTOR.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRARENDERER.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRARENDERSTAGE.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRARENDERSYSTEM.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRASYSTEM.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRASYSTEMMANAGER.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRATASK.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRATASKBARRIER.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRATASKSCHEDULER.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRATEXTUREBUFFERMANAGER.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRATHREAD.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRATRANSFORMSYSTEM.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRAVERTEXBUFFERMANAGER.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRAWINDOWMANAGER.OBJ
^C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\CMAKECXXCOMPILERID.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRAACTOR.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRAACTORMANAGER.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRABUFFERMANAGER.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRACAMERA.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRADEFERREDPIPELINE.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRADIRECTIONALLIGHTACTOR.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRAECS.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRAENGINE.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRAFORWARDPIPELINE.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRAGAMEPROXY.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRAGLTFACTOR.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRAGLTFLOADER.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRAINPUTMANAGER.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRALIGHTBUFFERMANAGER.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRALIGHTSYSTEM.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRAMATERIALBUFFERMANAGER.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRAMATERIALSYSTEM.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRAMESHMANAGER.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRAMESHSYSTEM.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRAOBJECT.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRAOUTPUTACTOR.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRAPIPELINE.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRAPLANEACTOR.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRAPLAYERACTOR.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRAPOINTLIGHTACTOR.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRARENDERER.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRARENDERSTAGE.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRARENDERSYSTEM.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRASYSTEM.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRASYSTEMMANAGER.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRATASK.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRATASKBARRIER.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRATASKSCHEDULER.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRATEXTUREBUFFERMANAGER.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRATHREAD.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRATRANSFORMSYSTEM.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRAVERTEXBUFFERMANAGER.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRAWINDOWMANAGER.OBJ
C:\Code\HydraV3\build\HydraEngine\Debug\HydraEngine.lib
C:\Code\HydraV3\build\HydraEngine\Debug\HydraEngine.EXP
C:\Code\HydraV3\build\HydraEngine\HydraEngine.dir\Debug\HydraEngine.ilk
Binary file not shown.
+2
View File
@@ -444,6 +444,8 @@ if %errorlevel% neq 0 goto :VCEnd</Command>
<ClInclude Include="C:\Code\HydraV3\HydraEngine\source\actor\HydraPlaneActor.h" />
<ClCompile Include="C:\Code\HydraV3\HydraEngine\source\actor\HydraPlayerActor.cpp" />
<ClInclude Include="C:\Code\HydraV3\HydraEngine\source\actor\HydraPlayerActor.h" />
<ClCompile Include="C:\Code\HydraV3\HydraEngine\source\actor\HydraPointLightActor.cpp" />
<ClInclude Include="C:\Code\HydraV3\HydraEngine\source\actor\HydraPointLightActor.h" />
<ClInclude Include="C:\Code\HydraV3\HydraEngine\source\buffer\HydraBuffer.h" />
<ClCompile Include="C:\Code\HydraV3\HydraEngine\source\buffer\HydraBufferManager.cpp" />
<ClInclude Include="C:\Code\HydraV3\HydraEngine\source\buffer\HydraBufferManager.h" />
@@ -25,6 +25,9 @@
<ClCompile Include="C:\Code\HydraV3\HydraEngine\source\actor\HydraPlayerActor.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="C:\Code\HydraV3\HydraEngine\source\actor\HydraPointLightActor.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="C:\Code\HydraV3\HydraEngine\source\buffer\HydraBufferManager.cpp">
<Filter>Source Files</Filter>
</ClCompile>
@@ -150,6 +153,9 @@
<ClInclude Include="C:\Code\HydraV3\HydraEngine\source\actor\HydraPlayerActor.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="C:\Code\HydraV3\HydraEngine\source\actor\HydraPointLightActor.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="C:\Code\HydraV3\HydraEngine\source\buffer\HydraBuffer.h">
<Filter>Header Files</Filter>
</ClInclude>
+16 -4
View File
@@ -1,8 +1,20 @@
================================================================================
Linker Errors
Generated: 2026-07-16T17:15:43.067Z
Total Errors: 1
Generated: 2026-07-17T20:02:31.192Z
Total Errors: 5
================================================================================
[LNK1163] (MSVC)
invalid selection for COMDAT section 0x6D6 [C:\Code\HydraV3\build\HydraEngine\HydraEngine.vcxproj]
[LNK2019] (MSVC)
unresolved external symbol "__declspec(dllimport) public: __cdecl HydraPointLightActor::HydraPointLightActor(void)" (__imp_??0HydraPointLightActor@@QEAA@XZ) referenced in function "public: unsigned int __cdecl HydraActorManager::CreateActor<class HydraPointLightActor>(void)" (??$CreateActor@VHydraPointLightActor@@@HydraActorManager@@QEAAIXZ) [C:\Code\HydraV3\build\HydraClient.vcxproj]
[LNK2019] (MSVC)
unresolved external symbol "__declspec(dllimport) public: virtual __cdecl HydraPointLightActor::~HydraPointLightActor(void)" (__imp_??1HydraPointLightActor@@UEAA@XZ) referenced in function "public: virtual void * __cdecl HydraPointLightActor::`scalar deleting destructor'(unsigned int)" (??_GHydraPointLightActor@@UEAAPEAXI@Z) [C:\Code\HydraV3\build\HydraClient.vcxproj]
[LNK2001] (MSVC)
unresolved external symbol "public: virtual void __cdecl HydraPointLightActor::InitialiseComponents(void)" (?InitialiseComponents@HydraPointLightActor@@UEAAXXZ) [C:\Code\HydraV3\build\HydraClient.vcxproj]
[LNK2001] (MSVC)
unresolved external symbol "public: virtual void __cdecl HydraPointLightActor::Destroy(void)" (?Destroy@HydraPointLightActor@@UEAAXXZ) [C:\Code\HydraV3\build\HydraClient.vcxproj]
[LNK1120] (MSVC)
4 unresolved externals [C:\Code\HydraV3\build\HydraClient.vcxproj]