fixed dof; file watcher detects files changed from visual studio

This commit is contained in:
Mikulas Florek 2019-08-02 19:23:55 +02:00
parent c25225527a
commit ae44dd7202
4 changed files with 23 additions and 23 deletions

View file

@ -6,38 +6,39 @@ function postprocess(env, phase, input, gbuffer0, gbuffer1, gbuffer_depth, shado
if phase ~= "post" then return input end
env.beginBlock("dof")
if dof_shader == nil then
dof_shader = env.preloadShader("pipelines/dof/dof.shd")
dof_blur_shader = env.preloadShader("pipelines/dof/dof_blur.shd")
dof_shader = env.preloadShader("pipelines/dof.shd")
dof_blur_shader = env.preloadShader("pipelines/dof_blur.shd")
end
local tmp_rb = env.createRenderbuffer(1, 1, true, "rgba16f")
local tmp_rb = env.createRenderbuffer(1, 1, true, "rgba16f", "dof_tmp")
env.blending("")
env.setRenderTargets(0, tmp_rb)
env.setRenderTargets(tmp_rb)
env.drawArray(0, 4, dof_blur_shader,
{
u_source = input,
u_depth = gbuffer_depth
input,
gbuffer_depth
},
{},
{ "HBLUR", "NEAR" }
{ "HBLUR", "NEAR" },
{ depth_test = false, blending = ""}
)
env.setRenderTargets(0, input)
env.setRenderTargets(input)
env.drawArray(0, 4, dof_blur_shader,
{
u_source = tmp_rb,
u_depth = gbuffer_depth
tmp_rb,
gbuffer_depth
},
{},
{ "NEAR" }
{ "NEAR" },
{ depth_test = false, blending = ""}
)
env.setRenderTargets(0, tmp_rb)
env.setRenderTargets(tmp_rb)
env.drawArray(0, 4, dof_shader,
{
u_source = input,
u_depth = gbuffer_depth
input,
gbuffer_depth
}
)

View file

@ -9,14 +9,13 @@ vertex_shader [[
fragment_shader [[
uniform sampler2D u_source;
layout (binding=0) uniform sampler2D u_source;
in vec2 v_uv;
out vec4 o_color;
void main() {
o_color.rgb = texture(u_source, v_uv).rgb;
o_color.rgb = vec3(texture(u_source, v_uv).a);
o_color.w = 1;
}
]]

View file

@ -1,5 +1,5 @@
vertex_shader [[
uniform sampler2D u_source;
layout (binding=0) uniform sampler2D u_source;
uniform vec4 u_offset_scale;
out vec2 v_uv0;
@ -43,8 +43,8 @@ fragment_shader [[
return -view_pos.z / view_pos.w;
}
uniform sampler2D u_source;
uniform sampler2D u_depth;
layout (binding=0) uniform sampler2D u_source;
layout (binding=1) uniform sampler2D u_depth;
in vec2 v_uv0;
in vec4 v_uv1;

View file

@ -34,8 +34,8 @@ struct FileSystemWatcherTask final : public MT::Task
int task() override;
u8 m_info[4096];
volatile bool m_finished;
FILE_NOTIFY_INFORMATION m_info[10];
HANDLE m_handle;
DWORD m_received;
OVERLAPPED m_overlapped;
@ -129,7 +129,7 @@ static void CALLBACK notif(DWORD status, DWORD tferred, LPOVERLAPPED over)
}
if (tferred == 0) return;
FILE_NOTIFY_INFORMATION* info = &task->m_info[0];
FILE_NOTIFY_INFORMATION* info = (FILE_NOTIFY_INFORMATION*)task->m_info;
while (info)
{
auto action = info->Action;
@ -150,7 +150,7 @@ static void CALLBACK notif(DWORD status, DWORD tferred, LPOVERLAPPED over)
}
info = info->NextEntryOffset == 0
? nullptr
: (FILE_NOTIFY_INFORMATION*)(((char*)info) + info->NextEntryOffset);
: (FILE_NOTIFY_INFORMATION*)(((u8*)info) + info->NextEntryOffset);
}
}