Enums.h 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. /*
  2. * Copyright (c) 2021, Stephan Unverwerth <s.unverwerth@serenityos.org>
  3. *
  4. * SPDX-License-Identifier: BSD-2-Clause
  5. */
  6. #pragma once
  7. namespace SoftGPU {
  8. enum class AlphaTestFunction {
  9. Never,
  10. Always,
  11. Less,
  12. LessOrEqual,
  13. Equal,
  14. NotEqual,
  15. GreaterOrEqual,
  16. Greater,
  17. };
  18. enum class BlendFactor {
  19. Zero,
  20. One,
  21. SrcAlpha,
  22. OneMinusSrcAlpha,
  23. SrcColor,
  24. OneMinusSrcColor,
  25. DstAlpha,
  26. OneMinusDstAlpha,
  27. DstColor,
  28. OneMinusDstColor,
  29. SrcAlphaSaturate,
  30. };
  31. enum class DepthTestFunction {
  32. Never,
  33. Always,
  34. Less,
  35. LessOrEqual,
  36. Equal,
  37. NotEqual,
  38. GreaterOrEqual,
  39. Greater,
  40. };
  41. enum FogMode {
  42. Linear,
  43. Exp,
  44. Exp2
  45. };
  46. enum class PolygonMode {
  47. Point,
  48. Line,
  49. Fill,
  50. };
  51. enum class WindingOrder {
  52. Clockwise,
  53. CounterClockwise,
  54. };
  55. enum class PrimitiveType {
  56. Triangles,
  57. TriangleStrip,
  58. TriangleFan,
  59. Quads,
  60. };
  61. enum TexCoordGenerationCoordinate {
  62. None = 0x0,
  63. S = 0x1,
  64. T = 0x2,
  65. R = 0x4,
  66. Q = 0x8,
  67. All = 0xF,
  68. };
  69. enum class TexCoordGenerationMode {
  70. ObjectLinear,
  71. EyeLinear,
  72. SphereMap,
  73. ReflectionMap,
  74. NormalMap,
  75. };
  76. }