diff --git a/WickedEngine/shaders/envMapGS_emulation.hlsl b/WickedEngine/shaders/envMapGS_emulation.hlsl index 69edda0f0..f9654e97a 100644 --- a/WickedEngine/shaders/envMapGS_emulation.hlsl +++ b/WickedEngine/shaders/envMapGS_emulation.hlsl @@ -9,10 +9,10 @@ struct GSInput float4 uvsets : UVSETS; min16float4 color : COLOR; min16float4 tan : TANGENT; - min16float3 nor : NORMAL; - min16float ao : AMBIENT_OCCLUSION; + float3 nor : NORMAL; min16float2 atl : ATLAS; float3 pos3D : WORLDPOSITION; + min16float ao : AMBIENT_OCCLUSION; uint RTIndex : RTINDEX; }; @@ -23,10 +23,10 @@ struct GSOutput float4 uvsets : UVSETS; min16float4 color : COLOR; min16float4 tan : TANGENT; - min16float3 nor : NORMAL; - min16float ao : AMBIENT_OCCLUSION; + float3 nor : NORMAL; min16float2 atl : ATLAS; float3 pos3D : WORLDPOSITION; + min16float ao : AMBIENT_OCCLUSION; uint RTIndex : SV_RenderTargetArrayIndex; }; diff --git a/WickedEngine/shaders/envMap_skyGS_emulation.hlsl b/WickedEngine/shaders/envMap_skyGS_emulation.hlsl index 83c836fdb..eb2881749 100644 --- a/WickedEngine/shaders/envMap_skyGS_emulation.hlsl +++ b/WickedEngine/shaders/envMap_skyGS_emulation.hlsl @@ -5,14 +5,14 @@ struct GSInput { float4 pos : SV_POSITION; - min16float3 nor : NORMAL; + float3 nor : NORMAL; uint RTIndex : RTINDEX; }; struct GSOutput { float4 pos : SV_POSITION; - min16float3 nor : NORMAL; + float3 nor : NORMAL; uint RTIndex : SV_RenderTargetArrayIndex; }; diff --git a/WickedEngine/shaders/envMap_skyVS.hlsl b/WickedEngine/shaders/envMap_skyVS.hlsl index 58bf9c0d1..4045c3853 100644 --- a/WickedEngine/shaders/envMap_skyVS.hlsl +++ b/WickedEngine/shaders/envMap_skyVS.hlsl @@ -9,7 +9,7 @@ PixelInput main(uint vid : SV_VERTEXID, uint instanceID : SV_INSTANCEID) output.RTIndex = instanceID; output.pos = mul(GetCamera(output.RTIndex).view_projection, float4(ICOSPHERE[vid].xyz,0)); - output.nor = min16float3(ICOSPHERE[vid].xyz); + output.nor = ICOSPHERE[vid].xyz; return output; } diff --git a/WickedEngine/shaders/objectGS_voxelizer.hlsl b/WickedEngine/shaders/objectGS_voxelizer.hlsl index afdbfb98b..efbe407bf 100644 --- a/WickedEngine/shaders/objectGS_voxelizer.hlsl +++ b/WickedEngine/shaders/objectGS_voxelizer.hlsl @@ -6,7 +6,7 @@ struct GSInput float4 pos : SV_POSITION; float4 uvsets : UVSETS; min16float4 color : COLOR; - min16float3 nor : NORMAL; + float3 nor : NORMAL; }; // Note: centroid interpolation is used to avoid floating voxels in some cases @@ -15,7 +15,7 @@ struct GSOutput float4 pos : SV_POSITION; centroid float4 uvsets : UVSETS; centroid min16float4 color : COLOR; - centroid min16float3 N : NORMAL; + centroid float3 N : NORMAL; centroid float3 P : POSITION3D; #ifdef VOXELIZATION_CONSERVATIVE_RASTERIZATION_ENABLED diff --git a/WickedEngine/shaders/objectHF.hlsli b/WickedEngine/shaders/objectHF.hlsli index 10533af25..8c83f6ae8 100644 --- a/WickedEngine/shaders/objectHF.hlsli +++ b/WickedEngine/shaders/objectHF.hlsli @@ -162,12 +162,12 @@ struct VertexInput return (min16float4)bindless_buffers_float4[GetMesh().vb_col][vertexID]; } - min16float3 GetNormal() + float3 GetNormal() { [branch] if (GetMesh().vb_nor < 0) return 0; - return (min16float3)bindless_buffers_float4[GetMesh().vb_nor][vertexID].xyz; + return bindless_buffers_float4[GetMesh().vb_nor][vertexID].xyz; } min16float4 GetTangent() @@ -204,7 +204,7 @@ struct VertexSurface float4 uvsets; min16float2 atlas; min16float4 color; - min16float3 normal; + float3 normal; min16float4 tangent; min16float ao; @@ -232,7 +232,7 @@ struct VertexSurface ao = 1; } - normal = mul((min16float3x3)input.GetInstance().transformInverseTranspose.GetMatrix(), normal); + normal = mul((float3x3)input.GetInstance().transformInverseTranspose.GetMatrix(), normal); tangent = input.GetTangent(); tangent.xyz = mul((min16float3x3)input.GetInstance().transformInverseTranspose.GetMatrix(), tangent.xyz); @@ -282,13 +282,9 @@ struct PixelInput #endif // OBJECTSHADER_USE_TANGENT #ifdef OBJECTSHADER_USE_NORMAL - min16float3 nor : NORMAL; + float3 nor : NORMAL; #endif // OBJECTSHADER_USE_NORMAL -#ifdef OBJECTSHADER_USE_AO - min16float ao : AMBIENT_OCCLUSION; -#endif // OBJECTSHADER_USE_AO - #ifdef OBJECTSHADER_USE_ATLAS min16float2 atl : ATLAS; #endif // OBJECTSHADER_USE_ATLAS @@ -297,6 +293,10 @@ struct PixelInput float3 pos3D : WORLDPOSITION; #endif // OBJECTSHADER_USE_POSITION3D +#ifdef OBJECTSHADER_USE_AO + min16float ao : AMBIENT_OCCLUSION; +#endif // OBJECTSHADER_USE_AO + #ifdef OBJECTSHADER_USE_RENDERTARGETARRAYINDEX #ifdef VPRT_EMULATION uint RTIndex : RTINDEX; diff --git a/WickedEngine/shaders/objectHF_tessellation.hlsli b/WickedEngine/shaders/objectHF_tessellation.hlsli index a3f491e67..d0bde9f91 100644 --- a/WickedEngine/shaders/objectHF_tessellation.hlsli +++ b/WickedEngine/shaders/objectHF_tessellation.hlsli @@ -131,7 +131,7 @@ PixelInput main(ConstantOutput input, float3 uvw : SV_DomainLocation, const Outp #endif // OBJECTSHADER_USE_ATLAS #ifdef OBJECTSHADER_USE_NORMAL - output.nor = min16float3(normalize(w * patch[0].nor + u * patch[1].nor + v * patch[2].nor)); + output.nor = normalize(w * patch[0].nor + u * patch[1].nor + v * patch[2].nor); #endif // OBJECTSHADER_USE_NORMAL #ifdef OBJECTSHADER_USE_AO diff --git a/WickedEngine/shaders/objectPS_voxelizer.hlsl b/WickedEngine/shaders/objectPS_voxelizer.hlsl index 37667702b..b8536a317 100644 --- a/WickedEngine/shaders/objectPS_voxelizer.hlsl +++ b/WickedEngine/shaders/objectPS_voxelizer.hlsl @@ -45,7 +45,7 @@ struct PSInput float4 pos : SV_POSITION; centroid float4 uvsets : UVSETS; centroid min16float4 color : COLOR; - centroid min16float3 N : NORMAL; + centroid float3 N : NORMAL; centroid float3 P : POSITION3D; #ifdef VOXELIZATION_CONSERVATIVE_RASTERIZATION_ENABLED diff --git a/WickedEngine/shaders/objectVS_voxelizer.hlsl b/WickedEngine/shaders/objectVS_voxelizer.hlsl index 8447c6526..83f3ede87 100644 --- a/WickedEngine/shaders/objectVS_voxelizer.hlsl +++ b/WickedEngine/shaders/objectVS_voxelizer.hlsl @@ -7,7 +7,7 @@ struct VSOut float4 pos : SV_POSITION; float4 uvsets : UVSETS; min16float4 color : COLOR; - min16float3 N : NORMAL; + float3 N : NORMAL; #ifndef VOXELIZATION_GEOMETRY_SHADER_ENABLED float3 P : POSITION3D; #endif // VOXELIZATION_GEOMETRY_SHADER_ENABLED diff --git a/WickedEngine/wiVersion.cpp b/WickedEngine/wiVersion.cpp index c0e07ec9b..cc3025a97 100644 --- a/WickedEngine/wiVersion.cpp +++ b/WickedEngine/wiVersion.cpp @@ -9,7 +9,7 @@ namespace wi::version // minor features, major updates, breaking compatibility changes const int minor = 71; // minor bug fixes, alterations, refactors, updates - const int revision = 363; + const int revision = 364; const std::string version_string = std::to_string(major) + "." + std::to_string(minor) + "." + std::to_string(revision);