diff options
Diffstat (limited to 'manuals/chickadee/Lights.html')
-rw-r--r-- | manuals/chickadee/Lights.html | 212 |
1 files changed, 212 insertions, 0 deletions
diff --git a/manuals/chickadee/Lights.html b/manuals/chickadee/Lights.html new file mode 100644 index 0000000..1e6d234 --- /dev/null +++ b/manuals/chickadee/Lights.html @@ -0,0 +1,212 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 2017-2021 David Thompson davet@gnu.org + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 +or any later version published by the Free Software Foundation; +with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. +A copy of the license is included in the section entitled "GNU +Free Documentation License". + +A copy of the license is also available from the Free Software +Foundation Web site at http://www.gnu.org/licenses/fdl.html. + + +* Chickadee: (chickadee). Game programming toolkit for Guile. + +The document was typeset with +http://www.texinfo.org/ (GNU Texinfo). + --> +<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>Lights (The Chickadee Game Toolkit)</title> + +<meta name="description" content="Lights (The Chickadee Game Toolkit)"> +<meta name="keywords" content="Lights (The Chickadee Game Toolkit)"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<link href="index.html" rel="start" title="Top"> +<link href="Index.html" rel="index" title="Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Graphics.html" rel="up" title="Graphics"> +<link href="Skyboxes.html" rel="next" title="Skyboxes"> +<link href="Models.html" rel="prev" title="Models"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.indentedblock {margin-right: 0em} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +kbd {font-style: oblique} +pre.display {font-family: inherit} +pre.format {font-family: inherit} +pre.menu-comment {font-family: serif} +pre.menu-preformatted {font-family: serif} +span.nolinebreak {white-space: nowrap} +span.roman {font-family: initial; font-weight: normal} +span.sansserif {font-family: sans-serif; font-weight: normal} +ul.no-bullet {list-style: none} +@media (min-width: 1140px) { + body { + margin-left: 14rem; + margin-right: 4rem; + max-width: 52rem; + } +} + +@media (min-width: 800px) and (max-width: 1140px) { + body { + margin-left: 6rem; + margin-right: 4rem; + max-width: 52rem; + } +} + +@media (max-width: 800px) { + body { + margin: 1rem; + } +} + +--> +</style> +<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css"> + + +</head> + +<body lang="en"> +<span id="Lights"></span><div class="header"> +<p> +Next: <a href="Skyboxes.html" accesskey="n" rel="next">Skyboxes</a>, Previous: <a href="Models.html" accesskey="p" rel="prev">Models</a>, Up: <a href="Graphics.html" accesskey="u" rel="up">Graphics</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> +</div> +<hr> +<span id="Lights-1"></span><h4 class="subsection">5.3.9 Lights</h4> + +<p>The <code>(chickadee graphics light)</code> module provides a data type for +dynamic lights that can be used to light 3D objects (such as +<a href="Models.html">Models</a> or <a href="Meshes.html">Meshes</a>.) +</p> +<p>There are 3 types of dynamic lights: +</p> +<ul> +<li> point light: +Emits light in all directions from a specific point in space, like a +light bulb. +</li><li> directional light: +Emits light of a constant intensity in a direction, like sunlight. +</li><li> spot light: +Emits a cone of light in a direction, like a flashlight. +</li></ul> + +<dl> +<dt id="index-make_002dpoint_002dlight">Procedure: <strong>make-point-light</strong> <em>[#:position (vec3 0 0 0)] [#:color black] [#:intensity 1]</em></dt> +<dd> +<p>Return a new point light located at <var>position</var> that emits +<var>color</var> light. +</p></dd></dl> + +<dl> +<dt id="index-make_002ddirectional_002dlight">Procedure: <strong>make-directional-light</strong> <em>[#:direction (vec3 0 -1 0)] [#:color black] [#:intensity 1]</em></dt> +<dd> +<p>Return a new directional light that emits <var>color</var> light in +<var>direction</var>. +</p></dd></dl> + +<dl> +<dt id="index-make_002dspot_002dlight">Procedure: <strong>make-spot-light</strong> <em>[#:position (vec3 0 0 0)] [#:direction (vec3 0 -1 0)] [#:color black] [#:cut-off <em>π/4</em>] [#:intensity 1]</em></dt> +<dd> +<p>Return a new spot light located at <var>position</var> that emits +<var>color</var> light in <var>direction</var> in a cone that cuts off at +<var>cut-off</var> radians. +</p></dd></dl> + +<dl> +<dt id="index-point_002dlight_003f">Procedure: <strong>point-light?</strong> <em>obj</em></dt> +<dd><p>Return <code>#t</code> if <var>obj</var> is a point light. +</p></dd></dl> + +<dl> +<dt id="index-directional_002dlight_003f">Procedure: <strong>directional-light?</strong> <em>obj</em></dt> +<dd><p>Return <code>#t</code> if <var>obj</var> is a directional light. +</p></dd></dl> + +<dl> +<dt id="index-spot_002dlight_003f">Procedure: <strong>spot-light?</strong> <em>obj</em></dt> +<dd><p>Return <code>#t</code> if <var>obj</var> is a spot light. +</p></dd></dl> + +<dl> +<dt id="index-light_002dtype">Procedure: <strong>light-type</strong> <em>light</em></dt> +<dd><p>Return the type of <var>light</var>, one of: +</p> +<ul> +<li> point +</li><li> directional +</li><li> spot +</li></ul> + +</dd></dl> + +<dl> +<dt id="index-light_002dcolor">Procedure: <strong>light-color</strong> <em>light</em></dt> +<dd><p>Return the color of <var>light</var>. +</p></dd></dl> + +<dl> +<dt id="index-light_002dintensity">Procedure: <strong>light-intensity</strong> <em>light</em></dt> +<dd><p>Return the intensity of <var>light</var>. +</p></dd></dl> + +<dl> +<dt id="index-light_002dposition">Procedure: <strong>light-position</strong> <em>light</em></dt> +<dd><p>Return the position of <var>light</var>. The value is irrelevant for +directional lights. +</p></dd></dl> + +<dl> +<dt id="index-light_002ddirection">Procedure: <strong>light-direction</strong> <em>light</em></dt> +<dd><p>Return the direction of <var>light</var>. The value is irrelevant for +point lights. +</p></dd></dl> + +<dl> +<dt id="index-light_002dcut_002doff">Procedure: <strong>light-cut-off</strong> <em>light</em></dt> +<dd><p>Return the cosine of the cut off angle of <var>light</var>. The value is +only relevant for spot lights. +</p></dd></dl> + +<dl> +<dt id="index-set_002dlight_002dcolor_0021">Procedure: <strong>set-light-color!</strong> <em>light color</em></dt> +<dd><p>Set the color of <var>light</var> to <var>color</var>. +</p></dd></dl> + +<dl> +<dt id="index-set_002dlight_002dposition_0021">Procedure: <strong>set-light-position!</strong> <em>light position</em></dt> +<dd><p>Set the position of <var>light</var> to <var>position</var>. +</p></dd></dl> + +<dl> +<dt id="index-set_002dlight_002ddirection_0021">Procedure: <strong>set-light-direction!</strong> <em>light direction</em></dt> +<dd><p>Set the direction of <var>light</var> to <var>direction</var>. +</p></dd></dl> + +<dl> +<dt id="index-set_002dlight_002dcut_002doff_0021">Procedure: <strong>set-light-cut-off!</strong> <em>light cut-off</em></dt> +<dd><p>Set the cut off angle of <var>light</var> to <var>cut-off</var>. +</p></dd></dl> + +<hr> +<div class="header"> +<p> +Next: <a href="Skyboxes.html" accesskey="n" rel="next">Skyboxes</a>, Previous: <a href="Models.html" accesskey="p" rel="prev">Models</a>, Up: <a href="Graphics.html" accesskey="u" rel="up">Graphics</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> +</div> + + + +</body> +</html> |