You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

152 lines
4.5 KiB

  1. [
  2. {
  3. "title": "01 Introduction to the exercises: Setup and index into a linearized array",
  4. "entries":
  5. [
  6. {
  7. "title": "Fill Screen",
  8. "description": "Fill the entire buffer with a constant RGBA color #FF0000FF (red)",
  9. "file": "fillscreen.html"
  10. }
  11. ]
  12. },
  13. {
  14. "title": "02 Creating patterns",
  15. "entries":
  16. [
  17. {
  18. "title": "Gradient",
  19. "description": "Fill the buffer with a gradient from black to white (horizontal)",
  20. "file": "gradient.html"
  21. },
  22. {
  23. "title": "Checkerboard",
  24. "description": "Create a checkerboard in the buffer by alternating between black and white patches",
  25. "file": "checkerboard.html"
  26. },
  27. {
  28. "title": "Simple Circle",
  29. "description": "Warm up in thinking about distances",
  30. "file": "circlesimple.html"
  31. },
  32. {
  33. "title": "Circle",
  34. "description": "Circle with movable center",
  35. "file": "circle.html"
  36. }
  37. ]
  38. },
  39. {
  40. "title": "03 Quantisation",
  41. "entries":
  42. [
  43. {
  44. "title": "Grayscale",
  45. "description": "Convert an RGB image to brightness values",
  46. "file": "grayscale.html"
  47. },
  48. {
  49. "title": "Quantisation to 4 brightness values",
  50. "description": "Posterize an RGB image to 4 brightness values",
  51. "file": "quantisegrayscale.html"
  52. },
  53. {
  54. "title": "Quantisation to 4 values per color channel",
  55. "description": "Posterize an RGB image to 4 brightness values per color channel",
  56. "file": "quantisecolor.html"
  57. },
  58. {
  59. "title": "Gamma correction",
  60. "description": "Perform gamma correction on an image",
  61. "file": "gammacorrection.html"
  62. }
  63. ]
  64. },
  65. {
  66. "title": "04 Lines",
  67. "entries":
  68. [
  69. {
  70. "title": "Simple DDA",
  71. "description": "Draw a single line with the DDA algorithm",
  72. "file": "ddasimple.html"
  73. },
  74. {
  75. "title": "Simple Bresenham",
  76. "description": "Draw a single line with the Bresenham algorithm",
  77. "file": "bresenhamsimple.html"
  78. },
  79. {
  80. "title": "DDA",
  81. "description": "Draw lines with the DDA algorithm",
  82. "file": "dda.html"
  83. },
  84. {
  85. "title": "Bresenham",
  86. "description": "Draw lines with the Bresenham algorithm",
  87. "file": "bresenham.html"
  88. }
  89. ]
  90. },
  91. {
  92. "title": "05 Raytracing",
  93. "entries":
  94. [
  95. {
  96. "title": "Basic Raytracing",
  97. "description": "Raytrace a single sphere",
  98. "file": "raytracing.html"
  99. },
  100. {
  101. "title": "Enhanced Raytracing",
  102. "description": "Raytrace many spheres",
  103. "file": "manyspheres.html"
  104. }
  105. ]
  106. },
  107. {
  108. "title": "06 Phong",
  109. "entries":
  110. [
  111. {
  112. "title": "Basic Lighting",
  113. "description": "Introduce lighting in your scene",
  114. "file": "phong.html"
  115. }
  116. ]
  117. },
  118. {
  119. "title": "07 Transformations",
  120. "entries":
  121. [
  122. {
  123. "title": "Basic Transformations",
  124. "description": "Transform objects with matrices",
  125. "file": "matrix.html"
  126. }
  127. ]
  128. },
  129. {
  130. "title": "08 Scene Graph",
  131. "entries":
  132. [
  133. {
  134. "title": "Basic Scene Graphs",
  135. "description": "Arrange objects in a hierarchical data structure and render them",
  136. "file": "scenegraph.html"
  137. }
  138. ]
  139. },
  140. {
  141. "title": "09 Rasterization",
  142. "entries":
  143. [
  144. {
  145. "title": "WebGL: Primitives, Buffers, Vertex and Fragment Shaders",
  146. "description": "Understand rasterisation with WebGL",
  147. "file": "threejssimple.html"
  148. }
  149. ]
  150. }
  151. ]