ParticlePS.hlsl 1.0 KB

12345678910111213141516171819202122232425262728293031323334
  1. // RUN: %dxc -E main -T ps_6_0 %s | FileCheck %s
  2. // CHECK: sample
  3. // CHECK: textureLoad
  4. //
  5. // Copyright (c) Microsoft. All rights reserved.
  6. // This code is licensed under the MIT License (MIT).
  7. // THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
  8. // ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
  9. // IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
  10. // PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
  11. //
  12. // Developed by Minigraph
  13. //
  14. // Author: James Stanard
  15. // Julia Careaga
  16. //
  17. #include "ParticleUpdateCommon.hlsli"
  18. #include "ParticleUtility.hlsli"
  19. Texture2DArray<float4> ColorTex : register(t1);
  20. Texture2D<float> LinearDepthTex : register(t2);
  21. [RootSignature(Particle_RootSig)]
  22. float4 main(ParticleVertexOutput input ) : SV_Target0
  23. {
  24. float3 uv = float3(input.TexCoord.xy, input.TexID);
  25. float4 TextureColor = ColorTex.Sample( gSampLinearBorder, uv );
  26. TextureColor.a *= saturate(1000.0 * (LinearDepthTex[(uint2)input.Pos.xy] - input.LinearZ));
  27. TextureColor.rgb *= TextureColor.a;
  28. return TextureColor * input.Color;
  29. }