text: #ifndef HELP_TEXT_H
  #define HELP_TEXT_H
  
  const char* const help_text =
    "ray - raytracing scene renderer\n"
    "Draws a scene specified by a YAML scene file and outputs a PNG image.\n"
    "Options:\n"
    "[--scene <file>] the scene input file (default: world.yml)\n"
    "[--output <file>] the rendered output file (default: output.png)\n"
    "[--threads <number>] the number of rendering threads (default: 1)\n"
    "[--progress] displayed a progress indicator as the scene is rendered\n"
    "[--help <topic>] displays this help, or help for a specific topic\n"
    "  topics include: scene";
  
  const char* const scene_file_help_text =
    "Scene file specification:\n"
    "resolution: [x, y] - required\n  "
    "The dimensions of the output image\n"
    "observer: [x, y, z] - required\n  "
    "The eye position of the viewer\n"
    "screen: - required\n  "
    "The window through which the observer views the scene,\n"
    "specified by:\n"
    "screen_top_left: [x, y, z] - required\n  "
    "The top-left corner of the screen\n"
    "screen_top_right: [x, y, z] - required\n  "
    "The top-right corner of the screen\n"
    "screen_bottom_right: [x, y, z] - required\n  "
    "The bottom-right corner of the screen\n"
    "\n"
    "geometry: - required\n  "
    "The physical objects to be rendered, specified by:\n"
    "\n"
    "spheres: - optional\n  "
    "A list of all spheres in the scene, each sphere being composed of:\n"
    "center: [x, y, z] - required\n  "
    "The center point of the sphere\n"
    "radius: x - required\n  "
    "The size of the sphere\n"
    "(material properties): - optional - see material properties section\n"
    "\n"
    "meshes: - optional\n  "
    "A list of all triangle meshes in the scene, each mesh composed of:\n"
    "vertexes: list [x, y, z] - required\n  "
    "The coordinates of the mesh vertexes\n"
    "indexes: [a, b, c, d, ...] - optional - default [1, 2, 3, ...]\n  "
    "The order of the vertexes. Each group of three indexes is a triangle\n"
    "material properties: - optional - see material properties section\n"
    "\n"
    "material properties:"
    "color: [r, g, b] - optional - default [1, 1, 1]\n  "
    "The RGB color of the object in the scene, as values from 0 to 1\n"
    "refractive_index: x - optional - default 1\n  "
    "The material's refractive index\n"
    "opacity: x - optional - default 1\n  "
    "The fraction of light blocked from entering a material, between 0 and 1\n"
    "reflectivity: x - optional - default 0\n  "
    "The fraction of light reflected off the material, between 0 and 1\n"
    "mirrored: - optional - default false\n  "
    "A synonym for reflectivity: 1\n"
    "\n"
    "lights: - required\n  "
    "The illumination that makes geometry visible, specified by:\n"
    "ambient: [r, g, b] - optional - default [0, 0, 0]\n  "
    "The colored glow given off by all opaque objects in the scene\n"
    "(and fractionally by all partly translucent and reflective objects)\n"
    "points: - optional\n  "
    "A list of point lights illuminating the scene, each comprised of:\n"
    "position: [x, y, z] - required\n  "
    "The position of the light in space\n"
    "color: [r, g, b] - required\n  "
    "The color of the light, as values from 0 to 1";
  
  #endif
  