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
152 lines
4.5 KiB
[
|
|
{
|
|
"title": "01 Introduction to the exercises: Setup and index into a linearized array",
|
|
"entries":
|
|
[
|
|
{
|
|
"title": "Fill Screen",
|
|
"description": "Fill the entire buffer with a constant RGBA color #FF0000FF (red)",
|
|
"file": "fillscreen.html"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"title": "02 Creating patterns",
|
|
"entries":
|
|
[
|
|
{
|
|
"title": "Gradient",
|
|
"description": "Fill the buffer with a gradient from black to white (horizontal)",
|
|
"file": "gradient.html"
|
|
},
|
|
{
|
|
"title": "Checkerboard",
|
|
"description": "Create a checkerboard in the buffer by alternating between black and white patches",
|
|
"file": "checkerboard.html"
|
|
},
|
|
{
|
|
"title": "Simple Circle",
|
|
"description": "Warm up in thinking about distances",
|
|
"file": "circlesimple.html"
|
|
},
|
|
{
|
|
"title": "Circle",
|
|
"description": "Circle with movable center",
|
|
"file": "circle.html"
|
|
}
|
|
|
|
]
|
|
},
|
|
{
|
|
"title": "03 Quantisation",
|
|
"entries":
|
|
[
|
|
{
|
|
"title": "Grayscale",
|
|
"description": "Convert an RGB image to brightness values",
|
|
"file": "grayscale.html"
|
|
},
|
|
{
|
|
"title": "Quantisation to 4 brightness values",
|
|
"description": "Posterize an RGB image to 4 brightness values",
|
|
"file": "quantisegrayscale.html"
|
|
},
|
|
{
|
|
"title": "Quantisation to 4 values per color channel",
|
|
"description": "Posterize an RGB image to 4 brightness values per color channel",
|
|
"file": "quantisecolor.html"
|
|
},
|
|
{
|
|
"title": "Gamma correction",
|
|
"description": "Perform gamma correction on an image",
|
|
"file": "gammacorrection.html"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"title": "04 Lines",
|
|
"entries":
|
|
[
|
|
{
|
|
"title": "Simple DDA",
|
|
"description": "Draw a single line with the DDA algorithm",
|
|
"file": "ddasimple.html"
|
|
},
|
|
{
|
|
"title": "Simple Bresenham",
|
|
"description": "Draw a single line with the Bresenham algorithm",
|
|
"file": "bresenhamsimple.html"
|
|
},
|
|
{
|
|
"title": "DDA",
|
|
"description": "Draw lines with the DDA algorithm",
|
|
"file": "dda.html"
|
|
},
|
|
{
|
|
"title": "Bresenham",
|
|
"description": "Draw lines with the Bresenham algorithm",
|
|
"file": "bresenham.html"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"title": "05 Raytracing",
|
|
"entries":
|
|
[
|
|
{
|
|
"title": "Basic Raytracing",
|
|
"description": "Raytrace a single sphere",
|
|
"file": "raytracing.html"
|
|
},
|
|
{
|
|
"title": "Enhanced Raytracing",
|
|
"description": "Raytrace many spheres",
|
|
"file": "manyspheres.html"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"title": "06 Phong",
|
|
"entries":
|
|
[
|
|
{
|
|
"title": "Basic Lighting",
|
|
"description": "Introduce lighting in your scene",
|
|
"file": "phong.html"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"title": "07 Transformations",
|
|
"entries":
|
|
[
|
|
{
|
|
"title": "Basic Transformations",
|
|
"description": "Transform objects with matrices",
|
|
"file": "matrix.html"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"title": "08 Scene Graph",
|
|
"entries":
|
|
[
|
|
{
|
|
"title": "Basic Scene Graphs",
|
|
"description": "Arrange objects in a hierarchical data structure and render them",
|
|
"file": "scenegraph.html"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"title": "09 Rasterization",
|
|
"entries":
|
|
[
|
|
{
|
|
"title": "WebGL: Primitives, Buffers, Vertex and Fragment Shaders",
|
|
"description": "Understand rasterisation with WebGL",
|
|
"file": "threejssimple.html"
|
|
}
|
|
]
|
|
}
|
|
]
|