From 3f2a940ef3a95d49fca2a5889f0de8a52b27a7eb Mon Sep 17 00:00:00 2001 From: turanszkij Date: Sun, 5 Mar 2017 02:12:37 +0100 Subject: [PATCH] updated voxelizer --- WickedEngine/voxelSceneCopyClearCS.hlsl | 2 ++ WickedEngine/voxelVS.hlsl | 2 +- WickedEngine/wiRenderer.cpp | 3 --- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/WickedEngine/voxelSceneCopyClearCS.hlsl b/WickedEngine/voxelSceneCopyClearCS.hlsl index b9b3ab163..9420213e9 100644 --- a/WickedEngine/voxelSceneCopyClearCS.hlsl +++ b/WickedEngine/voxelSceneCopyClearCS.hlsl @@ -18,6 +18,8 @@ void main( uint3 DTid : SV_DispatchThreadID ) { //float3 normal = DecodeNormal(voxel.normalMask); + //// try to make it temporally more stable: + //output_emission[writecoord] = lerp(output_emission[writecoord], float4(color.rgb, 1), 0.1); output_emission[writecoord] = float4(color.rgb, 1); } else diff --git a/WickedEngine/voxelVS.hlsl b/WickedEngine/voxelVS.hlsl index dd67acdcc..66b8aa147 100644 --- a/WickedEngine/voxelVS.hlsl +++ b/WickedEngine/voxelVS.hlsl @@ -21,7 +21,7 @@ VSOut main( uint vertexID : SV_VERTEXID, uint instanceID : SV_INSTANCEID ) float3 pos = (float3)coord / g_xWorld_VoxelRadianceDataRes * 2 - 1; pos.y = -pos.y; pos *= g_xWorld_VoxelRadianceDataRes; - pos += CUBE[vertexID].xyz; + pos += CUBE[vertexID].xyz + float3(1,-1,1); pos *= g_xWorld_VoxelRadianceDataRes * g_xWorld_VoxelRadianceDataSize / g_xWorld_VoxelRadianceDataRes; o.pos = mul(float4(pos, 1), g_xTransform); diff --git a/WickedEngine/wiRenderer.cpp b/WickedEngine/wiRenderer.cpp index 2fad82fdf..8a422f0c3 100644 --- a/WickedEngine/wiRenderer.cpp +++ b/WickedEngine/wiRenderer.cpp @@ -4016,9 +4016,6 @@ void wiRenderer::VoxelRadiance( GRAPHICSTHREAD threadID ) RenderMeshes(center, culledRenderer, SHADERTYPE_VOXELIZE, RENDERTYPE_OPAQUE, threadID); - voxelSceneData.center = center; - - GetDevice()->BindRenderTargets(0, nullptr, nullptr, threadID);