Spot works
This commit is contained in:
@@ -9,14 +9,14 @@ bool HydraGame::Initialise()
|
||||
// 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));
|
||||
|
||||
m_sun_light_id = GetEngine()->ActorManager()->CreateActor<HydraDirectionalLightActor>();
|
||||
GetEngine()->ActorManager()->InitialiseActor(m_sun_light_id);
|
||||
GetEngine()->ActorManager()->SetOrientation(m_sun_light_id, -0.5f, 0.0f, 0.0f);
|
||||
// m_sun_light_id = GetEngine()->ActorManager()->CreateActor<HydraDirectionalLightActor>();
|
||||
// GetEngine()->ActorManager()->InitialiseActor(m_sun_light_id);
|
||||
// GetEngine()->ActorManager()->SetOrientation(m_sun_light_id, -0.5f, -0.2f, 0.0f);
|
||||
|
||||
|
||||
m_other_light_id = GetEngine()->ActorManager()->CreateActor<HydraSpotLightActor>();
|
||||
m_other_light_id = GetEngine()->ActorManager()->CreateActor<HydraPointLightActor>();
|
||||
GetEngine()->ActorManager()->InitialiseActor(m_other_light_id);
|
||||
GetEngine()->ActorManager()->SetOrientation(m_other_light_id, -0.5f, 0.0f, 0.0f);
|
||||
// GetEngine()->ActorManager()->SetOrientation(m_other_light_id, -0.7f, 0.0f, 0.0f);
|
||||
GetEngine()->ActorManager()->SetPosition(m_other_light_id, glm::dvec3(0.0f, 4.0f, 5.0f));
|
||||
|
||||
// m_other_light_id = GetEngine()->ActorManager()->CreateActor<HydraDirectionalLightActor>();
|
||||
@@ -70,7 +70,7 @@ void HydraGame::Update(float delta_t_seconds)
|
||||
// }
|
||||
|
||||
m_angle += m_diff;
|
||||
// GetEngine()->ActorManager()->SetOrientation(m_other_light_id, -0.5f, m_angle/2.0f, 0);
|
||||
//GetEngine()->ActorManager()->SetOrientation(m_other_light_id, -0.5f, m_angle, 0);
|
||||
// GetEngine()->ActorManager()->SetOrientation(m_gltf_id, 0, m_angle, 0);
|
||||
// GetEngine()->ActorManager()->SetOrientation(m_plane_actor_id, 0, m_angle, 0);
|
||||
}
|
||||
@@ -41,7 +41,8 @@ const uint32_t MAX_MATERIALS = 1000;
|
||||
const uint32_t MAX_TEXTURES = 1000;
|
||||
const uint32_t MAX_ACTORS = 10000;
|
||||
const uint32_t MAX_LIGHTS = 500;
|
||||
const uint32_t MAX_SHADOWS = 10;
|
||||
const uint32_t MAX_DIRECTIONAL_SHADOWS = 10;
|
||||
const uint32_t MAX_SPOT_SHADOWS = 10;
|
||||
const uint32_t SHADOW_MAP_SIZE = 4096;
|
||||
|
||||
|
||||
|
||||
@@ -35,10 +35,10 @@ struct LightStructure
|
||||
uint padding1;
|
||||
};
|
||||
|
||||
struct ShadowMapSet
|
||||
struct DirectionalShadowMapSet
|
||||
{
|
||||
uint entity_id;
|
||||
uint cascade_count;
|
||||
uint shadow_id;
|
||||
uint shadow_texture_id;
|
||||
uint frame_buffer_id;
|
||||
float near_plane[8];
|
||||
@@ -47,6 +47,17 @@ struct ShadowMapSet
|
||||
mat4 light_space_view[6];
|
||||
};
|
||||
|
||||
struct SpotShadowMapSet
|
||||
{
|
||||
uint entity_id;
|
||||
uint shadow_id;
|
||||
uint shadow_texture_id;
|
||||
uint frame_buffer_id;
|
||||
float far_plane;
|
||||
uint padding[3];
|
||||
mat4 light_space_proj;
|
||||
mat4 light_space_view;
|
||||
};
|
||||
|
||||
layout(binding = 0) uniform uniform_per_frame
|
||||
{
|
||||
@@ -76,12 +87,15 @@ layout (std430, binding = 4) readonly buffer light_buffer
|
||||
LightStructure lights[500];
|
||||
};
|
||||
|
||||
layout (std430, binding = 5) readonly buffer shadow_map_sets
|
||||
layout (std430, binding = 5) readonly buffer directional_shadow_map_sets
|
||||
{
|
||||
ShadowMapSet shadows[10];
|
||||
DirectionalShadowMapSet directional_shadows[];
|
||||
};
|
||||
|
||||
|
||||
layout (std430, binding = 6) readonly buffer spot_shadow_map_sets
|
||||
{
|
||||
SpotShadowMapSet spot_shadows[];
|
||||
};
|
||||
layout (location=0) in VS_OUT
|
||||
{
|
||||
vec2 vsUV;
|
||||
@@ -235,28 +249,27 @@ vec3 SpotShading(vec3 normal,
|
||||
float light_linear,
|
||||
float light_quadratic,
|
||||
vec3 world_pos,
|
||||
vec3 view_pos)
|
||||
vec3 view_pos,
|
||||
float shadow_val)
|
||||
{
|
||||
|
||||
vec3 direction_to_light = normalize(light_pos - world_pos);
|
||||
float theta = dot(direction_to_light, light_dir);
|
||||
float falloff = 0.0f;
|
||||
// if(theta > cutoff)
|
||||
// {
|
||||
float epsilon = cutoff - cutoff_outer;
|
||||
falloff = clamp((theta - cutoff_outer) / epsilon, 0.0, 1.0);
|
||||
|
||||
//}
|
||||
falloff = clamp((theta - cutoff_outer) / epsilon, 0.0, 1.0);
|
||||
|
||||
float distance = length(light_pos - world_pos);
|
||||
float attenuation = 1.0;
|
||||
|
||||
attenuation = light_intensity / (light_constant + (light_linear * distance) + (light_quadratic * distance * distance));
|
||||
vec3 radiance = diffuse * attenuation * falloff;
|
||||
|
||||
vec3 radiance = diffuse * attenuation * falloff * (1.0-shadow_val);
|
||||
|
||||
vec3 Lo = CalculatePBR(normal, view_pos, world_pos, direction_to_light, diffuse, radiance, roughness, metallic);
|
||||
|
||||
return Lo;
|
||||
return Lo;// * shadow;
|
||||
}
|
||||
|
||||
mat3 GetRotationOnlyMatrix(mat4 model_mat)
|
||||
@@ -284,7 +297,7 @@ float SimpleSampleShadow(vec4 frag_clip_space, sampler2DArray sampler_shadow_map
|
||||
return 1;
|
||||
}
|
||||
|
||||
float SampleShadow(vec4 frag_clip_space, sampler2DArray sampler_shadow_map, uint shadow_trans_idx, vec3 normal, vec3 light_dir)
|
||||
float SampleCascadeShadow(vec4 frag_clip_space, sampler2DArray sampler_shadow_map, uint shadow_trans_idx, vec3 normal, vec3 light_dir)
|
||||
{
|
||||
vec3 frag_light_space = frag_clip_space.xyz / frag_clip_space.w;
|
||||
frag_light_space = (frag_light_space * 0.5) + 0.5;
|
||||
@@ -319,6 +332,41 @@ float SampleShadow(vec4 frag_clip_space, sampler2DArray sampler_shadow_map, uint
|
||||
return shadow;
|
||||
}
|
||||
|
||||
|
||||
float SampleSingleShadow(vec4 frag_clip_space, sampler2D sampler_shadow_map, vec3 normal, vec3 light_dir)
|
||||
{
|
||||
vec3 frag_light_space = frag_clip_space.xyz / frag_clip_space.w;
|
||||
frag_light_space = (frag_light_space * 0.5) + 0.5;
|
||||
|
||||
float shadow_map_depth = texture(sampler_shadow_map, frag_light_space.xy).r;
|
||||
// calculate bias (based on depth map resolution and slope)
|
||||
|
||||
float bias = max(0.00005 * (1.0 - dot(normal, light_dir)), 0.000005);
|
||||
// check whether current frag pos is in shadow
|
||||
// float shadow = currentDepth - bias > closestDepth ? 1.0 : 0.0;
|
||||
// PCF
|
||||
//bias = 0;
|
||||
float shadow = 0.0;
|
||||
vec2 texel_size = 1.0 / textureSize(sampler_shadow_map, 0).xy;
|
||||
if((frag_light_space.x >= 0.0)&&(frag_light_space.y >= 0.0)
|
||||
&&(frag_light_space.x <= 1.0)&&(frag_light_space.y <= 1.0))
|
||||
{
|
||||
for(int x = -1; x <= 1; ++x)
|
||||
{
|
||||
for(int y = -1; y <= 1; ++y)
|
||||
{
|
||||
shadow_map_depth = texture(sampler_shadow_map, frag_light_space.xy + vec2(x, y) * texel_size).r;
|
||||
shadow += frag_light_space.z - bias > shadow_map_depth ? 1.0 : 0.0;
|
||||
}
|
||||
}
|
||||
shadow /= 9.0;
|
||||
}
|
||||
// keep the shadow at 0.0 when outside the far_plane region of the light's frustum.
|
||||
if(frag_light_space.z > 1.0)
|
||||
shadow = 0.0;
|
||||
|
||||
return shadow;
|
||||
}
|
||||
vec3 CalculateDirectionalShadow(vec4 world_pos, uint shadow_idx, vec3 normal, vec3 light_dir, vec3 viewer_pos)
|
||||
{
|
||||
float shadow = 1;
|
||||
@@ -326,12 +374,12 @@ vec3 CalculateDirectionalShadow(vec4 world_pos, uint shadow_idx, vec3 normal, ve
|
||||
//measure the distance of the fragment from the light
|
||||
float frag_distance = abs(length(viewer_pos - world_pos.xyz));
|
||||
|
||||
uint shadow_trans_idx = 6;
|
||||
uint shadow_trans_idx = 5;
|
||||
uint ignore_shadow = 0;
|
||||
//Work out which shadowmap is appropriate for this distance
|
||||
for(uint i = 0; i < 6; i++)
|
||||
{
|
||||
if(frag_distance <= shadows[shadow_idx].far_plane[i])
|
||||
if(frag_distance <= directional_shadows[shadow_idx].far_plane[i])
|
||||
{
|
||||
//record the shadow map level
|
||||
shadow_trans_idx = i;
|
||||
@@ -343,39 +391,30 @@ vec3 CalculateDirectionalShadow(vec4 world_pos, uint shadow_idx, vec3 normal, ve
|
||||
|
||||
if(ignore_shadow == 1)
|
||||
{
|
||||
vec4 translated_pixel = shadows[shadow_idx].light_space_proj[shadow_trans_idx] *
|
||||
shadows[shadow_idx].light_space_view[shadow_trans_idx] *
|
||||
vec4 translated_pixel = directional_shadows[shadow_idx].light_space_proj[shadow_trans_idx] *
|
||||
directional_shadows[shadow_idx].light_space_view[shadow_trans_idx] *
|
||||
world_pos;
|
||||
uvec2 shadow_handle = textures[shadows[shadow_idx].shadow_texture_id];
|
||||
shadow = 1.0 - SampleShadow(translated_pixel, sampler2DArray(shadow_handle), shadow_trans_idx, normal, light_dir);
|
||||
uvec2 shadow_handle = textures[directional_shadows[shadow_idx].shadow_texture_id];
|
||||
shadow = 1.0 - SampleCascadeShadow(translated_pixel, sampler2DArray(shadow_handle), shadow_trans_idx, normal, light_dir);
|
||||
}
|
||||
|
||||
return vec3(shadow);
|
||||
|
||||
if(shadow_trans_idx == 0)
|
||||
{
|
||||
return vec3(1,0,0) * shadow;
|
||||
}
|
||||
if(shadow_trans_idx == 1)
|
||||
{
|
||||
return vec3(1,1,0) * shadow;
|
||||
}
|
||||
if(shadow_trans_idx == 2)
|
||||
{
|
||||
return vec3(0.5,0.5,1) * shadow;
|
||||
}
|
||||
if(shadow_trans_idx == 3)
|
||||
{
|
||||
return vec3(1,0,1) * shadow;
|
||||
}
|
||||
if(shadow_trans_idx == 4)
|
||||
{
|
||||
return vec3(1,1,1) * shadow;
|
||||
}
|
||||
return vec3(0,1,1) * shadow;
|
||||
}
|
||||
float CalculateSpotShadow(vec4 world_pos, uint shadow_idx, vec3 normal, vec3 light_dir, vec3 viewer_pos)
|
||||
{
|
||||
|
||||
|
||||
vec4 translated_pixel = spot_shadows[shadow_idx].light_space_proj *
|
||||
spot_shadows[shadow_idx].light_space_view *
|
||||
world_pos;
|
||||
|
||||
uvec2 shadow_handle = textures[spot_shadows[shadow_idx].shadow_texture_id];
|
||||
|
||||
float shadow =(SampleSingleShadow(translated_pixel, sampler2D(shadow_handle), normal, light_dir));
|
||||
|
||||
return shadow;
|
||||
}
|
||||
|
||||
void main()
|
||||
{
|
||||
uvec2 diffuse_handle = textures[texture_ids[DIFFUSE_TEXTURE_ID]];
|
||||
@@ -431,6 +470,16 @@ void main()
|
||||
}
|
||||
else if(lights[i].light_type == HYDRA_LIGHT_SPOT)
|
||||
{
|
||||
float shadow = 0;
|
||||
if(lights[i].shadow_caster == 1)
|
||||
{
|
||||
float distance = length(light_pos - world_pos);
|
||||
shadow = CalculateSpotShadow(vec4(world_pos, 1.0),
|
||||
lights[i].shadow_map_id,
|
||||
normal,
|
||||
light_direction,
|
||||
ubo_per_frame.viewer_pos);
|
||||
}
|
||||
Lo += SpotShading(normal,
|
||||
diffuse.xyz,
|
||||
rough,
|
||||
@@ -444,16 +493,15 @@ void main()
|
||||
lights[i].linear,
|
||||
lights[i].quadratic,
|
||||
world_pos,
|
||||
ubo_per_frame.viewer_pos);
|
||||
ubo_per_frame.viewer_pos,
|
||||
shadow);
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
float lighting = 0;
|
||||
// ambient lighting (note that the next IBL tutorial will replace
|
||||
// this ambient lighting with environment lighting).
|
||||
|
||||
|
||||
vec3 output_color = Lo;
|
||||
|
||||
// HDR tonemapping
|
||||
|
||||
@@ -59,8 +59,5 @@ void main()
|
||||
discard;
|
||||
output_colour = vec4(0,1,1,1);
|
||||
}
|
||||
// Calculate the accurate, unclamped distance from the light source
|
||||
// output_colour = diffuse_val;
|
||||
// output_colour = vec4(geom_out.vsUV, 1,1);
|
||||
|
||||
}
|
||||
|
||||
@@ -3,10 +3,10 @@
|
||||
layout(triangles, invocations = 6) in;
|
||||
layout(triangle_strip, max_vertices = 3) out;
|
||||
|
||||
struct ShadowMapSet
|
||||
struct DirectionalShadowMapSet
|
||||
{
|
||||
uint entity_id;
|
||||
uint cascade_count;
|
||||
uint shadow_id;
|
||||
uint shadow_texture_id;
|
||||
uint frame_buffer_id;
|
||||
float near_plane[8];
|
||||
@@ -15,6 +15,7 @@ struct ShadowMapSet
|
||||
mat4 light_space_view[6];
|
||||
};
|
||||
|
||||
|
||||
//Push constants updated for each light
|
||||
layout(binding = 0) uniform shadow_per_frame
|
||||
{
|
||||
@@ -22,12 +23,13 @@ layout(binding = 0) uniform shadow_per_frame
|
||||
uint shadow_idxs;
|
||||
};
|
||||
|
||||
layout(std430, binding = 5) readonly buffer shadow_map_sets
|
||||
layout (std430, binding = 5) readonly buffer directional_shadow_map_sets
|
||||
{
|
||||
ShadowMapSet shadows[10];
|
||||
DirectionalShadowMapSet directional_shadows[];
|
||||
};
|
||||
|
||||
|
||||
|
||||
layout (location=0) in VS_OUT
|
||||
{
|
||||
vec2 vsUV;
|
||||
@@ -42,8 +44,8 @@ layout (location=0) out GEOM_OUT
|
||||
|
||||
void main()
|
||||
{
|
||||
mat4 view = shadows[shadow_idxs].light_space_view[gl_InvocationID];
|
||||
mat4 proj = shadows[shadow_idxs].light_space_proj[gl_InvocationID];
|
||||
mat4 view = directional_shadows[shadow_idxs].light_space_view[gl_InvocationID];
|
||||
mat4 proj = directional_shadows[shadow_idxs].light_space_proj[gl_InvocationID];
|
||||
|
||||
for (int i = 0; i < 3; ++i)
|
||||
{
|
||||
|
||||
@@ -1,12 +1,37 @@
|
||||
//*VERTEX*
|
||||
#version 460
|
||||
|
||||
struct ShadowMapSet
|
||||
{
|
||||
uint entity_id;
|
||||
uint shadow_id;
|
||||
uint shadow_texture_id;
|
||||
uint frame_buffer_id;
|
||||
float near_plane[8];
|
||||
float far_plane[8];
|
||||
mat4 light_space_proj[6];
|
||||
mat4 light_space_view[6];
|
||||
};
|
||||
|
||||
struct SpotShadowMapSet
|
||||
{
|
||||
uint entity_id;
|
||||
uint shadow_id;
|
||||
uint shadow_texture_id;
|
||||
uint frame_buffer_id;
|
||||
float far_plane;
|
||||
uint padding[3];
|
||||
mat4 light_space_proj;
|
||||
mat4 light_space_view;
|
||||
};
|
||||
|
||||
layout(binding = 1) readonly buffer positions_buffer
|
||||
{
|
||||
mat4 model_matrix[];
|
||||
};
|
||||
|
||||
|
||||
|
||||
layout (location = 0) in vec3 inPos; //12 bytes : 0
|
||||
layout (location = 1) in vec2 inUV; //8 Bytes : 12
|
||||
layout (location = 2) in uvec3 inChunkID; //12 Bytes : 20
|
||||
|
||||
@@ -2,11 +2,34 @@
|
||||
#version 460
|
||||
|
||||
|
||||
struct SpotShadowMapSet
|
||||
{
|
||||
uint entity_id;
|
||||
uint shadow_id;
|
||||
uint shadow_texture_id;
|
||||
uint frame_buffer_id;
|
||||
float far_plane;
|
||||
uint padding[3];
|
||||
mat4 light_space_proj;
|
||||
mat4 light_space_view;
|
||||
};
|
||||
|
||||
layout(binding = 1) readonly buffer positions_buffer
|
||||
{
|
||||
mat4 model_matrix[];
|
||||
};
|
||||
|
||||
layout (std430, binding = 6) readonly buffer spot_shadow_map_sets
|
||||
{
|
||||
SpotShadowMapSet spot_shadows[];
|
||||
};
|
||||
|
||||
layout(binding = 0) uniform shadow_per_frame
|
||||
{
|
||||
vec3 camera_pos;
|
||||
uint shadow_idxs;
|
||||
};
|
||||
|
||||
layout (location = 0) in vec3 inPos; //12 bytes : 0
|
||||
layout (location = 1) in vec2 inUV; //8 Bytes : 12
|
||||
layout (location = 2) in uvec3 inChunkID; //12 Bytes : 20
|
||||
@@ -24,7 +47,11 @@ void main()
|
||||
{
|
||||
uint chunkid = inChunkID[0];
|
||||
mat4 model = model_matrix[chunkid];
|
||||
gl_Position = model * vec4(inPos, 1.0);
|
||||
mat4 proj = spot_shadows[shadow_idxs].light_space_proj;
|
||||
mat4 view = spot_shadows[shadow_idxs].light_space_view;
|
||||
//view = mat4(1);
|
||||
//proj = mat4(1);
|
||||
gl_Position = proj * view * model * vec4(inPos, 1.0);
|
||||
vs_out.vsUV = inUV;
|
||||
vs_out.vsMaterialID = inChunkID[1];
|
||||
}
|
||||
@@ -21,7 +21,7 @@ void HydraPointLightActor::InitialiseComponents()
|
||||
HydraECS *ecs = GetEngine()->ECS();
|
||||
|
||||
light_comp.diffuse = glm::vec4(1,1,1,1);
|
||||
light_comp.intensity = 100.0f;
|
||||
light_comp.intensity = 1000.0f;
|
||||
light_comp.light_type = static_cast<uint32_t>(HYDRA_LIGHT_TYPE::HYDRA_LIGHT_POINT);
|
||||
light_comp.entity_id = GetID();
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@ void HydraSpotLightActor::InitialiseComponents()
|
||||
HydraECS *ecs = GetEngine()->ECS();
|
||||
|
||||
light_comp.diffuse = glm::vec4(1,1,1,1);
|
||||
light_comp.intensity = 1000.0f;
|
||||
light_comp.intensity = 10000.0f;
|
||||
light_comp.light_type = static_cast<uint32_t>(HYDRA_LIGHT_TYPE::HYDRA_LIGHT_SPOT);
|
||||
light_comp.cutoff = glm::cos(glm::radians(10.0f));
|
||||
light_comp.cutoff_outer = glm::cos(glm::radians(25.0f));
|
||||
|
||||
@@ -3,15 +3,12 @@
|
||||
|
||||
|
||||
#include "../engine/HydraEngine.h"
|
||||
#include "../ecs/components/HydraDirectionalShadowSourceComponent.h"
|
||||
#include "../ecs/components/HydraSpotShadowSourceComponent.h"
|
||||
|
||||
struct HydraShadowBuffer
|
||||
{
|
||||
uint32_t entity_id;
|
||||
uint32_t cascade_count;
|
||||
uint32_t shadow_texture_id;
|
||||
uint32_t padding0;
|
||||
float near_plane[8];
|
||||
float far_plane[8];
|
||||
glm::mat4 light_space_proj[6];
|
||||
glm::mat4 light_space_view[6];
|
||||
HydraDirectionalShadowSourceComponent directional_shadows[MAX_DIRECTIONAL_SHADOWS];
|
||||
HydraSpotShadowSourceComponent spot_shadows[MAX_SPOT_SHADOWS];
|
||||
};
|
||||
#endif /* HYDRASHADOWBUFFER */
|
||||
|
||||
@@ -0,0 +1,115 @@
|
||||
#include "HydraShadowBufferManager.h"
|
||||
#include "../scheduler/HydraTaskScheduler.h"
|
||||
#include "../task/buffer/HydraCreateGPUBufferTask.hpp"
|
||||
#include "../task/buffer/HydraUpdateWholeGPUBufferTask.hpp"
|
||||
#include "../task/buffer/HydraUpdatePartialGPUBufferTask.hpp"
|
||||
#include "../task/buffer/HydraCreateUnBoundTextureTask.hpp"
|
||||
#include "../task/renderer/HydraCreateCascadeShadowFrameBuffer.hpp"
|
||||
#include "../task/renderer/HydraCreateShadowFrameBuffer.hpp"
|
||||
|
||||
void HydraShadowBufferManager::Initialise()
|
||||
{
|
||||
HydraTaskScheduler *task_scheduler = GetEngine()->TaskScheduler();
|
||||
for(uint32_t i = 0; i < MAX_DIRECTIONAL_SHADOWS; i++)
|
||||
{
|
||||
m_available_dir.push(i);
|
||||
}
|
||||
for(uint32_t i = 0; i < MAX_SPOT_SHADOWS; i++)
|
||||
{
|
||||
m_available_spot.push(i);
|
||||
}
|
||||
m_directional_shadow_buffer.resize(MAX_DIRECTIONAL_SHADOWS);
|
||||
m_spot_shadow_buffer.resize(MAX_SPOT_SHADOWS);
|
||||
|
||||
|
||||
uint32_t buffer_size = (MAX_DIRECTIONAL_SHADOWS * sizeof(HydraDirectionalShadowSourceComponent));
|
||||
|
||||
HydraID create_gpu_buffer_task_id = task_scheduler->CreateTask<HydraCreateGPUBufferTask>(HydraThreadAffinity::Render);
|
||||
HydraCreateGPUBufferTask *task = static_cast<HydraCreateGPUBufferTask *>(task_scheduler->GetTask(create_gpu_buffer_task_id));
|
||||
task->Intialise("DirectionalShadowBuffer", 1, buffer_size, &m_directional_shadow_buffer_id, HYDRA_BUFFER_TYPE::HYDRA_SSBO_BUFFER);
|
||||
task_scheduler->WaitForTask(create_gpu_buffer_task_id);
|
||||
|
||||
buffer_size = (MAX_SPOT_SHADOWS * sizeof(HydraSpotShadowSourceComponent));
|
||||
|
||||
create_gpu_buffer_task_id = task_scheduler->CreateTask<HydraCreateGPUBufferTask>(HydraThreadAffinity::Render);
|
||||
HydraCreateGPUBufferTask *spot_task = static_cast<HydraCreateGPUBufferTask *>(task_scheduler->GetTask(create_gpu_buffer_task_id));
|
||||
spot_task->Intialise("SpotShadowBuffer", 1, buffer_size, &m_spot_shadow_buffer_id, HYDRA_BUFFER_TYPE::HYDRA_SSBO_BUFFER);
|
||||
task_scheduler->WaitForTask(create_gpu_buffer_task_id);
|
||||
}
|
||||
void HydraShadowBufferManager::Shutdown()
|
||||
{
|
||||
|
||||
}
|
||||
HydraID HydraShadowBufferManager::AddDirectionalShadow(HydraDirectionalShadowSourceComponent shadow)
|
||||
{
|
||||
std::lock_guard<std::mutex> lock(m_mutex);
|
||||
if(m_available_dir.size() == 0)
|
||||
{
|
||||
return INVALID_HYDRA_ID;
|
||||
}
|
||||
|
||||
HydraID shadow_id = m_available_dir.front();
|
||||
shadow.shadow_id = shadow_id;
|
||||
m_directional_shadow_buffer[shadow_id] = shadow;
|
||||
return shadow_id;
|
||||
}
|
||||
HydraID HydraShadowBufferManager::AddSpotShadow(HydraSpotShadowSourceComponent shadow)
|
||||
{
|
||||
std::lock_guard<std::mutex> lock(m_mutex);
|
||||
if(m_available_spot.size() == 0)
|
||||
{
|
||||
return INVALID_HYDRA_ID;
|
||||
}
|
||||
|
||||
HydraID shadow_id = m_available_spot.front();
|
||||
m_spot_shadow_buffer[shadow_id] = shadow;
|
||||
return shadow_id;
|
||||
}
|
||||
|
||||
void HydraShadowBufferManager::UpdateDirectionalShadow(HydraID shadow_id, HydraDirectionalShadowSourceComponent shadow)
|
||||
{
|
||||
std::lock_guard<std::mutex> lock(m_mutex);
|
||||
if(shadow_id < MAX_DIRECTIONAL_SHADOWS)
|
||||
{
|
||||
m_directional_shadow_buffer[shadow_id] = shadow;
|
||||
}
|
||||
}
|
||||
|
||||
void HydraShadowBufferManager::UpdateSpotShadow(HydraID shadow_id, HydraSpotShadowSourceComponent shadow)
|
||||
{
|
||||
std::lock_guard<std::mutex> lock(m_mutex);
|
||||
if(shadow_id < MAX_SPOT_SHADOWS)
|
||||
{
|
||||
m_spot_shadow_buffer[shadow_id] = shadow;
|
||||
}
|
||||
}
|
||||
|
||||
void HydraShadowBufferManager::RemoveDirectionalShadow(HydraID shadow_id)
|
||||
{
|
||||
|
||||
}
|
||||
void HydraShadowBufferManager::RemoveSpotShadow(HydraID shadow_id)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void HydraShadowBufferManager::UpdateShadowBuffer()
|
||||
{
|
||||
HydraEngine *engine = GetEngine();
|
||||
HydraECS *ecs = engine->ECS();
|
||||
|
||||
HydraTaskScheduler *task_scheduler = GetEngine()->TaskScheduler();
|
||||
void *buffer = static_cast<void *>(m_directional_shadow_buffer.data());
|
||||
|
||||
HydraID update_buffer_task_id = task_scheduler->CreateTask<HydraUpdateWholeGPUBufferTask>(HydraThreadAffinity::Render);
|
||||
HydraUpdateWholeGPUBufferTask *task = static_cast<HydraUpdateWholeGPUBufferTask *>(task_scheduler->GetTask(update_buffer_task_id));
|
||||
task->Intialise(m_directional_shadow_buffer_id, buffer);
|
||||
task_scheduler->WaitForTask(update_buffer_task_id);
|
||||
|
||||
void *spot_buffer = static_cast<void *>(m_spot_shadow_buffer.data());
|
||||
|
||||
update_buffer_task_id = task_scheduler->CreateTask<HydraUpdateWholeGPUBufferTask>(HydraThreadAffinity::Render);
|
||||
HydraUpdateWholeGPUBufferTask *spot_task = static_cast<HydraUpdateWholeGPUBufferTask *>(task_scheduler->GetTask(update_buffer_task_id));
|
||||
spot_task->Intialise(m_spot_shadow_buffer_id, spot_buffer);
|
||||
task_scheduler->WaitForTask(update_buffer_task_id);
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
#ifndef HYDRASHADOWBUFFERMANAGER
|
||||
#define HYDRASHADOWBUFFERMANAGER
|
||||
|
||||
#include "../engine/HydraObject.h"
|
||||
#include "HydraShadowBuffer.h"
|
||||
#include "../ecs/components/HydraDirectionalShadowSourceComponent.h"
|
||||
#include "../ecs/components/HydraSpotShadowSourceComponent.h"
|
||||
|
||||
#include <queue>
|
||||
#include <mutex>
|
||||
|
||||
class HydraShadowBufferManager : public HydraObject
|
||||
{
|
||||
public:
|
||||
void Initialise();
|
||||
void Shutdown();
|
||||
HydraID AddDirectionalShadow(HydraDirectionalShadowSourceComponent shadow);
|
||||
HydraID AddSpotShadow(HydraSpotShadowSourceComponent shadow);
|
||||
void UpdateDirectionalShadow(HydraID shadow_id, HydraDirectionalShadowSourceComponent shadow);
|
||||
void UpdateSpotShadow(HydraID shadow_id, HydraSpotShadowSourceComponent shadow);
|
||||
void RemoveDirectionalShadow(HydraID shadow_id);
|
||||
void RemoveSpotShadow(HydraID shadow_id);
|
||||
void UpdateShadowBuffer();
|
||||
private:
|
||||
std::vector<HydraDirectionalShadowSourceComponent> m_directional_shadow_buffer;
|
||||
std::vector<HydraSpotShadowSourceComponent> m_spot_shadow_buffer;
|
||||
std::queue<HydraID> m_available_dir;
|
||||
std::queue<HydraID> m_available_spot;
|
||||
uint32_t m_directional_shadow_buffer_id;
|
||||
uint32_t m_spot_shadow_buffer_id;
|
||||
std::mutex m_mutex;
|
||||
|
||||
};
|
||||
#endif /* HYDRASHADOWBUFFERMANAGER */
|
||||
@@ -6,13 +6,13 @@
|
||||
struct HydraDirectionalShadowSourceComponent
|
||||
{
|
||||
uint32_t entity_id;
|
||||
uint32_t cascade_count;
|
||||
uint32_t shadow_id;
|
||||
uint32_t shadow_texture_id;
|
||||
uint32_t frame_buffer_id;
|
||||
float near_plane[8];
|
||||
float far_plane[8];
|
||||
glm::mat4 light_space_proj[6];
|
||||
glm::mat4 light_space_view[6];
|
||||
alignas(16) glm::mat4 light_space_proj[6];
|
||||
alignas(16) glm::mat4 light_space_view[6];
|
||||
};
|
||||
|
||||
#endif /* HYDRACASTERCOMPONENT */
|
||||
|
||||
@@ -6,11 +6,13 @@
|
||||
struct HydraSpotShadowSourceComponent
|
||||
{
|
||||
uint32_t entity_id;
|
||||
uint32_t shadow_id;
|
||||
uint32_t shadow_texture_id;
|
||||
uint32_t frame_buffer_id;
|
||||
float far_plane;
|
||||
glm::mat4 light_space_proj;
|
||||
glm::mat4 light_space_view;
|
||||
uint32_t padding[3];
|
||||
alignas(16) glm::mat4 light_space_proj;
|
||||
alignas(16) glm::mat4 light_space_view;
|
||||
};
|
||||
|
||||
#endif /* HYDRASPOTSHADOWCOMPONENT */
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
|
||||
#include "../../buffer/HydraShadowBuffer.h"
|
||||
#include "../../buffer/HydraTextureBufferManager.h"
|
||||
#include "../../buffer/HydraShadowBufferManager.h"
|
||||
|
||||
#include "../../scheduler/HydraTaskScheduler.h"
|
||||
#include "../../task/buffer/HydraCreateGPUBufferTask.hpp"
|
||||
@@ -20,19 +21,7 @@
|
||||
|
||||
void HydraDirectionalShadowSourceSystem::Initialise()
|
||||
{
|
||||
HydraTaskScheduler *task_scheduler = GetEngine()->TaskScheduler();
|
||||
|
||||
for(uint32_t i = 0; i < MAX_SHADOWS; i++)
|
||||
{
|
||||
m_available_shadows.push(i);
|
||||
}
|
||||
|
||||
m_shadows.resize(MAX_SHADOWS);
|
||||
|
||||
HydraID create_gpu_buffer_task_id = task_scheduler->CreateTask<HydraCreateGPUBufferTask>(HydraThreadAffinity::Render);
|
||||
HydraCreateGPUBufferTask *task = static_cast<HydraCreateGPUBufferTask *>(task_scheduler->GetTask(create_gpu_buffer_task_id));
|
||||
task->Intialise("ShadowBuffer", 1, MAX_SHADOWS * sizeof(HydraDirectionalShadowSourceComponent), &m_shadow_buffer_id, HYDRA_BUFFER_TYPE::HYDRA_SSBO_BUFFER);
|
||||
task_scheduler->WaitForTask(create_gpu_buffer_task_id);
|
||||
}
|
||||
|
||||
void HydraDirectionalShadowSourceSystem::InitialiseComponent(HydraID entity_id)
|
||||
@@ -41,36 +30,25 @@ void HydraDirectionalShadowSourceSystem::InitialiseComponent(HydraID entity_id)
|
||||
HydraECS *ecs = engine->ECS();
|
||||
HydraLightComponent &light_comp = ecs->GetComponent<HydraLightComponent>(entity_id);
|
||||
|
||||
{
|
||||
std::lock_guard<std::mutex> lock(m_mutex);
|
||||
assert(m_available_shadows.size() > 0 && "Run out of shadows");
|
||||
uint32_t shad_id = m_available_shadows.front();
|
||||
m_available_shadows.pop();
|
||||
light_comp.shadow_map_id = shad_id;
|
||||
|
||||
HydraDirectionalShadowSourceComponent& shadow_comp = ecs->GetComponent<HydraDirectionalShadowSourceComponent>(entity_id);
|
||||
|
||||
HydraID shadow_id = GetEngine()->ShadowBufferManager()->AddDirectionalShadow(shadow_comp);
|
||||
assert(shadow_id != INVALID_HYDRA_ID && "Add directional Shadow - out of shadows!");
|
||||
|
||||
light_comp.shadow_map_id = shadow_id;
|
||||
light_comp.shadow_caster = 1;
|
||||
}
|
||||
|
||||
|
||||
shadow_comp.shadow_id = shadow_id;
|
||||
_InitialiseShadowMap(entity_id);
|
||||
|
||||
}
|
||||
|
||||
void HydraDirectionalShadowSourceSystem::UpdateSystem(float delta_t_seconds)
|
||||
{
|
||||
HydraEngine *engine = GetEngine();
|
||||
HydraECS *ecs = engine->ECS();
|
||||
std::vector<HydraDirectionalShadowSourceComponent> shadows;
|
||||
for (HydraID entity_id : Entities)
|
||||
{
|
||||
|
||||
HydraLightComponent &light_comp = ecs->GetComponent<HydraLightComponent>(entity_id);
|
||||
|
||||
_UpdateShadowMap(entity_id);
|
||||
|
||||
HydraDirectionalShadowSourceComponent shad_comp = ecs->GetComponent<HydraDirectionalShadowSourceComponent>(entity_id);
|
||||
m_shadows[light_comp.shadow_map_id] = shad_comp;
|
||||
}
|
||||
_WriteToGPU();
|
||||
}
|
||||
|
||||
void HydraDirectionalShadowSourceSystem::_UpdateShadowMap(HydraID entity_id)
|
||||
@@ -113,6 +91,7 @@ void HydraDirectionalShadowSourceSystem::_UpdateShadowMap(HydraID entity_id)
|
||||
view_size *= 3.0f;
|
||||
view_far *= 3.0f;
|
||||
}
|
||||
GetEngine()->ShadowBufferManager()->UpdateDirectionalShadow(shad_comp.shadow_id, shad_comp);
|
||||
}
|
||||
|
||||
|
||||
@@ -125,7 +104,6 @@ void HydraDirectionalShadowSourceSystem::_InitialiseShadowMap(HydraID entity_id)
|
||||
HydraLightComponent &light_comp = ecs->GetComponent<HydraLightComponent>(entity_id);
|
||||
|
||||
shad_comp.entity_id = entity_id;
|
||||
shad_comp.cascade_count = 6;
|
||||
|
||||
HydraTaskScheduler *task_scheduler = GetEngine()->TaskScheduler();
|
||||
|
||||
@@ -138,16 +116,3 @@ void HydraDirectionalShadowSourceSystem::_InitialiseShadowMap(HydraID entity_id)
|
||||
shad_comp.shadow_texture_id = depth_texture_id;
|
||||
}
|
||||
|
||||
void HydraDirectionalShadowSourceSystem::_WriteToGPU()
|
||||
{
|
||||
HydraEngine *engine = GetEngine();
|
||||
HydraECS *ecs = engine->ECS();
|
||||
|
||||
void *buffer = static_cast<void *>(m_shadows.data());
|
||||
HydraTaskScheduler *task_scheduler = GetEngine()->TaskScheduler();
|
||||
|
||||
HydraID update_buffer_task_id = task_scheduler->CreateTask<HydraUpdateWholeGPUBufferTask>(HydraThreadAffinity::Render);
|
||||
HydraUpdateWholeGPUBufferTask *task = static_cast<HydraUpdateWholeGPUBufferTask *>(task_scheduler->GetTask(update_buffer_task_id));
|
||||
task->Intialise(m_shadow_buffer_id, buffer);
|
||||
task_scheduler->WaitForTask(update_buffer_task_id);
|
||||
}
|
||||
@@ -18,10 +18,6 @@ class HydraDirectionalShadowSourceSystem : public HydraSystem
|
||||
private:
|
||||
void _UpdateShadowMap(HydraID entity_id);
|
||||
void _InitialiseShadowMap(HydraID entity_id);
|
||||
void _WriteToGPU();
|
||||
HydraID m_shadow_buffer_id = INVALID_HYDRA_ID;
|
||||
std::queue<HydraID> m_available_shadows;
|
||||
std::vector<HydraDirectionalShadowSourceComponent> m_shadows;
|
||||
std::mutex m_mutex;
|
||||
|
||||
};
|
||||
|
||||
@@ -8,31 +8,21 @@
|
||||
|
||||
#include "../../buffer/HydraShadowBuffer.h"
|
||||
#include "../../buffer/HydraTextureBufferManager.h"
|
||||
#include "../../buffer/HydraShadowBufferManager.h"
|
||||
|
||||
#include "../../scheduler/HydraTaskScheduler.h"
|
||||
#include "../../task/buffer/HydraCreateGPUBufferTask.hpp"
|
||||
#include "../../task/buffer/HydraUpdateWholeGPUBufferTask.hpp"
|
||||
#include "../../task/buffer/HydraUpdatePartialGPUBufferTask.hpp"
|
||||
#include "../../task/buffer/HydraCreateUnBoundTextureTask.hpp"
|
||||
|
||||
#include "../../task/renderer/HydraCreateCascadeShadowFrameBuffer.hpp"
|
||||
#include "../../task/renderer/HydraCreateShadowFrameBuffer.hpp"
|
||||
#include "../../actor/HydraActorManager.h"
|
||||
|
||||
void HydraSpotShadowSourceSystem::Initialise()
|
||||
{
|
||||
HydraTaskScheduler *task_scheduler = GetEngine()->TaskScheduler();
|
||||
|
||||
for(uint32_t i = 0; i < MAX_SHADOWS; i++)
|
||||
{
|
||||
m_available_shadows.push(i);
|
||||
}
|
||||
|
||||
m_shadows.resize(MAX_SHADOWS);
|
||||
|
||||
HydraID create_gpu_buffer_task_id = task_scheduler->CreateTask<HydraCreateGPUBufferTask>(HydraThreadAffinity::Render);
|
||||
HydraCreateGPUBufferTask *task = static_cast<HydraCreateGPUBufferTask *>(task_scheduler->GetTask(create_gpu_buffer_task_id));
|
||||
task->Intialise("ShadowBuffer", 1, MAX_SHADOWS * sizeof(HydraSpotShadowSourceComponent), &m_shadow_buffer_id, HYDRA_BUFFER_TYPE::HYDRA_SSBO_BUFFER);
|
||||
task_scheduler->WaitForTask(create_gpu_buffer_task_id);
|
||||
}
|
||||
|
||||
void HydraSpotShadowSourceSystem::InitialiseComponent(HydraID entity_id)
|
||||
@@ -41,14 +31,15 @@ void HydraSpotShadowSourceSystem::InitialiseComponent(HydraID entity_id)
|
||||
HydraECS *ecs = engine->ECS();
|
||||
HydraLightComponent &light_comp = ecs->GetComponent<HydraLightComponent>(entity_id);
|
||||
|
||||
{
|
||||
std::lock_guard<std::mutex> lock(m_mutex);
|
||||
assert(m_available_shadows.size() > 0 && "Run out of shadows");
|
||||
uint32_t shad_id = m_available_shadows.front();
|
||||
m_available_shadows.pop();
|
||||
light_comp.shadow_map_id = shad_id;
|
||||
|
||||
HydraSpotShadowSourceComponent& shadow_comp = ecs->GetComponent<HydraSpotShadowSourceComponent>(entity_id);
|
||||
|
||||
HydraID shadow_id = GetEngine()->ShadowBufferManager()->AddSpotShadow(shadow_comp);
|
||||
assert(shadow_id != INVALID_HYDRA_ID && "Add Spot Shadow - out of shadows!");
|
||||
|
||||
light_comp.shadow_map_id = shadow_id;
|
||||
light_comp.shadow_caster = 1;
|
||||
}
|
||||
shadow_comp.shadow_id = shadow_id;
|
||||
_InitialiseShadowMap(entity_id);
|
||||
|
||||
}
|
||||
@@ -60,15 +51,9 @@ void HydraSpotShadowSourceSystem::UpdateSystem(float delta_t_seconds)
|
||||
|
||||
for (HydraID entity_id : Entities)
|
||||
{
|
||||
|
||||
HydraLightComponent &light_comp = ecs->GetComponent<HydraLightComponent>(entity_id);
|
||||
|
||||
_UpdateShadowMap(entity_id);
|
||||
|
||||
HydraSpotShadowSourceComponent shad_comp = ecs->GetComponent<HydraSpotShadowSourceComponent>(entity_id);
|
||||
m_shadows[light_comp.shadow_map_id] = shad_comp;
|
||||
}
|
||||
_WriteToGPU();
|
||||
|
||||
}
|
||||
|
||||
void HydraSpotShadowSourceSystem::_UpdateShadowMap(HydraID entity_id)
|
||||
@@ -77,19 +62,15 @@ void HydraSpotShadowSourceSystem::_UpdateShadowMap(HydraID entity_id)
|
||||
HydraECS *ecs = engine->ECS();
|
||||
HydraPositionComponent pos_comp = ecs->GetComponent<HydraPositionComponent>(entity_id);
|
||||
HydraSpotShadowSourceComponent &shad_comp = ecs->GetComponent<HydraSpotShadowSourceComponent>(entity_id);
|
||||
HydraLightComponent light_comp = ecs->GetComponent<HydraLightComponent>(entity_id);
|
||||
|
||||
float view_size = 50.0f;
|
||||
float view_near = 0.1f;
|
||||
float view_near = 0.3f;
|
||||
float view_far = 50.0f;
|
||||
|
||||
float PI = 3.1415927;
|
||||
float TWO_PI = 6.2831854;
|
||||
|
||||
glm::mat4 light_rot = glm::eulerAngleXYZ(pos_comp.orientation.x, pos_comp.orientation.y, pos_comp.orientation.z);
|
||||
glm::vec3 light_dir = glm::normalize(glm::vec3(light_rot * glm::vec4(0.0f, 0.0f, -1.0f, 0.0f)));
|
||||
|
||||
glm::vec3 camera_pos = GetEngine()->Camera()->GetPosition();
|
||||
|
||||
glm::vec3 light_pos = pos_comp.position;
|
||||
glm::vec3 target_pos = light_pos + light_dir;
|
||||
glm::vec3 up_vector = glm::vec3(0.0f, 1.0f, 0.0f);
|
||||
@@ -100,12 +81,15 @@ void HydraSpotShadowSourceSystem::_UpdateShadowMap(HydraID entity_id)
|
||||
}
|
||||
|
||||
glm::mat4 view = glm::lookAt(light_pos, target_pos, up_vector);
|
||||
glm::mat4 proj = glm::ortho(-view_size, view_size, -view_size, view_size, view_near, view_far);
|
||||
|
||||
float fovRad = glm::radians(55.0f);
|
||||
glm::mat4 proj = glm::perspectiveFovRH<float>(fovRad, view_size, view_size, view_near, view_far);
|
||||
|
||||
// Save data to component
|
||||
shad_comp.far_plane = view_far;
|
||||
shad_comp.light_space_proj = proj;
|
||||
shad_comp.light_space_view = view;
|
||||
GetEngine()->ShadowBufferManager()->UpdateSpotShadow(shad_comp.shadow_id, shad_comp);
|
||||
}
|
||||
|
||||
|
||||
@@ -117,10 +101,8 @@ void HydraSpotShadowSourceSystem::_InitialiseShadowMap(HydraID entity_id)
|
||||
HydraSpotShadowSourceComponent &shad_comp = ecs->GetComponent<HydraSpotShadowSourceComponent>(entity_id);
|
||||
HydraLightComponent &light_comp = ecs->GetComponent<HydraLightComponent>(entity_id);
|
||||
|
||||
|
||||
shad_comp.entity_id = entity_id;
|
||||
|
||||
|
||||
HydraTaskScheduler *task_scheduler = GetEngine()->TaskScheduler();
|
||||
|
||||
uint32_t depth_texture_id = 0;
|
||||
@@ -132,16 +114,3 @@ void HydraSpotShadowSourceSystem::_InitialiseShadowMap(HydraID entity_id)
|
||||
shad_comp.shadow_texture_id = depth_texture_id;
|
||||
}
|
||||
|
||||
void HydraSpotShadowSourceSystem::_WriteToGPU()
|
||||
{
|
||||
HydraEngine *engine = GetEngine();
|
||||
HydraECS *ecs = engine->ECS();
|
||||
|
||||
void *buffer = static_cast<void *>(m_shadows.data());
|
||||
HydraTaskScheduler *task_scheduler = GetEngine()->TaskScheduler();
|
||||
|
||||
HydraID update_buffer_task_id = task_scheduler->CreateTask<HydraUpdateWholeGPUBufferTask>(HydraThreadAffinity::Render);
|
||||
HydraUpdateWholeGPUBufferTask *task = static_cast<HydraUpdateWholeGPUBufferTask *>(task_scheduler->GetTask(update_buffer_task_id));
|
||||
task->Intialise(m_shadow_buffer_id, buffer);
|
||||
task_scheduler->WaitForTask(update_buffer_task_id);
|
||||
}
|
||||
@@ -20,10 +20,10 @@ class HydraSpotShadowSourceSystem : public HydraSystem
|
||||
private:
|
||||
void _UpdateShadowMap(HydraID entity_id);
|
||||
void _InitialiseShadowMap(HydraID entity_id);
|
||||
void _WriteToGPU();
|
||||
HydraID m_shadow_buffer_id = INVALID_HYDRA_ID;
|
||||
std::queue<HydraID> m_available_shadows;
|
||||
std::vector<HydraSpotShadowSourceComponent> m_shadows;
|
||||
|
||||
|
||||
|
||||
|
||||
std::mutex m_mutex;
|
||||
|
||||
};
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
#include "../buffer/HydraTextureBufferManager.h"
|
||||
#include "../buffer/HydraMaterialBufferManager.h"
|
||||
#include "../buffer/HydraLightBufferManager.h"
|
||||
#include "../buffer/HydraShadowBufferManager.h"
|
||||
|
||||
#include "../ecs/HydraECS.h"
|
||||
#include "../ecs/systems/HydraTransformSystem.h"
|
||||
@@ -54,6 +55,7 @@
|
||||
#include "../task/ecs/HydraInitialiseComponentsTask.hpp"
|
||||
#include "../task/buffer/HydraShutdownBufferManagerTask.hpp"
|
||||
#include "../task/buffer/HydraInitialiseTextureManagerTask.hpp"
|
||||
#include "../task/buffer/HydraInitialiseShadowBufferTask.hpp"
|
||||
#include "../task/actor/HydraUpdatePlayerTask.h"
|
||||
|
||||
#include "../task/renderer/HydraEndRenderTask.hpp"
|
||||
@@ -149,6 +151,11 @@ HydraLightBufferManager *const HydraEngine::LightBufferManager()
|
||||
return m_light_buffer_manager;
|
||||
}
|
||||
|
||||
HydraShadowBufferManager *const HydraEngine::ShadowBufferManager()
|
||||
{
|
||||
return m_shadow_buffer_manager;
|
||||
}
|
||||
|
||||
void HydraEngine::PossessPlayer(HydraID actor_id)
|
||||
{
|
||||
m_possessed_actor_id = actor_id;
|
||||
@@ -187,6 +194,7 @@ void HydraEngine::_CreateManagers()
|
||||
m_texture_buffer_manager = new HydraTextureBufferManager();
|
||||
m_material_buffer_manager = new HydraMaterialBufferManager();
|
||||
m_light_buffer_manager = new HydraLightBufferManager();
|
||||
m_shadow_buffer_manager = new HydraShadowBufferManager();
|
||||
}
|
||||
|
||||
void HydraEngine::_InitialiseManagers()
|
||||
@@ -208,6 +216,9 @@ void HydraEngine::_InitialiseManagers()
|
||||
m_material_buffer_manager->Intialise();
|
||||
m_light_buffer_manager->Initialise();
|
||||
|
||||
HydraID create_shadow_buffer_task_id = m_task_scheduler->CreateTask<HydraInitialiseShadowBufferTask>(HydraThreadAffinity::Render);
|
||||
m_task_scheduler->WaitForTask(create_shadow_buffer_task_id);
|
||||
|
||||
}
|
||||
|
||||
void HydraEngine::_InitialiseSystems()
|
||||
@@ -277,7 +288,6 @@ void HydraEngine::_InitialiseSystems()
|
||||
|
||||
m_task_scheduler->StartTask(update_trans_id);
|
||||
m_task_scheduler->StartTask(update_mat_id);
|
||||
|
||||
m_task_scheduler->WaitForBarrier(posUpdateBarrierID);
|
||||
|
||||
HydraID update_light_id = m_task_scheduler->CreateTask<HydraUpdateSystemTask>(HydraThreadAffinity::General);
|
||||
@@ -285,16 +295,22 @@ void HydraEngine::_InitialiseSystems()
|
||||
update_light_task->Initialise(m_delta_t, m_light_system);
|
||||
m_task_scheduler->WaitForTask(update_light_id);
|
||||
|
||||
HydraID update_shadow_id = m_task_scheduler->CreateTask<HydraUpdateSystemTask>(HydraThreadAffinity::General);
|
||||
HydraID shadow_barrier = m_task_scheduler->CreateBarrier();
|
||||
|
||||
HydraID update_shadow_id = m_task_scheduler->CreateTask<HydraUpdateSystemTask>(HydraThreadAffinity::General, shadow_barrier);
|
||||
HydraUpdateSystemTask* update_shadow_task = static_cast<HydraUpdateSystemTask*>(m_task_scheduler->GetTask(update_shadow_id));
|
||||
update_shadow_task->Initialise(m_delta_t, m_directional_shadow_system);
|
||||
m_task_scheduler->WaitForTask(update_shadow_id);
|
||||
|
||||
HydraID update_spot_shadow_id = m_task_scheduler->CreateTask<HydraUpdateSystemTask>(HydraThreadAffinity::General);
|
||||
|
||||
HydraID update_spot_shadow_id = m_task_scheduler->CreateTask<HydraUpdateSystemTask>(HydraThreadAffinity::General, shadow_barrier);
|
||||
HydraUpdateSystemTask* update_spot_shadow_task = static_cast<HydraUpdateSystemTask*>(m_task_scheduler->GetTask(update_spot_shadow_id));
|
||||
update_spot_shadow_task->Initialise(m_delta_t, m_spot_shadow_system);
|
||||
m_task_scheduler->WaitForTask(update_spot_shadow_id);
|
||||
|
||||
m_task_scheduler->StartTask(update_shadow_id);
|
||||
m_task_scheduler->StartTask(update_spot_shadow_id);
|
||||
m_task_scheduler->WaitForBarrier(shadow_barrier);
|
||||
|
||||
m_shadow_buffer_manager->UpdateShadowBuffer();
|
||||
}
|
||||
|
||||
void HydraEngine::_GameLoop()
|
||||
|
||||
@@ -27,6 +27,7 @@ class HydraLightBufferManager;
|
||||
class HydraLightSystem;
|
||||
class HydraDirectionalShadowSourceSystem;
|
||||
class HydraSpotShadowSourceSystem;
|
||||
class HydraShadowBufferManager;
|
||||
|
||||
class CLASS_DEFINE HydraEngine : public HydraObject
|
||||
{
|
||||
@@ -58,6 +59,7 @@ public:
|
||||
HydraTextureBufferManager* const TextureBufferManager();
|
||||
HydraMaterialBufferManager* const MaterialBufferManager();
|
||||
HydraLightBufferManager* const LightBufferManager();
|
||||
HydraShadowBufferManager* const ShadowBufferManager();
|
||||
void PossessPlayer(HydraID actor_id);
|
||||
HydraID GetPossessedPlayer();
|
||||
float GetDeltaT();
|
||||
@@ -88,7 +90,7 @@ private:
|
||||
HydraTextureBufferManager* m_texture_buffer_manager = nullptr;
|
||||
HydraMaterialBufferManager* m_material_buffer_manager = nullptr;
|
||||
HydraLightBufferManager* m_light_buffer_manager = nullptr;
|
||||
|
||||
HydraShadowBufferManager* m_shadow_buffer_manager = nullptr;
|
||||
std::shared_ptr<HydraMeshSystem> m_mesh_system;
|
||||
std::shared_ptr<HydraTransformSystem> m_transform_system;
|
||||
std::shared_ptr<HydraRenderSystem> m_render_system;
|
||||
|
||||
@@ -13,6 +13,8 @@
|
||||
#include "../ecs/systems/HydraRenderSystem.h"
|
||||
#include "../ecs/systems/HydraDirectionalShadowSourceSystem.h"
|
||||
#include "../ecs/components/HydraDirectionalShadowSourceComponent.h"
|
||||
#include "../ecs/systems/HydraSpotShadowSourceSystem.h"
|
||||
#include "../ecs/components/HydraSpotShadowSourceComponent.h"
|
||||
#include "../mesh/StandardVertex.h"
|
||||
#include "../actor/HydraActorManager.h"
|
||||
#include "../actor/HydraOutputActor.h"
|
||||
@@ -95,12 +97,12 @@ void HydraDeferredPipeline::_UpdateUBO()
|
||||
buffer_manager->UpdateWholeBuffer(m_per_frame_output_ubo, &output_ubo);
|
||||
glBindBuffer(GL_UNIFORM_BUFFER, m_per_frame_output_ubo);
|
||||
|
||||
std::shared_ptr<HydraDirectionalShadowSourceSystem> sys = GetEngine()->ECS()->GetSystem<HydraDirectionalShadowSourceSystem>();
|
||||
std::shared_ptr<HydraSpotShadowSourceSystem> sys = GetEngine()->ECS()->GetSystem<HydraSpotShadowSourceSystem>();
|
||||
HydraID texture_id = 0;
|
||||
if(sys->Entities.size() > 0)
|
||||
{
|
||||
auto it = sys->Entities.begin();
|
||||
HydraDirectionalShadowSourceComponent shad_comp = GetEngine()->ECS()->GetComponent<HydraDirectionalShadowSourceComponent>(*it);
|
||||
HydraSpotShadowSourceComponent shad_comp = GetEngine()->ECS()->GetComponent<HydraSpotShadowSourceComponent>(*it);
|
||||
texture_id = shad_comp.shadow_texture_id;
|
||||
}
|
||||
TextureDebugUBO texture_ubo = {};
|
||||
@@ -233,6 +235,8 @@ void HydraDeferredPipeline::_CreateOutputRenderStage()
|
||||
HydraID tex_buffer_id = buffer_manager->FindBuffer("TextureBuffer");
|
||||
HydraID output_texture_buffer_id = buffer_manager->FindBuffer("DeferredOutputTextureUBO");
|
||||
HydraID light_buffer_id = buffer_manager->FindBuffer("LightBuffer");
|
||||
HydraID directional_shadow_buffer_id = buffer_manager->FindBuffer("DirectionalShadowBuffer");
|
||||
HydraID spot_shadow_buffer_id = buffer_manager->FindBuffer("SpotShadowBuffer");
|
||||
|
||||
HydraShaderBinding shader_binding = {};
|
||||
shader_binding.block_name.push_back("position_buffer");
|
||||
@@ -240,7 +244,6 @@ void HydraDeferredPipeline::_CreateOutputRenderStage()
|
||||
shader_binding.buffer_id.push_back(pos_buffer_id);
|
||||
shader_binding.buffer_type.push_back(HYDRA_BUFFER_TYPE::HYDRA_SSBO_BUFFER);
|
||||
|
||||
|
||||
shader_binding.block_name.push_back("texture_buffer");
|
||||
shader_binding.binding_point.push_back(3);
|
||||
shader_binding.buffer_id.push_back(tex_buffer_id);
|
||||
@@ -261,6 +264,16 @@ void HydraDeferredPipeline::_CreateOutputRenderStage()
|
||||
shader_binding.buffer_id.push_back(light_buffer_id);
|
||||
shader_binding.buffer_type.push_back(HYDRA_BUFFER_TYPE::HYDRA_SSBO_BUFFER);
|
||||
|
||||
shader_binding.block_name.push_back("directional_shadow_buffer");
|
||||
shader_binding.binding_point.push_back(5);
|
||||
shader_binding.buffer_id.push_back(directional_shadow_buffer_id);
|
||||
shader_binding.buffer_type.push_back(HYDRA_BUFFER_TYPE::HYDRA_SSBO_BUFFER);
|
||||
|
||||
shader_binding.block_name.push_back("spot_shadow_buffer");
|
||||
shader_binding.binding_point.push_back(6);
|
||||
shader_binding.buffer_id.push_back(spot_shadow_buffer_id);
|
||||
shader_binding.buffer_type.push_back(HYDRA_BUFFER_TYPE::HYDRA_SSBO_BUFFER);
|
||||
|
||||
render_stage->Initialise(shader_path + "deferred_output_shader.vert",
|
||||
shader_path + "deferred_output_shader.frag", "",
|
||||
shader_binding,
|
||||
|
||||
@@ -98,7 +98,7 @@ void HydraShadowPipeline::_CreateDirectionalRenderStage()
|
||||
HydraID pos_buffer_id = buffer_manager->FindBuffer("PositionsBuffer");
|
||||
HydraID mat_buffer_id = buffer_manager->FindBuffer("MaterialBuffer");
|
||||
HydraID tex_buffer_id = buffer_manager->FindBuffer("TextureBuffer");
|
||||
HydraID shadow_buffer_id = buffer_manager->FindBuffer("ShadowBuffer");
|
||||
HydraID shadow_buffer_id = buffer_manager->FindBuffer("DirectionalShadowBuffer");
|
||||
HydraID per_frame_buffer_id = buffer_manager->FindBuffer("ShadowPerFrameUBO");
|
||||
|
||||
HydraShaderBinding shader_binding = {};
|
||||
@@ -118,7 +118,7 @@ void HydraShadowPipeline::_CreateDirectionalRenderStage()
|
||||
shader_binding.buffer_id.push_back(tex_buffer_id);
|
||||
shader_binding.buffer_type.push_back(HYDRA_BUFFER_TYPE::HYDRA_SSBO_BUFFER);
|
||||
|
||||
shader_binding.block_name.push_back("shadow_map_sets");
|
||||
shader_binding.block_name.push_back("directional_shadow_map_sets");
|
||||
shader_binding.binding_point.push_back(5);
|
||||
shader_binding.buffer_id.push_back(shadow_buffer_id);
|
||||
shader_binding.buffer_type.push_back(HYDRA_BUFFER_TYPE::HYDRA_SSBO_BUFFER);
|
||||
@@ -152,7 +152,7 @@ void HydraShadowPipeline::_CreateSpotRenderStage()
|
||||
HydraID pos_buffer_id = buffer_manager->FindBuffer("PositionsBuffer");
|
||||
HydraID mat_buffer_id = buffer_manager->FindBuffer("MaterialBuffer");
|
||||
HydraID tex_buffer_id = buffer_manager->FindBuffer("TextureBuffer");
|
||||
HydraID shadow_buffer_id = buffer_manager->FindBuffer("ShadowBuffer");
|
||||
HydraID shadow_buffer_id = buffer_manager->FindBuffer("SpotShadowBuffer");
|
||||
HydraID per_frame_buffer_id = buffer_manager->FindBuffer("ShadowPerFrameUBO");
|
||||
|
||||
HydraShaderBinding shader_binding = {};
|
||||
@@ -172,8 +172,8 @@ void HydraShadowPipeline::_CreateSpotRenderStage()
|
||||
shader_binding.buffer_id.push_back(tex_buffer_id);
|
||||
shader_binding.buffer_type.push_back(HYDRA_BUFFER_TYPE::HYDRA_SSBO_BUFFER);
|
||||
|
||||
shader_binding.block_name.push_back("shadow_map_sets");
|
||||
shader_binding.binding_point.push_back(5);
|
||||
shader_binding.block_name.push_back("spot_shadow_map_sets");
|
||||
shader_binding.binding_point.push_back(6);
|
||||
shader_binding.buffer_id.push_back(shadow_buffer_id);
|
||||
shader_binding.buffer_type.push_back(HYDRA_BUFFER_TYPE::HYDRA_SSBO_BUFFER);
|
||||
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
#ifndef HYDRAINITIALISESHADOWBUFFERTASK
|
||||
#define HYDRAINITIALISESHADOWBUFFERTASK
|
||||
#include "../HydraTask.h"
|
||||
#include "../../engine/HydraEngine.h"
|
||||
#include "../../buffer/HydraShadowBufferManager.h"
|
||||
|
||||
class HydraInitialiseShadowBufferTask : public HydraTask
|
||||
{
|
||||
private:
|
||||
protected:
|
||||
public:
|
||||
virtual void Process() override
|
||||
{
|
||||
GetEngine()->ShadowBufferManager()->Initialise();
|
||||
}
|
||||
};
|
||||
|
||||
#endif /* HYDRAINITIALISESHADOWBUFFERTASK */
|
||||
+16
-16
@@ -161,28 +161,28 @@
|
||||
{
|
||||
"directoryIndex" : 0,
|
||||
"id" : "ALL_BUILD::@6890427a1f51a3e7e1df",
|
||||
"jsonFile" : "target-ALL_BUILD-Debug-9ddbbbeb4caedf0a48f0.json",
|
||||
"jsonFile" : "target-ALL_BUILD-Debug-79cb89fa590649c6cd6a.json",
|
||||
"name" : "ALL_BUILD",
|
||||
"projectIndex" : 0
|
||||
},
|
||||
{
|
||||
"directoryIndex" : 1,
|
||||
"id" : "ALL_BUILD::@fafd37b19aacd4c483ed",
|
||||
"jsonFile" : "target-ALL_BUILD-Debug-30097c8e6651db3aff43.json",
|
||||
"jsonFile" : "target-ALL_BUILD-Debug-21126e6f26f8151b82a1.json",
|
||||
"name" : "ALL_BUILD",
|
||||
"projectIndex" : 1
|
||||
},
|
||||
{
|
||||
"directoryIndex" : 0,
|
||||
"id" : "HydraClient::@6890427a1f51a3e7e1df",
|
||||
"jsonFile" : "target-HydraClient-Debug-78ce361b98c7c89e9629.json",
|
||||
"jsonFile" : "target-HydraClient-Debug-ccca9689ebe6b19fe65a.json",
|
||||
"name" : "HydraClient",
|
||||
"projectIndex" : 0
|
||||
},
|
||||
{
|
||||
"directoryIndex" : 1,
|
||||
"id" : "HydraEngine::@fafd37b19aacd4c483ed",
|
||||
"jsonFile" : "target-HydraEngine-Debug-7e25cfc8f576cb7c79ae.json",
|
||||
"jsonFile" : "target-HydraEngine-Debug-c5670bbc5edcb254f4f2.json",
|
||||
"name" : "HydraEngine",
|
||||
"projectIndex" : 1
|
||||
},
|
||||
@@ -355,28 +355,28 @@
|
||||
{
|
||||
"directoryIndex" : 0,
|
||||
"id" : "ALL_BUILD::@6890427a1f51a3e7e1df",
|
||||
"jsonFile" : "target-ALL_BUILD-Release-9ddbbbeb4caedf0a48f0.json",
|
||||
"jsonFile" : "target-ALL_BUILD-Release-79cb89fa590649c6cd6a.json",
|
||||
"name" : "ALL_BUILD",
|
||||
"projectIndex" : 0
|
||||
},
|
||||
{
|
||||
"directoryIndex" : 1,
|
||||
"id" : "ALL_BUILD::@fafd37b19aacd4c483ed",
|
||||
"jsonFile" : "target-ALL_BUILD-Release-30097c8e6651db3aff43.json",
|
||||
"jsonFile" : "target-ALL_BUILD-Release-21126e6f26f8151b82a1.json",
|
||||
"name" : "ALL_BUILD",
|
||||
"projectIndex" : 1
|
||||
},
|
||||
{
|
||||
"directoryIndex" : 0,
|
||||
"id" : "HydraClient::@6890427a1f51a3e7e1df",
|
||||
"jsonFile" : "target-HydraClient-Release-5f750d1feb1d099be72b.json",
|
||||
"jsonFile" : "target-HydraClient-Release-f300bf694420197200c5.json",
|
||||
"name" : "HydraClient",
|
||||
"projectIndex" : 0
|
||||
},
|
||||
{
|
||||
"directoryIndex" : 1,
|
||||
"id" : "HydraEngine::@fafd37b19aacd4c483ed",
|
||||
"jsonFile" : "target-HydraEngine-Release-5b7c77d65c6b07892d53.json",
|
||||
"jsonFile" : "target-HydraEngine-Release-88bc84ff8a06c001fb0b.json",
|
||||
"name" : "HydraEngine",
|
||||
"projectIndex" : 1
|
||||
},
|
||||
@@ -549,28 +549,28 @@
|
||||
{
|
||||
"directoryIndex" : 0,
|
||||
"id" : "ALL_BUILD::@6890427a1f51a3e7e1df",
|
||||
"jsonFile" : "target-ALL_BUILD-MinSizeRel-9ddbbbeb4caedf0a48f0.json",
|
||||
"jsonFile" : "target-ALL_BUILD-MinSizeRel-79cb89fa590649c6cd6a.json",
|
||||
"name" : "ALL_BUILD",
|
||||
"projectIndex" : 0
|
||||
},
|
||||
{
|
||||
"directoryIndex" : 1,
|
||||
"id" : "ALL_BUILD::@fafd37b19aacd4c483ed",
|
||||
"jsonFile" : "target-ALL_BUILD-MinSizeRel-30097c8e6651db3aff43.json",
|
||||
"jsonFile" : "target-ALL_BUILD-MinSizeRel-21126e6f26f8151b82a1.json",
|
||||
"name" : "ALL_BUILD",
|
||||
"projectIndex" : 1
|
||||
},
|
||||
{
|
||||
"directoryIndex" : 0,
|
||||
"id" : "HydraClient::@6890427a1f51a3e7e1df",
|
||||
"jsonFile" : "target-HydraClient-MinSizeRel-0b1754e9511a8dea2861.json",
|
||||
"jsonFile" : "target-HydraClient-MinSizeRel-707588ed524688a0f034.json",
|
||||
"name" : "HydraClient",
|
||||
"projectIndex" : 0
|
||||
},
|
||||
{
|
||||
"directoryIndex" : 1,
|
||||
"id" : "HydraEngine::@fafd37b19aacd4c483ed",
|
||||
"jsonFile" : "target-HydraEngine-MinSizeRel-dd7605eef8b41531d436.json",
|
||||
"jsonFile" : "target-HydraEngine-MinSizeRel-3f820b7fb6c0cca80b22.json",
|
||||
"name" : "HydraEngine",
|
||||
"projectIndex" : 1
|
||||
},
|
||||
@@ -743,28 +743,28 @@
|
||||
{
|
||||
"directoryIndex" : 0,
|
||||
"id" : "ALL_BUILD::@6890427a1f51a3e7e1df",
|
||||
"jsonFile" : "target-ALL_BUILD-RelWithDebInfo-9ddbbbeb4caedf0a48f0.json",
|
||||
"jsonFile" : "target-ALL_BUILD-RelWithDebInfo-79cb89fa590649c6cd6a.json",
|
||||
"name" : "ALL_BUILD",
|
||||
"projectIndex" : 0
|
||||
},
|
||||
{
|
||||
"directoryIndex" : 1,
|
||||
"id" : "ALL_BUILD::@fafd37b19aacd4c483ed",
|
||||
"jsonFile" : "target-ALL_BUILD-RelWithDebInfo-30097c8e6651db3aff43.json",
|
||||
"jsonFile" : "target-ALL_BUILD-RelWithDebInfo-21126e6f26f8151b82a1.json",
|
||||
"name" : "ALL_BUILD",
|
||||
"projectIndex" : 1
|
||||
},
|
||||
{
|
||||
"directoryIndex" : 0,
|
||||
"id" : "HydraClient::@6890427a1f51a3e7e1df",
|
||||
"jsonFile" : "target-HydraClient-RelWithDebInfo-19110864938462bdea5b.json",
|
||||
"jsonFile" : "target-HydraClient-RelWithDebInfo-a4b1a5ac731bdcc03733.json",
|
||||
"name" : "HydraClient",
|
||||
"projectIndex" : 0
|
||||
},
|
||||
{
|
||||
"directoryIndex" : 1,
|
||||
"id" : "HydraEngine::@fafd37b19aacd4c483ed",
|
||||
"jsonFile" : "target-HydraEngine-RelWithDebInfo-86a99b5410ea40d8a242.json",
|
||||
"jsonFile" : "target-HydraEngine-RelWithDebInfo-6380502de83523fc2633.json",
|
||||
"name" : "HydraEngine",
|
||||
"projectIndex" : 1
|
||||
},
|
||||
+2
-2
@@ -27,7 +27,7 @@
|
||||
"objects" :
|
||||
[
|
||||
{
|
||||
"jsonFile" : "codemodel-v2-b00a87c0d8bd86bc0bfe.json",
|
||||
"jsonFile" : "codemodel-v2-096b8a8b347f4803f005.json",
|
||||
"kind" : "codemodel",
|
||||
"version" :
|
||||
{
|
||||
@@ -100,7 +100,7 @@
|
||||
}
|
||||
},
|
||||
{
|
||||
"jsonFile" : "codemodel-v2-b00a87c0d8bd86bc0bfe.json",
|
||||
"jsonFile" : "codemodel-v2-096b8a8b347f4803f005.json",
|
||||
"kind" : "codemodel",
|
||||
"version" :
|
||||
{
|
||||
+2
-2
@@ -22,10 +22,10 @@
|
||||
"dependencies" :
|
||||
[
|
||||
{
|
||||
"id" : "HydraEngine::@fafd37b19aacd4c483ed"
|
||||
"id" : "ZERO_CHECK::@6890427a1f51a3e7e1df"
|
||||
},
|
||||
{
|
||||
"id" : "ZERO_CHECK::@6890427a1f51a3e7e1df"
|
||||
"id" : "HydraEngine::@fafd37b19aacd4c483ed"
|
||||
}
|
||||
],
|
||||
"folder" :
|
||||
+2
-2
@@ -25,10 +25,10 @@
|
||||
"id" : "HydraClient::@6890427a1f51a3e7e1df"
|
||||
},
|
||||
{
|
||||
"id" : "HydraEngine::@fafd37b19aacd4c483ed"
|
||||
"id" : "ZERO_CHECK::@6890427a1f51a3e7e1df"
|
||||
},
|
||||
{
|
||||
"id" : "ZERO_CHECK::@6890427a1f51a3e7e1df"
|
||||
"id" : "HydraEngine::@fafd37b19aacd4c483ed"
|
||||
}
|
||||
],
|
||||
"folder" :
|
||||
+2
-2
@@ -22,10 +22,10 @@
|
||||
"dependencies" :
|
||||
[
|
||||
{
|
||||
"id" : "HydraEngine::@fafd37b19aacd4c483ed"
|
||||
"id" : "ZERO_CHECK::@6890427a1f51a3e7e1df"
|
||||
},
|
||||
{
|
||||
"id" : "ZERO_CHECK::@6890427a1f51a3e7e1df"
|
||||
"id" : "HydraEngine::@fafd37b19aacd4c483ed"
|
||||
}
|
||||
],
|
||||
"folder" :
|
||||
+2
-2
@@ -25,10 +25,10 @@
|
||||
"id" : "HydraClient::@6890427a1f51a3e7e1df"
|
||||
},
|
||||
{
|
||||
"id" : "HydraEngine::@fafd37b19aacd4c483ed"
|
||||
"id" : "ZERO_CHECK::@6890427a1f51a3e7e1df"
|
||||
},
|
||||
{
|
||||
"id" : "ZERO_CHECK::@6890427a1f51a3e7e1df"
|
||||
"id" : "HydraEngine::@fafd37b19aacd4c483ed"
|
||||
}
|
||||
],
|
||||
"folder" :
|
||||
+2
-2
@@ -22,10 +22,10 @@
|
||||
"dependencies" :
|
||||
[
|
||||
{
|
||||
"id" : "HydraEngine::@fafd37b19aacd4c483ed"
|
||||
"id" : "ZERO_CHECK::@6890427a1f51a3e7e1df"
|
||||
},
|
||||
{
|
||||
"id" : "ZERO_CHECK::@6890427a1f51a3e7e1df"
|
||||
"id" : "HydraEngine::@fafd37b19aacd4c483ed"
|
||||
}
|
||||
],
|
||||
"folder" :
|
||||
+2
-2
@@ -25,10 +25,10 @@
|
||||
"id" : "HydraClient::@6890427a1f51a3e7e1df"
|
||||
},
|
||||
{
|
||||
"id" : "HydraEngine::@fafd37b19aacd4c483ed"
|
||||
"id" : "ZERO_CHECK::@6890427a1f51a3e7e1df"
|
||||
},
|
||||
{
|
||||
"id" : "ZERO_CHECK::@6890427a1f51a3e7e1df"
|
||||
"id" : "HydraEngine::@fafd37b19aacd4c483ed"
|
||||
}
|
||||
],
|
||||
"folder" :
|
||||
+2
-2
@@ -22,10 +22,10 @@
|
||||
"dependencies" :
|
||||
[
|
||||
{
|
||||
"id" : "HydraEngine::@fafd37b19aacd4c483ed"
|
||||
"id" : "ZERO_CHECK::@6890427a1f51a3e7e1df"
|
||||
},
|
||||
{
|
||||
"id" : "ZERO_CHECK::@6890427a1f51a3e7e1df"
|
||||
"id" : "HydraEngine::@fafd37b19aacd4c483ed"
|
||||
}
|
||||
],
|
||||
"folder" :
|
||||
+2
-2
@@ -25,10 +25,10 @@
|
||||
"id" : "HydraClient::@6890427a1f51a3e7e1df"
|
||||
},
|
||||
{
|
||||
"id" : "HydraEngine::@fafd37b19aacd4c483ed"
|
||||
"id" : "ZERO_CHECK::@6890427a1f51a3e7e1df"
|
||||
},
|
||||
{
|
||||
"id" : "ZERO_CHECK::@6890427a1f51a3e7e1df"
|
||||
"id" : "HydraEngine::@fafd37b19aacd4c483ed"
|
||||
}
|
||||
],
|
||||
"folder" :
|
||||
+3
-3
@@ -107,11 +107,11 @@
|
||||
"dependencies" :
|
||||
[
|
||||
{
|
||||
"backtrace" : 2,
|
||||
"id" : "HydraEngine::@fafd37b19aacd4c483ed"
|
||||
"id" : "ZERO_CHECK::@6890427a1f51a3e7e1df"
|
||||
},
|
||||
{
|
||||
"id" : "ZERO_CHECK::@6890427a1f51a3e7e1df"
|
||||
"backtrace" : 2,
|
||||
"id" : "HydraEngine::@fafd37b19aacd4c483ed"
|
||||
}
|
||||
],
|
||||
"id" : "HydraClient::@6890427a1f51a3e7e1df",
|
||||
+3
-3
@@ -107,11 +107,11 @@
|
||||
"dependencies" :
|
||||
[
|
||||
{
|
||||
"backtrace" : 2,
|
||||
"id" : "HydraEngine::@fafd37b19aacd4c483ed"
|
||||
"id" : "ZERO_CHECK::@6890427a1f51a3e7e1df"
|
||||
},
|
||||
{
|
||||
"id" : "ZERO_CHECK::@6890427a1f51a3e7e1df"
|
||||
"backtrace" : 2,
|
||||
"id" : "HydraEngine::@fafd37b19aacd4c483ed"
|
||||
}
|
||||
],
|
||||
"id" : "HydraClient::@6890427a1f51a3e7e1df",
|
||||
+3
-3
@@ -107,11 +107,11 @@
|
||||
"dependencies" :
|
||||
[
|
||||
{
|
||||
"backtrace" : 2,
|
||||
"id" : "HydraEngine::@fafd37b19aacd4c483ed"
|
||||
"id" : "ZERO_CHECK::@6890427a1f51a3e7e1df"
|
||||
},
|
||||
{
|
||||
"id" : "ZERO_CHECK::@6890427a1f51a3e7e1df"
|
||||
"backtrace" : 2,
|
||||
"id" : "HydraEngine::@fafd37b19aacd4c483ed"
|
||||
}
|
||||
],
|
||||
"id" : "HydraClient::@6890427a1f51a3e7e1df",
|
||||
+3
-3
@@ -107,11 +107,11 @@
|
||||
"dependencies" :
|
||||
[
|
||||
{
|
||||
"backtrace" : 2,
|
||||
"id" : "HydraEngine::@fafd37b19aacd4c483ed"
|
||||
"id" : "ZERO_CHECK::@6890427a1f51a3e7e1df"
|
||||
},
|
||||
{
|
||||
"id" : "ZERO_CHECK::@6890427a1f51a3e7e1df"
|
||||
"backtrace" : 2,
|
||||
"id" : "HydraEngine::@fafd37b19aacd4c483ed"
|
||||
}
|
||||
],
|
||||
"id" : "HydraClient::@6890427a1f51a3e7e1df",
|
||||
+36
-22
@@ -206,12 +206,12 @@
|
||||
31,
|
||||
34,
|
||||
37,
|
||||
41,
|
||||
39,
|
||||
43,
|
||||
47,
|
||||
51,
|
||||
45,
|
||||
49,
|
||||
53,
|
||||
64,
|
||||
55,
|
||||
66,
|
||||
68,
|
||||
70,
|
||||
@@ -223,8 +223,8 @@
|
||||
82,
|
||||
84,
|
||||
86,
|
||||
89,
|
||||
92,
|
||||
88,
|
||||
91,
|
||||
94,
|
||||
96,
|
||||
98,
|
||||
@@ -234,7 +234,8 @@
|
||||
106,
|
||||
108,
|
||||
110,
|
||||
114
|
||||
112,
|
||||
116
|
||||
]
|
||||
}
|
||||
],
|
||||
@@ -328,12 +329,12 @@
|
||||
31,
|
||||
34,
|
||||
37,
|
||||
41,
|
||||
39,
|
||||
43,
|
||||
47,
|
||||
51,
|
||||
45,
|
||||
49,
|
||||
53,
|
||||
64,
|
||||
55,
|
||||
66,
|
||||
68,
|
||||
70,
|
||||
@@ -345,8 +346,8 @@
|
||||
82,
|
||||
84,
|
||||
86,
|
||||
89,
|
||||
92,
|
||||
88,
|
||||
91,
|
||||
94,
|
||||
96,
|
||||
98,
|
||||
@@ -356,7 +357,8 @@
|
||||
106,
|
||||
108,
|
||||
110,
|
||||
114
|
||||
112,
|
||||
116
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -386,18 +388,17 @@
|
||||
35,
|
||||
36,
|
||||
38,
|
||||
39,
|
||||
40,
|
||||
41,
|
||||
42,
|
||||
44,
|
||||
45,
|
||||
46,
|
||||
47,
|
||||
48,
|
||||
49,
|
||||
50,
|
||||
51,
|
||||
52,
|
||||
54,
|
||||
55,
|
||||
56,
|
||||
57,
|
||||
58,
|
||||
@@ -406,6 +407,7 @@
|
||||
61,
|
||||
62,
|
||||
63,
|
||||
64,
|
||||
65,
|
||||
67,
|
||||
69,
|
||||
@@ -418,9 +420,9 @@
|
||||
83,
|
||||
85,
|
||||
87,
|
||||
88,
|
||||
89,
|
||||
90,
|
||||
91,
|
||||
92,
|
||||
93,
|
||||
95,
|
||||
97,
|
||||
@@ -431,9 +433,10 @@
|
||||
107,
|
||||
109,
|
||||
111,
|
||||
112,
|
||||
113,
|
||||
115
|
||||
114,
|
||||
115,
|
||||
117
|
||||
]
|
||||
}
|
||||
],
|
||||
@@ -639,6 +642,17 @@
|
||||
"path" : "HydraEngine/source/buffer/HydraShadowBuffer.h",
|
||||
"sourceGroupIndex" : 1
|
||||
},
|
||||
{
|
||||
"backtrace" : 1,
|
||||
"compileGroupIndex" : 0,
|
||||
"path" : "HydraEngine/source/buffer/HydraShadowBufferManager.cpp",
|
||||
"sourceGroupIndex" : 0
|
||||
},
|
||||
{
|
||||
"backtrace" : 1,
|
||||
"path" : "HydraEngine/source/buffer/HydraShadowBufferManager.h",
|
||||
"sourceGroupIndex" : 1
|
||||
},
|
||||
{
|
||||
"backtrace" : 1,
|
||||
"compileGroupIndex" : 0,
|
||||
+36
-22
@@ -206,12 +206,12 @@
|
||||
31,
|
||||
34,
|
||||
37,
|
||||
41,
|
||||
39,
|
||||
43,
|
||||
47,
|
||||
51,
|
||||
45,
|
||||
49,
|
||||
53,
|
||||
64,
|
||||
55,
|
||||
66,
|
||||
68,
|
||||
70,
|
||||
@@ -223,8 +223,8 @@
|
||||
82,
|
||||
84,
|
||||
86,
|
||||
89,
|
||||
92,
|
||||
88,
|
||||
91,
|
||||
94,
|
||||
96,
|
||||
98,
|
||||
@@ -234,7 +234,8 @@
|
||||
106,
|
||||
108,
|
||||
110,
|
||||
114
|
||||
112,
|
||||
116
|
||||
]
|
||||
}
|
||||
],
|
||||
@@ -328,12 +329,12 @@
|
||||
31,
|
||||
34,
|
||||
37,
|
||||
41,
|
||||
39,
|
||||
43,
|
||||
47,
|
||||
51,
|
||||
45,
|
||||
49,
|
||||
53,
|
||||
64,
|
||||
55,
|
||||
66,
|
||||
68,
|
||||
70,
|
||||
@@ -345,8 +346,8 @@
|
||||
82,
|
||||
84,
|
||||
86,
|
||||
89,
|
||||
92,
|
||||
88,
|
||||
91,
|
||||
94,
|
||||
96,
|
||||
98,
|
||||
@@ -356,7 +357,8 @@
|
||||
106,
|
||||
108,
|
||||
110,
|
||||
114
|
||||
112,
|
||||
116
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -386,18 +388,17 @@
|
||||
35,
|
||||
36,
|
||||
38,
|
||||
39,
|
||||
40,
|
||||
41,
|
||||
42,
|
||||
44,
|
||||
45,
|
||||
46,
|
||||
47,
|
||||
48,
|
||||
49,
|
||||
50,
|
||||
51,
|
||||
52,
|
||||
54,
|
||||
55,
|
||||
56,
|
||||
57,
|
||||
58,
|
||||
@@ -406,6 +407,7 @@
|
||||
61,
|
||||
62,
|
||||
63,
|
||||
64,
|
||||
65,
|
||||
67,
|
||||
69,
|
||||
@@ -418,9 +420,9 @@
|
||||
83,
|
||||
85,
|
||||
87,
|
||||
88,
|
||||
89,
|
||||
90,
|
||||
91,
|
||||
92,
|
||||
93,
|
||||
95,
|
||||
97,
|
||||
@@ -431,9 +433,10 @@
|
||||
107,
|
||||
109,
|
||||
111,
|
||||
112,
|
||||
113,
|
||||
115
|
||||
114,
|
||||
115,
|
||||
117
|
||||
]
|
||||
}
|
||||
],
|
||||
@@ -639,6 +642,17 @@
|
||||
"path" : "HydraEngine/source/buffer/HydraShadowBuffer.h",
|
||||
"sourceGroupIndex" : 1
|
||||
},
|
||||
{
|
||||
"backtrace" : 1,
|
||||
"compileGroupIndex" : 0,
|
||||
"path" : "HydraEngine/source/buffer/HydraShadowBufferManager.cpp",
|
||||
"sourceGroupIndex" : 0
|
||||
},
|
||||
{
|
||||
"backtrace" : 1,
|
||||
"path" : "HydraEngine/source/buffer/HydraShadowBufferManager.h",
|
||||
"sourceGroupIndex" : 1
|
||||
},
|
||||
{
|
||||
"backtrace" : 1,
|
||||
"compileGroupIndex" : 0,
|
||||
+36
-22
@@ -206,12 +206,12 @@
|
||||
31,
|
||||
34,
|
||||
37,
|
||||
41,
|
||||
39,
|
||||
43,
|
||||
47,
|
||||
51,
|
||||
45,
|
||||
49,
|
||||
53,
|
||||
64,
|
||||
55,
|
||||
66,
|
||||
68,
|
||||
70,
|
||||
@@ -223,8 +223,8 @@
|
||||
82,
|
||||
84,
|
||||
86,
|
||||
89,
|
||||
92,
|
||||
88,
|
||||
91,
|
||||
94,
|
||||
96,
|
||||
98,
|
||||
@@ -234,7 +234,8 @@
|
||||
106,
|
||||
108,
|
||||
110,
|
||||
114
|
||||
112,
|
||||
116
|
||||
]
|
||||
}
|
||||
],
|
||||
@@ -328,12 +329,12 @@
|
||||
31,
|
||||
34,
|
||||
37,
|
||||
41,
|
||||
39,
|
||||
43,
|
||||
47,
|
||||
51,
|
||||
45,
|
||||
49,
|
||||
53,
|
||||
64,
|
||||
55,
|
||||
66,
|
||||
68,
|
||||
70,
|
||||
@@ -345,8 +346,8 @@
|
||||
82,
|
||||
84,
|
||||
86,
|
||||
89,
|
||||
92,
|
||||
88,
|
||||
91,
|
||||
94,
|
||||
96,
|
||||
98,
|
||||
@@ -356,7 +357,8 @@
|
||||
106,
|
||||
108,
|
||||
110,
|
||||
114
|
||||
112,
|
||||
116
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -386,18 +388,17 @@
|
||||
35,
|
||||
36,
|
||||
38,
|
||||
39,
|
||||
40,
|
||||
41,
|
||||
42,
|
||||
44,
|
||||
45,
|
||||
46,
|
||||
47,
|
||||
48,
|
||||
49,
|
||||
50,
|
||||
51,
|
||||
52,
|
||||
54,
|
||||
55,
|
||||
56,
|
||||
57,
|
||||
58,
|
||||
@@ -406,6 +407,7 @@
|
||||
61,
|
||||
62,
|
||||
63,
|
||||
64,
|
||||
65,
|
||||
67,
|
||||
69,
|
||||
@@ -418,9 +420,9 @@
|
||||
83,
|
||||
85,
|
||||
87,
|
||||
88,
|
||||
89,
|
||||
90,
|
||||
91,
|
||||
92,
|
||||
93,
|
||||
95,
|
||||
97,
|
||||
@@ -431,9 +433,10 @@
|
||||
107,
|
||||
109,
|
||||
111,
|
||||
112,
|
||||
113,
|
||||
115
|
||||
114,
|
||||
115,
|
||||
117
|
||||
]
|
||||
}
|
||||
],
|
||||
@@ -639,6 +642,17 @@
|
||||
"path" : "HydraEngine/source/buffer/HydraShadowBuffer.h",
|
||||
"sourceGroupIndex" : 1
|
||||
},
|
||||
{
|
||||
"backtrace" : 1,
|
||||
"compileGroupIndex" : 0,
|
||||
"path" : "HydraEngine/source/buffer/HydraShadowBufferManager.cpp",
|
||||
"sourceGroupIndex" : 0
|
||||
},
|
||||
{
|
||||
"backtrace" : 1,
|
||||
"path" : "HydraEngine/source/buffer/HydraShadowBufferManager.h",
|
||||
"sourceGroupIndex" : 1
|
||||
},
|
||||
{
|
||||
"backtrace" : 1,
|
||||
"compileGroupIndex" : 0,
|
||||
+36
-22
@@ -206,12 +206,12 @@
|
||||
31,
|
||||
34,
|
||||
37,
|
||||
41,
|
||||
39,
|
||||
43,
|
||||
47,
|
||||
51,
|
||||
45,
|
||||
49,
|
||||
53,
|
||||
64,
|
||||
55,
|
||||
66,
|
||||
68,
|
||||
70,
|
||||
@@ -223,8 +223,8 @@
|
||||
82,
|
||||
84,
|
||||
86,
|
||||
89,
|
||||
92,
|
||||
88,
|
||||
91,
|
||||
94,
|
||||
96,
|
||||
98,
|
||||
@@ -234,7 +234,8 @@
|
||||
106,
|
||||
108,
|
||||
110,
|
||||
114
|
||||
112,
|
||||
116
|
||||
]
|
||||
}
|
||||
],
|
||||
@@ -328,12 +329,12 @@
|
||||
31,
|
||||
34,
|
||||
37,
|
||||
41,
|
||||
39,
|
||||
43,
|
||||
47,
|
||||
51,
|
||||
45,
|
||||
49,
|
||||
53,
|
||||
64,
|
||||
55,
|
||||
66,
|
||||
68,
|
||||
70,
|
||||
@@ -345,8 +346,8 @@
|
||||
82,
|
||||
84,
|
||||
86,
|
||||
89,
|
||||
92,
|
||||
88,
|
||||
91,
|
||||
94,
|
||||
96,
|
||||
98,
|
||||
@@ -356,7 +357,8 @@
|
||||
106,
|
||||
108,
|
||||
110,
|
||||
114
|
||||
112,
|
||||
116
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -386,18 +388,17 @@
|
||||
35,
|
||||
36,
|
||||
38,
|
||||
39,
|
||||
40,
|
||||
41,
|
||||
42,
|
||||
44,
|
||||
45,
|
||||
46,
|
||||
47,
|
||||
48,
|
||||
49,
|
||||
50,
|
||||
51,
|
||||
52,
|
||||
54,
|
||||
55,
|
||||
56,
|
||||
57,
|
||||
58,
|
||||
@@ -406,6 +407,7 @@
|
||||
61,
|
||||
62,
|
||||
63,
|
||||
64,
|
||||
65,
|
||||
67,
|
||||
69,
|
||||
@@ -418,9 +420,9 @@
|
||||
83,
|
||||
85,
|
||||
87,
|
||||
88,
|
||||
89,
|
||||
90,
|
||||
91,
|
||||
92,
|
||||
93,
|
||||
95,
|
||||
97,
|
||||
@@ -431,9 +433,10 @@
|
||||
107,
|
||||
109,
|
||||
111,
|
||||
112,
|
||||
113,
|
||||
115
|
||||
114,
|
||||
115,
|
||||
117
|
||||
]
|
||||
}
|
||||
],
|
||||
@@ -639,6 +642,17 @@
|
||||
"path" : "HydraEngine/source/buffer/HydraShadowBuffer.h",
|
||||
"sourceGroupIndex" : 1
|
||||
},
|
||||
{
|
||||
"backtrace" : 1,
|
||||
"compileGroupIndex" : 0,
|
||||
"path" : "HydraEngine/source/buffer/HydraShadowBufferManager.cpp",
|
||||
"sourceGroupIndex" : 0
|
||||
},
|
||||
{
|
||||
"backtrace" : 1,
|
||||
"path" : "HydraEngine/source/buffer/HydraShadowBufferManager.h",
|
||||
"sourceGroupIndex" : 1
|
||||
},
|
||||
{
|
||||
"backtrace" : 1,
|
||||
"compileGroupIndex" : 0,
|
||||
Binary file not shown.
@@ -105,7 +105,7 @@ events:
|
||||
The output was:
|
||||
0
|
||||
MSBuild version 17.14.40+3e7442088 for .NET Framework
|
||||
Build started 04/08/2026 17:53:56.
|
||||
Build started 05/08/2026 14:49:31.
|
||||
|
||||
Project "C:\\Code\\HydraV3\\build\\CMakeFiles\\4.3.3\\CompilerIdCXX\\CompilerIdCXX.vcxproj" on node 1 (default targets).
|
||||
PrepareForBuild:
|
||||
@@ -134,7 +134,7 @@ events:
|
||||
0 Warning(s)
|
||||
0 Error(s)
|
||||
|
||||
Time Elapsed 00:00:00.50
|
||||
Time Elapsed 00:00:00.75
|
||||
|
||||
|
||||
Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "CompilerIdCXX.exe"
|
||||
@@ -1020,8 +1020,8 @@ events:
|
||||
checks:
|
||||
- "Detecting CXX compiler ABI info"
|
||||
directories:
|
||||
source: "C:/Code/HydraV3/build/CMakeFiles/CMakeScratch/TryCompile-k472us"
|
||||
binary: "C:/Code/HydraV3/build/CMakeFiles/CMakeScratch/TryCompile-k472us"
|
||||
source: "C:/Code/HydraV3/build/CMakeFiles/CMakeScratch/TryCompile-94obry"
|
||||
binary: "C:/Code/HydraV3/build/CMakeFiles/CMakeScratch/TryCompile-94obry"
|
||||
cmakeVariables:
|
||||
CMAKE_CXX_FLAGS: "/DWIN32 /D_WINDOWS /EHsc"
|
||||
CMAKE_CXX_FLAGS_DEBUG: "/Ob0 /Od /RTC1"
|
||||
@@ -1032,33 +1032,33 @@ events:
|
||||
variable: "CMAKE_CXX_ABI_COMPILED"
|
||||
cached: true
|
||||
stdout: |
|
||||
Change Dir: 'C:/Code/HydraV3/build/CMakeFiles/CMakeScratch/TryCompile-k472us'
|
||||
Change Dir: 'C:/Code/HydraV3/build/CMakeFiles/CMakeScratch/TryCompile-94obry'
|
||||
|
||||
Run Build Command(s): "C:/Program Files/Microsoft Visual Studio/2022/Professional/MSBuild/Current/Bin/amd64/MSBuild.exe" cmTC_53912.vcxproj /p:Configuration=Debug /p:Platform=x64 /p:VisualStudioVersion=17.0 /v:n
|
||||
Run Build Command(s): "C:/Program Files/Microsoft Visual Studio/2022/Professional/MSBuild/Current/Bin/amd64/MSBuild.exe" cmTC_c2249.vcxproj /p:Configuration=Debug /p:Platform=x64 /p:VisualStudioVersion=17.0 /v:n
|
||||
MSBuild version 17.14.40+3e7442088 for .NET Framework
|
||||
Build started 04/08/2026 17:53:57.
|
||||
Build started 05/08/2026 14:49:33.
|
||||
|
||||
Project "C:\\Code\\HydraV3\\build\\CMakeFiles\\CMakeScratch\\TryCompile-k472us\\cmTC_53912.vcxproj" on node 1 (default targets).
|
||||
Project "C:\\Code\\HydraV3\\build\\CMakeFiles\\CMakeScratch\\TryCompile-94obry\\cmTC_c2249.vcxproj" on node 1 (default targets).
|
||||
PrepareForBuild:
|
||||
Structured output is enabled. The formatting of compiler diagnostics will reflect the error hierarchy. See https://aka.ms/cpp/structured-output for more details.
|
||||
Creating directory "C:\\Code\\HydraV3\\build\\CMakeFiles\\CMakeScratch\\TryCompile-k472us\\Debug\\".
|
||||
Creating directory "cmTC_53912.dir\\Debug\\cmTC_53912.tlog\\".
|
||||
Creating directory "C:\\Code\\HydraV3\\build\\CMakeFiles\\CMakeScratch\\TryCompile-94obry\\Debug\\".
|
||||
Creating directory "cmTC_c2249.dir\\Debug\\cmTC_c2249.tlog\\".
|
||||
InitializeBuildStatus:
|
||||
Creating "cmTC_53912.dir\\Debug\\cmTC_53912.tlog\\unsuccessfulbuild" because "AlwaysCreate" was specified.
|
||||
Touching "cmTC_53912.dir\\Debug\\cmTC_53912.tlog\\unsuccessfulbuild".
|
||||
Creating "cmTC_c2249.dir\\Debug\\cmTC_c2249.tlog\\unsuccessfulbuild" because "AlwaysCreate" was specified.
|
||||
Touching "cmTC_c2249.dir\\Debug\\cmTC_c2249.tlog\\unsuccessfulbuild".
|
||||
ClCompile:
|
||||
C:\\Program Files\\Microsoft Visual Studio\\2022\\Professional\\VC\\Tools\\MSVC\\14.44.35207\\bin\\HostX64\\x64\\CL.exe /c /Zi /W1 /WX- /diagnostics:column /Od /Ob0 /D _MBCS /D WIN32 /D _WINDOWS /D _MBCS /D "CMAKE_INTDIR=\\"Debug\\"" /EHsc /RTC1 /MDd /std:c++17 /Fo"cmTC_53912.dir\\Debug\\\\" /Fd"cmTC_53912.dir\\Debug\\vc143.pdb" /external:W1 /TP /errorReport:queue "C:\\Program Files\\CMake\\share\\cmake-4.3\\Modules\\CMakeCXXCompilerABI.cpp"
|
||||
C:\\Program Files\\Microsoft Visual Studio\\2022\\Professional\\VC\\Tools\\MSVC\\14.44.35207\\bin\\HostX64\\x64\\CL.exe /c /Zi /W1 /WX- /diagnostics:column /Od /Ob0 /D _MBCS /D WIN32 /D _WINDOWS /D _MBCS /D "CMAKE_INTDIR=\\"Debug\\"" /EHsc /RTC1 /MDd /std:c++17 /Fo"cmTC_c2249.dir\\Debug\\\\" /Fd"cmTC_c2249.dir\\Debug\\vc143.pdb" /external:W1 /TP /errorReport:queue "C:\\Program Files\\CMake\\share\\cmake-4.3\\Modules\\CMakeCXXCompilerABI.cpp"
|
||||
Microsoft (R) C/C++ Optimizing Compiler Version 19.44.35225 for x64
|
||||
Copyright (C) Microsoft Corporation. All rights reserved.
|
||||
cl /c /Zi /W1 /WX- /diagnostics:column /Od /Ob0 /D _MBCS /D WIN32 /D _WINDOWS /D _MBCS /D "CMAKE_INTDIR=\\"Debug\\"" /EHsc /RTC1 /MDd /std:c++17 /Fo"cmTC_53912.dir\\Debug\\\\" /Fd"cmTC_53912.dir\\Debug\\vc143.pdb" /external:W1 /TP /errorReport:queue "C:\\Program Files\\CMake\\share\\cmake-4.3\\Modules\\CMakeCXXCompilerABI.cpp"
|
||||
cl /c /Zi /W1 /WX- /diagnostics:column /Od /Ob0 /D _MBCS /D WIN32 /D _WINDOWS /D _MBCS /D "CMAKE_INTDIR=\\"Debug\\"" /EHsc /RTC1 /MDd /std:c++17 /Fo"cmTC_c2249.dir\\Debug\\\\" /Fd"cmTC_c2249.dir\\Debug\\vc143.pdb" /external:W1 /TP /errorReport:queue "C:\\Program Files\\CMake\\share\\cmake-4.3\\Modules\\CMakeCXXCompilerABI.cpp"
|
||||
CMakeCXXCompilerABI.cpp
|
||||
Link:
|
||||
C:\\Program Files\\Microsoft Visual Studio\\2022\\Professional\\VC\\Tools\\MSVC\\14.44.35207\\bin\\HostX64\\x64\\link.exe /OUT:"C:\\Code\\HydraV3\\build\\CMakeFiles\\CMakeScratch\\TryCompile-k472us\\Debug\\cmTC_53912.exe" /INCREMENTAL /ILK:"cmTC_53912.dir\\Debug\\cmTC_53912.ilk" /NOLOGO kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib /MANIFEST /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /manifest:embed /DEBUG /PDB:"C:/Code/HydraV3/build/CMakeFiles/CMakeScratch/TryCompile-k472us/Debug/cmTC_53912.pdb" /SUBSYSTEM:CONSOLE /TLBID:1 /IMPLIB:"C:/Code/HydraV3/build/CMakeFiles/CMakeScratch/TryCompile-k472us/Debug/cmTC_53912.lib" /MACHINE:X64 /machine:x64 cmTC_53912.dir\\Debug\\CMakeCXXCompilerABI.obj
|
||||
cmTC_53912.vcxproj -> C:\\Code\\HydraV3\\build\\CMakeFiles\\CMakeScratch\\TryCompile-k472us\\Debug\\cmTC_53912.exe
|
||||
C:\\Program Files\\Microsoft Visual Studio\\2022\\Professional\\VC\\Tools\\MSVC\\14.44.35207\\bin\\HostX64\\x64\\link.exe /OUT:"C:\\Code\\HydraV3\\build\\CMakeFiles\\CMakeScratch\\TryCompile-94obry\\Debug\\cmTC_c2249.exe" /INCREMENTAL /ILK:"cmTC_c2249.dir\\Debug\\cmTC_c2249.ilk" /NOLOGO kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib /MANIFEST /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /manifest:embed /DEBUG /PDB:"C:/Code/HydraV3/build/CMakeFiles/CMakeScratch/TryCompile-94obry/Debug/cmTC_c2249.pdb" /SUBSYSTEM:CONSOLE /TLBID:1 /IMPLIB:"C:/Code/HydraV3/build/CMakeFiles/CMakeScratch/TryCompile-94obry/Debug/cmTC_c2249.lib" /MACHINE:X64 /machine:x64 cmTC_c2249.dir\\Debug\\CMakeCXXCompilerABI.obj
|
||||
cmTC_c2249.vcxproj -> C:\\Code\\HydraV3\\build\\CMakeFiles\\CMakeScratch\\TryCompile-94obry\\Debug\\cmTC_c2249.exe
|
||||
FinalizeBuildStatus:
|
||||
Deleting file "cmTC_53912.dir\\Debug\\cmTC_53912.tlog\\unsuccessfulbuild".
|
||||
Touching "cmTC_53912.dir\\Debug\\cmTC_53912.tlog\\cmTC_53912.lastbuildstate".
|
||||
Done Building Project "C:\\Code\\HydraV3\\build\\CMakeFiles\\CMakeScratch\\TryCompile-k472us\\cmTC_53912.vcxproj" (default targets).
|
||||
Deleting file "cmTC_c2249.dir\\Debug\\cmTC_c2249.tlog\\unsuccessfulbuild".
|
||||
Touching "cmTC_c2249.dir\\Debug\\cmTC_c2249.tlog\\cmTC_c2249.lastbuildstate".
|
||||
Done Building Project "C:\\Code\\HydraV3\\build\\CMakeFiles\\CMakeScratch\\TryCompile-94obry\\cmTC_c2249.vcxproj" (default targets).
|
||||
|
||||
Build succeeded.
|
||||
0 Warning(s)
|
||||
@@ -1109,8 +1109,8 @@ events:
|
||||
checks:
|
||||
- "Performing Test CMAKE_HAVE_LIBC_PTHREAD"
|
||||
directories:
|
||||
source: "C:/Code/HydraV3/build/CMakeFiles/CMakeScratch/TryCompile-sfg0v2"
|
||||
binary: "C:/Code/HydraV3/build/CMakeFiles/CMakeScratch/TryCompile-sfg0v2"
|
||||
source: "C:/Code/HydraV3/build/CMakeFiles/CMakeScratch/TryCompile-ladxj9"
|
||||
binary: "C:/Code/HydraV3/build/CMakeFiles/CMakeScratch/TryCompile-ladxj9"
|
||||
cmakeVariables:
|
||||
CMAKE_CXX_FLAGS: "/DWIN32 /D_WINDOWS /EHsc"
|
||||
CMAKE_CXX_FLAGS_DEBUG: "/Ob0 /Od /RTC1"
|
||||
@@ -1120,39 +1120,39 @@ events:
|
||||
variable: "CMAKE_HAVE_LIBC_PTHREAD"
|
||||
cached: true
|
||||
stdout: |
|
||||
Change Dir: 'C:/Code/HydraV3/build/CMakeFiles/CMakeScratch/TryCompile-sfg0v2'
|
||||
Change Dir: 'C:/Code/HydraV3/build/CMakeFiles/CMakeScratch/TryCompile-ladxj9'
|
||||
|
||||
Run Build Command(s): "C:/Program Files/Microsoft Visual Studio/2022/Professional/MSBuild/Current/Bin/amd64/MSBuild.exe" cmTC_aa0ba.vcxproj /p:Configuration=Debug /p:Platform=x64 /p:VisualStudioVersion=17.0 /v:n
|
||||
Run Build Command(s): "C:/Program Files/Microsoft Visual Studio/2022/Professional/MSBuild/Current/Bin/amd64/MSBuild.exe" cmTC_d0be4.vcxproj /p:Configuration=Debug /p:Platform=x64 /p:VisualStudioVersion=17.0 /v:n
|
||||
MSBuild version 17.14.40+3e7442088 for .NET Framework
|
||||
Build started 04/08/2026 17:53:58.
|
||||
Build started 05/08/2026 14:49:33.
|
||||
|
||||
Project "C:\\Code\\HydraV3\\build\\CMakeFiles\\CMakeScratch\\TryCompile-sfg0v2\\cmTC_aa0ba.vcxproj" on node 1 (default targets).
|
||||
Project "C:\\Code\\HydraV3\\build\\CMakeFiles\\CMakeScratch\\TryCompile-ladxj9\\cmTC_d0be4.vcxproj" on node 1 (default targets).
|
||||
PrepareForBuild:
|
||||
Structured output is enabled. The formatting of compiler diagnostics will reflect the error hierarchy. See https://aka.ms/cpp/structured-output for more details.
|
||||
Creating directory "C:\\Code\\HydraV3\\build\\CMakeFiles\\CMakeScratch\\TryCompile-sfg0v2\\Debug\\".
|
||||
Creating directory "cmTC_aa0ba.dir\\Debug\\cmTC_aa0ba.tlog\\".
|
||||
Creating directory "C:\\Code\\HydraV3\\build\\CMakeFiles\\CMakeScratch\\TryCompile-ladxj9\\Debug\\".
|
||||
Creating directory "cmTC_d0be4.dir\\Debug\\cmTC_d0be4.tlog\\".
|
||||
InitializeBuildStatus:
|
||||
Creating "cmTC_aa0ba.dir\\Debug\\cmTC_aa0ba.tlog\\unsuccessfulbuild" because "AlwaysCreate" was specified.
|
||||
Touching "cmTC_aa0ba.dir\\Debug\\cmTC_aa0ba.tlog\\unsuccessfulbuild".
|
||||
Creating "cmTC_d0be4.dir\\Debug\\cmTC_d0be4.tlog\\unsuccessfulbuild" because "AlwaysCreate" was specified.
|
||||
Touching "cmTC_d0be4.dir\\Debug\\cmTC_d0be4.tlog\\unsuccessfulbuild".
|
||||
ClCompile:
|
||||
C:\\Program Files\\Microsoft Visual Studio\\2022\\Professional\\VC\\Tools\\MSVC\\14.44.35207\\bin\\HostX64\\x64\\CL.exe /c /Zi /W1 /WX- /diagnostics:column /Od /Ob0 /D _MBCS /D WIN32 /D _WINDOWS /D CMAKE_HAVE_LIBC_PTHREAD /D _MBCS /D "CMAKE_INTDIR=\\"Debug\\"" /EHsc /RTC1 /MDd /std:c++17 /Fo"cmTC_aa0ba.dir\\Debug\\\\" /Fd"cmTC_aa0ba.dir\\Debug\\vc143.pdb" /external:W1 /TP /errorReport:queue "C:\\Code\\HydraV3\\build\\CMakeFiles\\CMakeScratch\\TryCompile-sfg0v2\\src.cxx"
|
||||
C:\\Program Files\\Microsoft Visual Studio\\2022\\Professional\\VC\\Tools\\MSVC\\14.44.35207\\bin\\HostX64\\x64\\CL.exe /c /Zi /W1 /WX- /diagnostics:column /Od /Ob0 /D _MBCS /D WIN32 /D _WINDOWS /D CMAKE_HAVE_LIBC_PTHREAD /D _MBCS /D "CMAKE_INTDIR=\\"Debug\\"" /EHsc /RTC1 /MDd /std:c++17 /Fo"cmTC_d0be4.dir\\Debug\\\\" /Fd"cmTC_d0be4.dir\\Debug\\vc143.pdb" /external:W1 /TP /errorReport:queue "C:\\Code\\HydraV3\\build\\CMakeFiles\\CMakeScratch\\TryCompile-ladxj9\\src.cxx"
|
||||
Microsoft (R) C/C++ Optimizing Compiler Version 19.44.35225 for x64
|
||||
Copyright (C) Microsoft Corporation. All rights reserved.
|
||||
cl /c /Zi /W1 /WX- /diagnostics:column /Od /Ob0 /D _MBCS /D WIN32 /D _WINDOWS /D CMAKE_HAVE_LIBC_PTHREAD /D _MBCS /D "CMAKE_INTDIR=\\"Debug\\"" /EHsc /RTC1 /MDd /std:c++17 /Fo"cmTC_aa0ba.dir\\Debug\\\\" /Fd"cmTC_aa0ba.dir\\Debug\\vc143.pdb" /external:W1 /TP /errorReport:queue "C:\\Code\\HydraV3\\build\\CMakeFiles\\CMakeScratch\\TryCompile-sfg0v2\\src.cxx"
|
||||
cl /c /Zi /W1 /WX- /diagnostics:column /Od /Ob0 /D _MBCS /D WIN32 /D _WINDOWS /D CMAKE_HAVE_LIBC_PTHREAD /D _MBCS /D "CMAKE_INTDIR=\\"Debug\\"" /EHsc /RTC1 /MDd /std:c++17 /Fo"cmTC_d0be4.dir\\Debug\\\\" /Fd"cmTC_d0be4.dir\\Debug\\vc143.pdb" /external:W1 /TP /errorReport:queue "C:\\Code\\HydraV3\\build\\CMakeFiles\\CMakeScratch\\TryCompile-ladxj9\\src.cxx"
|
||||
src.cxx
|
||||
C:\\Code\\HydraV3\\build\\CMakeFiles\\CMakeScratch\\TryCompile-sfg0v2\\src.cxx(1,10): error C1083: Cannot open include file: 'pthread.h': No such file or directory [C:\\Code\\HydraV3\\build\\CMakeFiles\\CMakeScratch\\TryCompile-sfg0v2\\cmTC_aa0ba.vcxproj]
|
||||
Done Building Project "C:\\Code\\HydraV3\\build\\CMakeFiles\\CMakeScratch\\TryCompile-sfg0v2\\cmTC_aa0ba.vcxproj" (default targets) -- FAILED.
|
||||
C:\\Code\\HydraV3\\build\\CMakeFiles\\CMakeScratch\\TryCompile-ladxj9\\src.cxx(1,10): error C1083: Cannot open include file: 'pthread.h': No such file or directory [C:\\Code\\HydraV3\\build\\CMakeFiles\\CMakeScratch\\TryCompile-ladxj9\\cmTC_d0be4.vcxproj]
|
||||
Done Building Project "C:\\Code\\HydraV3\\build\\CMakeFiles\\CMakeScratch\\TryCompile-ladxj9\\cmTC_d0be4.vcxproj" (default targets) -- FAILED.
|
||||
|
||||
Build FAILED.
|
||||
|
||||
"C:\\Code\\HydraV3\\build\\CMakeFiles\\CMakeScratch\\TryCompile-sfg0v2\\cmTC_aa0ba.vcxproj" (default target) (1) ->
|
||||
"C:\\Code\\HydraV3\\build\\CMakeFiles\\CMakeScratch\\TryCompile-ladxj9\\cmTC_d0be4.vcxproj" (default target) (1) ->
|
||||
(ClCompile target) ->
|
||||
C:\\Code\\HydraV3\\build\\CMakeFiles\\CMakeScratch\\TryCompile-sfg0v2\\src.cxx(1,10): error C1083: Cannot open include file: 'pthread.h': No such file or directory [C:\\Code\\HydraV3\\build\\CMakeFiles\\CMakeScratch\\TryCompile-sfg0v2\\cmTC_aa0ba.vcxproj]
|
||||
C:\\Code\\HydraV3\\build\\CMakeFiles\\CMakeScratch\\TryCompile-ladxj9\\src.cxx(1,10): error C1083: Cannot open include file: 'pthread.h': No such file or directory [C:\\Code\\HydraV3\\build\\CMakeFiles\\CMakeScratch\\TryCompile-ladxj9\\cmTC_d0be4.vcxproj]
|
||||
|
||||
0 Warning(s)
|
||||
1 Error(s)
|
||||
|
||||
Time Elapsed 00:00:00.28
|
||||
Time Elapsed 00:00:00.30
|
||||
|
||||
exitCode: 1
|
||||
-
|
||||
@@ -1168,8 +1168,8 @@ events:
|
||||
checks:
|
||||
- "Looking for pthread_create in pthreads"
|
||||
directories:
|
||||
source: "C:/Code/HydraV3/build/CMakeFiles/CMakeScratch/TryCompile-it98a2"
|
||||
binary: "C:/Code/HydraV3/build/CMakeFiles/CMakeScratch/TryCompile-it98a2"
|
||||
source: "C:/Code/HydraV3/build/CMakeFiles/CMakeScratch/TryCompile-xp6u87"
|
||||
binary: "C:/Code/HydraV3/build/CMakeFiles/CMakeScratch/TryCompile-xp6u87"
|
||||
cmakeVariables:
|
||||
CMAKE_CXX_FLAGS: "/DWIN32 /D_WINDOWS /EHsc"
|
||||
CMAKE_CXX_FLAGS_DEBUG: "/Ob0 /Od /RTC1"
|
||||
@@ -1179,41 +1179,41 @@ events:
|
||||
variable: "CMAKE_HAVE_PTHREADS_CREATE"
|
||||
cached: true
|
||||
stdout: |
|
||||
Change Dir: 'C:/Code/HydraV3/build/CMakeFiles/CMakeScratch/TryCompile-it98a2'
|
||||
Change Dir: 'C:/Code/HydraV3/build/CMakeFiles/CMakeScratch/TryCompile-xp6u87'
|
||||
|
||||
Run Build Command(s): "C:/Program Files/Microsoft Visual Studio/2022/Professional/MSBuild/Current/Bin/amd64/MSBuild.exe" cmTC_fff4f.vcxproj /p:Configuration=Debug /p:Platform=x64 /p:VisualStudioVersion=17.0 /v:n
|
||||
Run Build Command(s): "C:/Program Files/Microsoft Visual Studio/2022/Professional/MSBuild/Current/Bin/amd64/MSBuild.exe" cmTC_71e3f.vcxproj /p:Configuration=Debug /p:Platform=x64 /p:VisualStudioVersion=17.0 /v:n
|
||||
MSBuild version 17.14.40+3e7442088 for .NET Framework
|
||||
Build started 04/08/2026 17:53:59.
|
||||
Build started 05/08/2026 14:49:34.
|
||||
|
||||
Project "C:\\Code\\HydraV3\\build\\CMakeFiles\\CMakeScratch\\TryCompile-it98a2\\cmTC_fff4f.vcxproj" on node 1 (default targets).
|
||||
Project "C:\\Code\\HydraV3\\build\\CMakeFiles\\CMakeScratch\\TryCompile-xp6u87\\cmTC_71e3f.vcxproj" on node 1 (default targets).
|
||||
PrepareForBuild:
|
||||
Structured output is enabled. The formatting of compiler diagnostics will reflect the error hierarchy. See https://aka.ms/cpp/structured-output for more details.
|
||||
Creating directory "C:\\Code\\HydraV3\\build\\CMakeFiles\\CMakeScratch\\TryCompile-it98a2\\Debug\\".
|
||||
Creating directory "cmTC_fff4f.dir\\Debug\\cmTC_fff4f.tlog\\".
|
||||
Creating directory "C:\\Code\\HydraV3\\build\\CMakeFiles\\CMakeScratch\\TryCompile-xp6u87\\Debug\\".
|
||||
Creating directory "cmTC_71e3f.dir\\Debug\\cmTC_71e3f.tlog\\".
|
||||
InitializeBuildStatus:
|
||||
Creating "cmTC_fff4f.dir\\Debug\\cmTC_fff4f.tlog\\unsuccessfulbuild" because "AlwaysCreate" was specified.
|
||||
Touching "cmTC_fff4f.dir\\Debug\\cmTC_fff4f.tlog\\unsuccessfulbuild".
|
||||
Creating "cmTC_71e3f.dir\\Debug\\cmTC_71e3f.tlog\\unsuccessfulbuild" because "AlwaysCreate" was specified.
|
||||
Touching "cmTC_71e3f.dir\\Debug\\cmTC_71e3f.tlog\\unsuccessfulbuild".
|
||||
ClCompile:
|
||||
C:\\Program Files\\Microsoft Visual Studio\\2022\\Professional\\VC\\Tools\\MSVC\\14.44.35207\\bin\\HostX64\\x64\\CL.exe /c /Zi /W1 /WX- /diagnostics:column /Od /Ob0 /D _MBCS /D WIN32 /D _WINDOWS /D CHECK_FUNCTION_EXISTS=pthread_create /D _MBCS /D "CMAKE_INTDIR=\\"Debug\\"" /EHsc /RTC1 /MDd /std:c++17 /Fo"cmTC_fff4f.dir\\Debug\\\\" /Fd"cmTC_fff4f.dir\\Debug\\vc143.pdb" /external:W1 /TP /errorReport:queue "C:\\Code\\HydraV3\\build\\CMakeFiles\\CMakeScratch\\TryCompile-it98a2\\CheckFunctionExists.cxx"
|
||||
C:\\Program Files\\Microsoft Visual Studio\\2022\\Professional\\VC\\Tools\\MSVC\\14.44.35207\\bin\\HostX64\\x64\\CL.exe /c /Zi /W1 /WX- /diagnostics:column /Od /Ob0 /D _MBCS /D WIN32 /D _WINDOWS /D CHECK_FUNCTION_EXISTS=pthread_create /D _MBCS /D "CMAKE_INTDIR=\\"Debug\\"" /EHsc /RTC1 /MDd /std:c++17 /Fo"cmTC_71e3f.dir\\Debug\\\\" /Fd"cmTC_71e3f.dir\\Debug\\vc143.pdb" /external:W1 /TP /errorReport:queue "C:\\Code\\HydraV3\\build\\CMakeFiles\\CMakeScratch\\TryCompile-xp6u87\\CheckFunctionExists.cxx"
|
||||
Microsoft (R) C/C++ Optimizing Compiler Version 19.44.35225 for x64
|
||||
Copyright (C) Microsoft Corporation. All rights reserved.
|
||||
cl /c /Zi /W1 /WX- /diagnostics:column /Od /Ob0 /D _MBCS /D WIN32 /D _WINDOWS /D CHECK_FUNCTION_EXISTS=pthread_create /D _MBCS /D "CMAKE_INTDIR=\\"Debug\\"" /EHsc /RTC1 /MDd /std:c++17 /Fo"cmTC_fff4f.dir\\Debug\\\\" /Fd"cmTC_fff4f.dir\\Debug\\vc143.pdb" /external:W1 /TP /errorReport:queue "C:\\Code\\HydraV3\\build\\CMakeFiles\\CMakeScratch\\TryCompile-it98a2\\CheckFunctionExists.cxx"
|
||||
cl /c /Zi /W1 /WX- /diagnostics:column /Od /Ob0 /D _MBCS /D WIN32 /D _WINDOWS /D CHECK_FUNCTION_EXISTS=pthread_create /D _MBCS /D "CMAKE_INTDIR=\\"Debug\\"" /EHsc /RTC1 /MDd /std:c++17 /Fo"cmTC_71e3f.dir\\Debug\\\\" /Fd"cmTC_71e3f.dir\\Debug\\vc143.pdb" /external:W1 /TP /errorReport:queue "C:\\Code\\HydraV3\\build\\CMakeFiles\\CMakeScratch\\TryCompile-xp6u87\\CheckFunctionExists.cxx"
|
||||
CheckFunctionExists.cxx
|
||||
Link:
|
||||
C:\\Program Files\\Microsoft Visual Studio\\2022\\Professional\\VC\\Tools\\MSVC\\14.44.35207\\bin\\HostX64\\x64\\link.exe /OUT:"C:\\Code\\HydraV3\\build\\CMakeFiles\\CMakeScratch\\TryCompile-it98a2\\Debug\\cmTC_fff4f.exe" /INCREMENTAL /ILK:"cmTC_fff4f.dir\\Debug\\cmTC_fff4f.ilk" /NOLOGO pthreads.lib kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib /MANIFEST /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /manifest:embed /DEBUG /PDB:"C:/Code/HydraV3/build/CMakeFiles/CMakeScratch/TryCompile-it98a2/Debug/cmTC_fff4f.pdb" /SUBSYSTEM:CONSOLE /TLBID:1 /IMPLIB:"C:/Code/HydraV3/build/CMakeFiles/CMakeScratch/TryCompile-it98a2/Debug/cmTC_fff4f.lib" /MACHINE:X64 /machine:x64 cmTC_fff4f.dir\\Debug\\CheckFunctionExists.obj
|
||||
LINK : fatal error LNK1104: cannot open file 'pthreads.lib' [C:\\Code\\HydraV3\\build\\CMakeFiles\\CMakeScratch\\TryCompile-it98a2\\cmTC_fff4f.vcxproj]
|
||||
Done Building Project "C:\\Code\\HydraV3\\build\\CMakeFiles\\CMakeScratch\\TryCompile-it98a2\\cmTC_fff4f.vcxproj" (default targets) -- FAILED.
|
||||
C:\\Program Files\\Microsoft Visual Studio\\2022\\Professional\\VC\\Tools\\MSVC\\14.44.35207\\bin\\HostX64\\x64\\link.exe /OUT:"C:\\Code\\HydraV3\\build\\CMakeFiles\\CMakeScratch\\TryCompile-xp6u87\\Debug\\cmTC_71e3f.exe" /INCREMENTAL /ILK:"cmTC_71e3f.dir\\Debug\\cmTC_71e3f.ilk" /NOLOGO pthreads.lib kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib /MANIFEST /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /manifest:embed /DEBUG /PDB:"C:/Code/HydraV3/build/CMakeFiles/CMakeScratch/TryCompile-xp6u87/Debug/cmTC_71e3f.pdb" /SUBSYSTEM:CONSOLE /TLBID:1 /IMPLIB:"C:/Code/HydraV3/build/CMakeFiles/CMakeScratch/TryCompile-xp6u87/Debug/cmTC_71e3f.lib" /MACHINE:X64 /machine:x64 cmTC_71e3f.dir\\Debug\\CheckFunctionExists.obj
|
||||
LINK : fatal error LNK1104: cannot open file 'pthreads.lib' [C:\\Code\\HydraV3\\build\\CMakeFiles\\CMakeScratch\\TryCompile-xp6u87\\cmTC_71e3f.vcxproj]
|
||||
Done Building Project "C:\\Code\\HydraV3\\build\\CMakeFiles\\CMakeScratch\\TryCompile-xp6u87\\cmTC_71e3f.vcxproj" (default targets) -- FAILED.
|
||||
|
||||
Build FAILED.
|
||||
|
||||
"C:\\Code\\HydraV3\\build\\CMakeFiles\\CMakeScratch\\TryCompile-it98a2\\cmTC_fff4f.vcxproj" (default target) (1) ->
|
||||
"C:\\Code\\HydraV3\\build\\CMakeFiles\\CMakeScratch\\TryCompile-xp6u87\\cmTC_71e3f.vcxproj" (default target) (1) ->
|
||||
(Link target) ->
|
||||
LINK : fatal error LNK1104: cannot open file 'pthreads.lib' [C:\\Code\\HydraV3\\build\\CMakeFiles\\CMakeScratch\\TryCompile-it98a2\\cmTC_fff4f.vcxproj]
|
||||
LINK : fatal error LNK1104: cannot open file 'pthreads.lib' [C:\\Code\\HydraV3\\build\\CMakeFiles\\CMakeScratch\\TryCompile-xp6u87\\cmTC_71e3f.vcxproj]
|
||||
|
||||
0 Warning(s)
|
||||
1 Error(s)
|
||||
|
||||
Time Elapsed 00:00:00.36
|
||||
Time Elapsed 00:00:00.38
|
||||
|
||||
exitCode: 1
|
||||
-
|
||||
@@ -1229,8 +1229,8 @@ events:
|
||||
checks:
|
||||
- "Looking for pthread_create in pthread"
|
||||
directories:
|
||||
source: "C:/Code/HydraV3/build/CMakeFiles/CMakeScratch/TryCompile-3fd44b"
|
||||
binary: "C:/Code/HydraV3/build/CMakeFiles/CMakeScratch/TryCompile-3fd44b"
|
||||
source: "C:/Code/HydraV3/build/CMakeFiles/CMakeScratch/TryCompile-0eom9k"
|
||||
binary: "C:/Code/HydraV3/build/CMakeFiles/CMakeScratch/TryCompile-0eom9k"
|
||||
cmakeVariables:
|
||||
CMAKE_CXX_FLAGS: "/DWIN32 /D_WINDOWS /EHsc"
|
||||
CMAKE_CXX_FLAGS_DEBUG: "/Ob0 /Od /RTC1"
|
||||
@@ -1240,36 +1240,36 @@ events:
|
||||
variable: "CMAKE_HAVE_PTHREAD_CREATE"
|
||||
cached: true
|
||||
stdout: |
|
||||
Change Dir: 'C:/Code/HydraV3/build/CMakeFiles/CMakeScratch/TryCompile-3fd44b'
|
||||
Change Dir: 'C:/Code/HydraV3/build/CMakeFiles/CMakeScratch/TryCompile-0eom9k'
|
||||
|
||||
Run Build Command(s): "C:/Program Files/Microsoft Visual Studio/2022/Professional/MSBuild/Current/Bin/amd64/MSBuild.exe" cmTC_8d7cb.vcxproj /p:Configuration=Debug /p:Platform=x64 /p:VisualStudioVersion=17.0 /v:n
|
||||
Run Build Command(s): "C:/Program Files/Microsoft Visual Studio/2022/Professional/MSBuild/Current/Bin/amd64/MSBuild.exe" cmTC_62230.vcxproj /p:Configuration=Debug /p:Platform=x64 /p:VisualStudioVersion=17.0 /v:n
|
||||
MSBuild version 17.14.40+3e7442088 for .NET Framework
|
||||
Build started 04/08/2026 17:53:59.
|
||||
Build started 05/08/2026 14:49:35.
|
||||
|
||||
Project "C:\\Code\\HydraV3\\build\\CMakeFiles\\CMakeScratch\\TryCompile-3fd44b\\cmTC_8d7cb.vcxproj" on node 1 (default targets).
|
||||
Project "C:\\Code\\HydraV3\\build\\CMakeFiles\\CMakeScratch\\TryCompile-0eom9k\\cmTC_62230.vcxproj" on node 1 (default targets).
|
||||
PrepareForBuild:
|
||||
Structured output is enabled. The formatting of compiler diagnostics will reflect the error hierarchy. See https://aka.ms/cpp/structured-output for more details.
|
||||
Creating directory "C:\\Code\\HydraV3\\build\\CMakeFiles\\CMakeScratch\\TryCompile-3fd44b\\Debug\\".
|
||||
Creating directory "cmTC_8d7cb.dir\\Debug\\cmTC_8d7cb.tlog\\".
|
||||
Creating directory "C:\\Code\\HydraV3\\build\\CMakeFiles\\CMakeScratch\\TryCompile-0eom9k\\Debug\\".
|
||||
Creating directory "cmTC_62230.dir\\Debug\\cmTC_62230.tlog\\".
|
||||
InitializeBuildStatus:
|
||||
Creating "cmTC_8d7cb.dir\\Debug\\cmTC_8d7cb.tlog\\unsuccessfulbuild" because "AlwaysCreate" was specified.
|
||||
Touching "cmTC_8d7cb.dir\\Debug\\cmTC_8d7cb.tlog\\unsuccessfulbuild".
|
||||
Creating "cmTC_62230.dir\\Debug\\cmTC_62230.tlog\\unsuccessfulbuild" because "AlwaysCreate" was specified.
|
||||
Touching "cmTC_62230.dir\\Debug\\cmTC_62230.tlog\\unsuccessfulbuild".
|
||||
ClCompile:
|
||||
C:\\Program Files\\Microsoft Visual Studio\\2022\\Professional\\VC\\Tools\\MSVC\\14.44.35207\\bin\\HostX64\\x64\\CL.exe /c /Zi /W1 /WX- /diagnostics:column /Od /Ob0 /D _MBCS /D WIN32 /D _WINDOWS /D CHECK_FUNCTION_EXISTS=pthread_create /D _MBCS /D "CMAKE_INTDIR=\\"Debug\\"" /EHsc /RTC1 /MDd /std:c++17 /Fo"cmTC_8d7cb.dir\\Debug\\\\" /Fd"cmTC_8d7cb.dir\\Debug\\vc143.pdb" /external:W1 /TP /errorReport:queue "C:\\Code\\HydraV3\\build\\CMakeFiles\\CMakeScratch\\TryCompile-3fd44b\\CheckFunctionExists.cxx"
|
||||
C:\\Program Files\\Microsoft Visual Studio\\2022\\Professional\\VC\\Tools\\MSVC\\14.44.35207\\bin\\HostX64\\x64\\CL.exe /c /Zi /W1 /WX- /diagnostics:column /Od /Ob0 /D _MBCS /D WIN32 /D _WINDOWS /D CHECK_FUNCTION_EXISTS=pthread_create /D _MBCS /D "CMAKE_INTDIR=\\"Debug\\"" /EHsc /RTC1 /MDd /std:c++17 /Fo"cmTC_62230.dir\\Debug\\\\" /Fd"cmTC_62230.dir\\Debug\\vc143.pdb" /external:W1 /TP /errorReport:queue "C:\\Code\\HydraV3\\build\\CMakeFiles\\CMakeScratch\\TryCompile-0eom9k\\CheckFunctionExists.cxx"
|
||||
Microsoft (R) C/C++ Optimizing Compiler Version 19.44.35225 for x64
|
||||
Copyright (C) Microsoft Corporation. All rights reserved.
|
||||
cl /c /Zi /W1 /WX- /diagnostics:column /Od /Ob0 /D _MBCS /D WIN32 /D _WINDOWS /D CHECK_FUNCTION_EXISTS=pthread_create /D _MBCS /D "CMAKE_INTDIR=\\"Debug\\"" /EHsc /RTC1 /MDd /std:c++17 /Fo"cmTC_8d7cb.dir\\Debug\\\\" /Fd"cmTC_8d7cb.dir\\Debug\\vc143.pdb" /external:W1 /TP /errorReport:queue "C:\\Code\\HydraV3\\build\\CMakeFiles\\CMakeScratch\\TryCompile-3fd44b\\CheckFunctionExists.cxx"
|
||||
cl /c /Zi /W1 /WX- /diagnostics:column /Od /Ob0 /D _MBCS /D WIN32 /D _WINDOWS /D CHECK_FUNCTION_EXISTS=pthread_create /D _MBCS /D "CMAKE_INTDIR=\\"Debug\\"" /EHsc /RTC1 /MDd /std:c++17 /Fo"cmTC_62230.dir\\Debug\\\\" /Fd"cmTC_62230.dir\\Debug\\vc143.pdb" /external:W1 /TP /errorReport:queue "C:\\Code\\HydraV3\\build\\CMakeFiles\\CMakeScratch\\TryCompile-0eom9k\\CheckFunctionExists.cxx"
|
||||
CheckFunctionExists.cxx
|
||||
Link:
|
||||
C:\\Program Files\\Microsoft Visual Studio\\2022\\Professional\\VC\\Tools\\MSVC\\14.44.35207\\bin\\HostX64\\x64\\link.exe /OUT:"C:\\Code\\HydraV3\\build\\CMakeFiles\\CMakeScratch\\TryCompile-3fd44b\\Debug\\cmTC_8d7cb.exe" /INCREMENTAL /ILK:"cmTC_8d7cb.dir\\Debug\\cmTC_8d7cb.ilk" /NOLOGO pthread.lib kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib /MANIFEST /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /manifest:embed /DEBUG /PDB:"C:/Code/HydraV3/build/CMakeFiles/CMakeScratch/TryCompile-3fd44b/Debug/cmTC_8d7cb.pdb" /SUBSYSTEM:CONSOLE /TLBID:1 /IMPLIB:"C:/Code/HydraV3/build/CMakeFiles/CMakeScratch/TryCompile-3fd44b/Debug/cmTC_8d7cb.lib" /MACHINE:X64 /machine:x64 cmTC_8d7cb.dir\\Debug\\CheckFunctionExists.obj
|
||||
LINK : fatal error LNK1104: cannot open file 'pthread.lib' [C:\\Code\\HydraV3\\build\\CMakeFiles\\CMakeScratch\\TryCompile-3fd44b\\cmTC_8d7cb.vcxproj]
|
||||
Done Building Project "C:\\Code\\HydraV3\\build\\CMakeFiles\\CMakeScratch\\TryCompile-3fd44b\\cmTC_8d7cb.vcxproj" (default targets) -- FAILED.
|
||||
C:\\Program Files\\Microsoft Visual Studio\\2022\\Professional\\VC\\Tools\\MSVC\\14.44.35207\\bin\\HostX64\\x64\\link.exe /OUT:"C:\\Code\\HydraV3\\build\\CMakeFiles\\CMakeScratch\\TryCompile-0eom9k\\Debug\\cmTC_62230.exe" /INCREMENTAL /ILK:"cmTC_62230.dir\\Debug\\cmTC_62230.ilk" /NOLOGO pthread.lib kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib /MANIFEST /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /manifest:embed /DEBUG /PDB:"C:/Code/HydraV3/build/CMakeFiles/CMakeScratch/TryCompile-0eom9k/Debug/cmTC_62230.pdb" /SUBSYSTEM:CONSOLE /TLBID:1 /IMPLIB:"C:/Code/HydraV3/build/CMakeFiles/CMakeScratch/TryCompile-0eom9k/Debug/cmTC_62230.lib" /MACHINE:X64 /machine:x64 cmTC_62230.dir\\Debug\\CheckFunctionExists.obj
|
||||
LINK : fatal error LNK1104: cannot open file 'pthread.lib' [C:\\Code\\HydraV3\\build\\CMakeFiles\\CMakeScratch\\TryCompile-0eom9k\\cmTC_62230.vcxproj]
|
||||
Done Building Project "C:\\Code\\HydraV3\\build\\CMakeFiles\\CMakeScratch\\TryCompile-0eom9k\\cmTC_62230.vcxproj" (default targets) -- FAILED.
|
||||
|
||||
Build FAILED.
|
||||
|
||||
"C:\\Code\\HydraV3\\build\\CMakeFiles\\CMakeScratch\\TryCompile-3fd44b\\cmTC_8d7cb.vcxproj" (default target) (1) ->
|
||||
"C:\\Code\\HydraV3\\build\\CMakeFiles\\CMakeScratch\\TryCompile-0eom9k\\cmTC_62230.vcxproj" (default target) (1) ->
|
||||
(Link target) ->
|
||||
LINK : fatal error LNK1104: cannot open file 'pthread.lib' [C:\\Code\\HydraV3\\build\\CMakeFiles\\CMakeScratch\\TryCompile-3fd44b\\cmTC_8d7cb.vcxproj]
|
||||
LINK : fatal error LNK1104: cannot open file 'pthread.lib' [C:\\Code\\HydraV3\\build\\CMakeFiles\\CMakeScratch\\TryCompile-0eom9k\\cmTC_62230.vcxproj]
|
||||
|
||||
0 Warning(s)
|
||||
1 Error(s)
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -13,6 +13,7 @@ C:\Code\HydraV3\HydraEngine\source\actor\HydraTextureDebugActor.cpp;C:\Code\Hydr
|
||||
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
|
||||
C:\Code\HydraV3\HydraEngine\source\buffer\HydraShadowBufferManager.cpp;C:\Code\HydraV3\build\HydraEngine\HydraEngine.dir\Debug\HydraShadowBufferManager.obj
|
||||
C:\Code\HydraV3\HydraEngine\source\buffer\HydraTextureBufferManager.cpp;C:\Code\HydraV3\build\HydraEngine\HydraEngine.dir\Debug\HydraTextureBufferManager.obj
|
||||
C:\Code\HydraV3\HydraEngine\source\buffer\HydraVertexBufferManager.cpp;C:\Code\HydraV3\build\HydraEngine\HydraEngine.dir\Debug\HydraVertexBufferManager.obj
|
||||
C:\Code\HydraV3\HydraEngine\source\camera\HydraCamera.cpp;C:\Code\HydraV3\build\HydraEngine\HydraEngine.dir\Debug\HydraCamera.obj
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@@ -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\HYDRADIRECTIONALSHADOWSOURCESYSTEM.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\HYDRASHADOWPIPELINE.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRASPOTLIGHTACTOR.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRASPOTSHADOWSOURCESYSTEM.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\HYDRATESTCUBEACTOR.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRATEXTUREBUFFERMANAGER.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRATEXTUREDEBUGACTOR.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\HYDRADIRECTIONALSHADOWSOURCESYSTEM.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\HYDRASHADOWBUFFERMANAGER.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRASHADOWPIPELINE.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRASPOTLIGHTACTOR.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRASPOTSHADOWSOURCESYSTEM.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\HYDRATESTCUBEACTOR.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRATEXTUREBUFFERMANAGER.OBJ|C:\CODE\HYDRAV3\BUILD\HYDRAENGINE\HYDRAENGINE.DIR\DEBUG\HYDRATEXTUREDEBUGACTOR.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.
Binary file not shown.
@@ -462,6 +462,8 @@ if %errorlevel% neq 0 goto :VCEnd</Command>
|
||||
<ClCompile Include="C:\Code\HydraV3\HydraEngine\source\buffer\HydraMaterialBufferManager.cpp" />
|
||||
<ClInclude Include="C:\Code\HydraV3\HydraEngine\source\buffer\HydraMaterialBufferManager.h" />
|
||||
<ClInclude Include="C:\Code\HydraV3\HydraEngine\source\buffer\HydraShadowBuffer.h" />
|
||||
<ClCompile Include="C:\Code\HydraV3\HydraEngine\source\buffer\HydraShadowBufferManager.cpp" />
|
||||
<ClInclude Include="C:\Code\HydraV3\HydraEngine\source\buffer\HydraShadowBufferManager.h" />
|
||||
<ClCompile Include="C:\Code\HydraV3\HydraEngine\source\buffer\HydraTextureBufferManager.cpp" />
|
||||
<ClInclude Include="C:\Code\HydraV3\HydraEngine\source\buffer\HydraTextureBufferManager.h" />
|
||||
<ClInclude Include="C:\Code\HydraV3\HydraEngine\source\buffer\HydraTexureBuffer.h" />
|
||||
|
||||
@@ -46,6 +46,9 @@
|
||||
<ClCompile Include="C:\Code\HydraV3\HydraEngine\source\buffer\HydraMaterialBufferManager.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="C:\Code\HydraV3\HydraEngine\source\buffer\HydraShadowBufferManager.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="C:\Code\HydraV3\HydraEngine\source\buffer\HydraTextureBufferManager.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
@@ -204,6 +207,9 @@
|
||||
<ClInclude Include="C:\Code\HydraV3\HydraEngine\source\buffer\HydraShadowBuffer.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="C:\Code\HydraV3\HydraEngine\source\buffer\HydraShadowBufferManager.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="C:\Code\HydraV3\HydraEngine\source\buffer\HydraTextureBufferManager.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
|
||||
+4
-13
@@ -1,17 +1,8 @@
|
||||
================================================================================
|
||||
Linker Errors
|
||||
Generated: 2026-08-04T20:31:14.692Z
|
||||
Total Errors: 4
|
||||
Generated: 2026-08-05T19:16:34.773Z
|
||||
Total Errors: 1
|
||||
================================================================================
|
||||
|
||||
[LNK2001] (MSVC)
|
||||
unresolved external symbol "public: virtual void __cdecl HydraSpotShadowSourceSystem::Initialise(void)" (?Initialise@HydraSpotShadowSourceSystem@@UEAAXXZ) [C:\Code\HydraV3\build\HydraEngine\HydraEngine.vcxproj]
|
||||
|
||||
[LNK2001] (MSVC)
|
||||
unresolved external symbol "protected: virtual void __cdecl HydraSpotShadowSourceSystem::InitialiseComponent(unsigned int)" (?InitialiseComponent@HydraSpotShadowSourceSystem@@MEAAXI@Z) [C:\Code\HydraV3\build\HydraEngine\HydraEngine.vcxproj]
|
||||
|
||||
[LNK2001] (MSVC)
|
||||
unresolved external symbol "protected: virtual void __cdecl HydraSpotShadowSourceSystem::UpdateSystem(float)" (?UpdateSystem@HydraSpotShadowSourceSystem@@MEAAXM@Z) [C:\Code\HydraV3\build\HydraEngine\HydraEngine.vcxproj]
|
||||
|
||||
[LNK1120] (MSVC)
|
||||
3 unresolved externals [C:\Code\HydraV3\build\HydraEngine\HydraEngine.vcxproj]
|
||||
[LNK1168] (MSVC)
|
||||
cannot open C:\Code\HydraV3\build\Debug\HydraClient.exe for writing [C:\Code\HydraV3\build\HydraClient.vcxproj]
|
||||
|
||||
Reference in New Issue
Block a user