UVs.azsl 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. /*
  2. * Copyright (c) Contributors to the Open 3D Engine Project. For complete copyright and license terms please see the LICENSE at the root of this distribution.
  3. *
  4. * SPDX-License-Identifier: Apache-2.0 OR MIT
  5. *
  6. */
  7. #include <viewsrg.srgi>
  8. #include <Atom/Features/PBR/DefaultObjectSrg.azsli>
  9. #include <Atom/RPI/ShaderResourceGroups/DefaultDrawSrg.azsli>
  10. #include <Atom/Features/PBR/ForwardPassSrg.azsli>
  11. struct VertexInput
  12. {
  13. float3 m_position : POSITION;
  14. float2 m_uv : UV0;
  15. };
  16. struct VertexOutput
  17. {
  18. float4 m_position : SV_Position;
  19. float2 m_uv : UV0;
  20. };
  21. VertexOutput MainVS(VertexInput input)
  22. {
  23. VertexOutput output;
  24. float3 worldPosition = mul(ObjectSrg::GetWorldMatrix(), float4(input.m_position, 1)).xyz;
  25. output.m_position = mul(ViewSrg::m_viewProjectionMatrix, float4(worldPosition, 1.0));
  26. output.m_uv = input.m_uv;
  27. return output;
  28. }
  29. struct PixelOutput
  30. {
  31. float4 m_color : SV_Target0;
  32. };
  33. PixelOutput MainPS(VertexOutput input)
  34. {
  35. PixelOutput output;
  36. output.m_color = float4(input.m_uv, 0, 1);
  37. return output;
  38. }