fixed dof; file watcher detects files changed from visual studio
This commit is contained in:
parent
c25225527a
commit
ae44dd7202
4 changed files with 23 additions and 23 deletions
|
@ -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
|
||||
}
|
||||
)
|
||||
|
|
@ -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;
|
||||
}
|
||||
]]
|
|
@ -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;
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue