ModelViewerRS.hlsli 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. //
  2. // Copyright (c) Microsoft. All rights reserved.
  3. // This code is licensed under the MIT License (MIT).
  4. // THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
  5. // ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
  6. // IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
  7. // PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
  8. //
  9. // Developed by Minigraph
  10. //
  11. // Author: James Stanard
  12. //
  13. #if USE_VERTEX_BUFFER
  14. #define ModelViewer_RootSig \
  15. "RootFlags(ALLOW_INPUT_ASSEMBLER_INPUT_LAYOUT), " \
  16. "CBV(b0, visibility = SHADER_VISIBILITY_VERTEX), " \
  17. "CBV(b0, visibility = SHADER_VISIBILITY_PIXEL), " \
  18. "SRV(t0, visibility = SHADER_VISIBILITY_VERTEX), " \
  19. "DescriptorTable(SRV(t0, numDescriptors = 6), visibility = SHADER_VISIBILITY_PIXEL)," \
  20. "DescriptorTable(SRV(t64, numDescriptors = 3), visibility = SHADER_VISIBILITY_PIXEL)," \
  21. "RootConstants(b1, num32BitConstants = 1, visibility = SHADER_VISIBILITY_VERTEX), " \
  22. "StaticSampler(s0, maxAnisotropy = 8, visibility = SHADER_VISIBILITY_PIXEL)," \
  23. "StaticSampler(s1, visibility = SHADER_VISIBILITY_PIXEL," \
  24. "addressU = TEXTURE_ADDRESS_CLAMP," \
  25. "addressV = TEXTURE_ADDRESS_CLAMP," \
  26. "addressW = TEXTURE_ADDRESS_CLAMP," \
  27. "comparisonFunc = COMPARISON_GREATER_EQUAL," \
  28. "filter = FILTER_MIN_MAG_LINEAR_MIP_POINT)"
  29. #elif USE_ROOT_BUFFER_SRV
  30. #define ModelViewer_RootSig \
  31. "RootFlags(0), " \
  32. "CBV(b0, visibility = SHADER_VISIBILITY_VERTEX), " \
  33. "CBV(b0, visibility = SHADER_VISIBILITY_PIXEL), " \
  34. "SRV(t0, visibility = SHADER_VISIBILITY_VERTEX), " \
  35. "DescriptorTable(SRV(t0, numDescriptors = 6), visibility = SHADER_VISIBILITY_PIXEL)," \
  36. "DescriptorTable(SRV(t64, numDescriptors = 3), visibility = SHADER_VISIBILITY_PIXEL)," \
  37. "RootConstants(b1, num32BitConstants = 1, visibility = SHADER_VISIBILITY_VERTEX), " \
  38. "StaticSampler(s0, maxAnisotropy = 8, visibility = SHADER_VISIBILITY_PIXEL)," \
  39. "StaticSampler(s1, visibility = SHADER_VISIBILITY_PIXEL," \
  40. "addressU = TEXTURE_ADDRESS_CLAMP," \
  41. "addressV = TEXTURE_ADDRESS_CLAMP," \
  42. "addressW = TEXTURE_ADDRESS_CLAMP," \
  43. "comparisonFunc = COMPARISON_GREATER_EQUAL," \
  44. "filter = FILTER_MIN_MAG_LINEAR_MIP_POINT)"
  45. #else
  46. #define ModelViewer_RootSig \
  47. "RootFlags(0), " \
  48. "CBV(b0, visibility = SHADER_VISIBILITY_VERTEX), " \
  49. "CBV(b0, visibility = SHADER_VISIBILITY_PIXEL), " \
  50. "DescriptorTable(SRV(t0, numDescriptors = 1), visibility = SHADER_VISIBILITY_VERTEX)," \
  51. "DescriptorTable(SRV(t0, numDescriptors = 6), visibility = SHADER_VISIBILITY_PIXEL)," \
  52. "DescriptorTable(SRV(t64, numDescriptors = 3), visibility = SHADER_VISIBILITY_PIXEL)," \
  53. "RootConstants(b1, num32BitConstants = 1, visibility = SHADER_VISIBILITY_VERTEX), " \
  54. "StaticSampler(s0, maxAnisotropy = 8, visibility = SHADER_VISIBILITY_PIXEL)," \
  55. "StaticSampler(s1, visibility = SHADER_VISIBILITY_PIXEL," \
  56. "addressU = TEXTURE_ADDRESS_CLAMP," \
  57. "addressV = TEXTURE_ADDRESS_CLAMP," \
  58. "addressW = TEXTURE_ADDRESS_CLAMP," \
  59. "comparisonFunc = COMPARISON_GREATER_EQUAL," \
  60. "filter = FILTER_MIN_MAG_LINEAR_MIP_POINT)"
  61. #endif