[
    {
        "target": "ambient-occlusion-example",
        "title": "Ambient Occlusion Shading",
        "object": "AmbientOcclusionExample",
        "caption": "Default implementation of Screen-space Ambient Occlusion."
    },
    {
        "target": "arealight-example",
        "title": "Area Lights",
        "object": "AreaLightExample",
        "caption": "Area lights using Multi-Frame sampling.",
        "disabled": true
    },
    {
        "target": "canvassize-example",
        "title": "Canvas Size",
        "object": "CanvasSizeExample",
        "caption": "Rendering native sized pattern for testing/debugging (re)size issues."
    },
    {
        "target": "colorlerp-example",
        "title": "Color Lerp",
        "object": "ColorLerpExample",
        "caption": "Nearest and linear interpolation of label colors."
    },
    {
        "target": "colorscale-example",
        "title": "Color Scale",
        "object": "ColorScaleExample",
        "caption": "Variations and presets of color scales."
    },
    {
        "target": "context-lost-example",
        "title": "Context Lost Example",
        "object": "ContextLostExample",
        "caption": "Very basic scene handling context losses repeatedly."
    },
    {
        "target": "dfdx-dfdy-example",
        "title": "dFdx-dFdy Example",
        "object": "DfdxDfdyExample",
        "caption": "An example to showcase the dFdx and dFdy usage pattern."
    },
    {
        "target": "envprojections-example",
        "title": "Environment Mapping",
        "object": "EnvironmentProjectionExample",
        "caption": "Different techniques for environment mapping"
    },
    {
        "target": "gouraudphong-example",
        "title": "Gouraud/Phong Shading",
        "object": "GouraudPhongExample",
        "caption": "Comparison between Gouraud shading and Phong shading."
    },
    {
        "target": "imagebasedlighting-example",
        "title": "Image Based Lighting",
        "object": "ImageBasedLightingExample",
        "caption": "Image based lighting using prefiltered cube maps"
    },
    {
        "target": "instanced-rendering-example",
        "title": "Instanced Rendering",
        "object": "InstancedRenderingExample",
        "caption": "Example showing instanced rendering of a glTF mesh."
    },
    {
        "target": "instanced-zprepass-example",
        "title": "Instanced Rendering w. Z-Prepass",
        "object": "InstancedZPrepassExample",
        "caption": "Example showing instanced rendering and a z-prepass."
    },
    {
        "target": "label2d-example",
        "title": "Label 2D",
        "object": "Label2DExample",
        "caption": "Static/dynamic text that can be positioned in 2D space.",
        "disabled": true
    },
    {
        "target": "label3d-example",
        "title": "Label 3D",
        "object": "Label3DExample",
        "caption": "Static/dynamic text that can be positioned in 3D space."
    },
    {
        "target": "labelanchor-example",
        "title": "Label Anchor",
        "object": "LabelAnchorExample",
        "caption": "Label placement with anchors top, bottom, ascent, descent, and center. "
    },
    {
        "target": "labelelide-example",
        "title": "Label Elide",
        "object": "LabelElideExample",
        "caption": "Shrinking labels to custom line widths putting customizable ellipses left, middle, or right."
    },
    {
        "target": "glyph-ext-example",
        "title": "Glyph Rendering (External)",
        "object": "GlyphExtExample",
        "caption": "Loading one (or more) external pages to a glyph atlas."
    },
    {
        "target": "perlinnoise-example",
        "title": "Perlin Noise",
        "object": "PerlinNoiseExample",
        "caption": "Value Noise, Gradient Noise, and Simplex Noise implementation."
    },
    {
        "target": "scene-example",
        "title": "Scene",
        "object": "SceneExample",
        "caption": "Rendering with the webgl-operate scene concept"
    },
    {
        "target": "shadowmap-example",
        "title": "Shadow Mapping",
        "object": "ShadowMapExample",
        "caption": "Minimalistic scene featuring a textured unit cube and shadow mapping."
    },
    {
        "target": "shadowmap-multiframe-example",
        "title": "Shadow Mapping (Progressive)",
        "object": "ShadowMapMultiframeExample",
        "caption": "Scene showcasing how to achieve soft shadows using multi-frame sampling."
    },
    {
        "target": "cube-example",
        "title": "Textured Cube",
        "object": "CubeExample",
        "caption": "Minimalistic scene featuring a textured unit cube."
    },
    {
        "target": "cube-progressive-example",
        "title": "Textured Cube (Progressive)",
        "object": "ProgressiveCubeExample",
        "caption": "Progressive antialiasing on a textured unit cube."
    },
    {
        "target": "triangle-example",
        "title": "Textured Triangle",
        "object": "TriangleExample",
        "caption": "Very basic scene, rendering a textured triangle."
    },
    {
        "target": "tilecamera-example",
        "title": "Tile-based 4k Rendering",
        "object": "TileCameraExample",
        "caption": "Rendering of a cube with the tiled camera in 4 different ways."
    },
    {
        "target": "xtoon-example",
        "title": "XToon Shading",
        "object": "XToonExample",
        "caption": "Minimal example showing XToon shading for simple geometry."
    },
    {
        "target": "vector-example",
        "title": "Labeled Vectors and Points",
        "object": "VectorExample",
        "caption": "Displaying labeled vectors and points for educational examples."
    },
    {
        "target": "default-scene-example",
        "title": "Default Scene for CG1",
        "object": "DefaultSceneExample",
        "caption": "The base scene for the CG1 lecture interactive examples."
    }
]
