diff options
Diffstat (limited to 'manuals/chickadee/Textures.html')
-rw-r--r-- | manuals/chickadee/Textures.html | 297 |
1 files changed, 0 insertions, 297 deletions
diff --git a/manuals/chickadee/Textures.html b/manuals/chickadee/Textures.html deleted file mode 100644 index 5b8e506..0000000 --- a/manuals/chickadee/Textures.html +++ /dev/null @@ -1,297 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2017-2023 David Thompson dthompson2@worcester.edu - -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>Textures (The Chickadee Game Toolkit)</title> - -<meta name="description" content="Textures (The Chickadee Game Toolkit)" /> -<meta name="keywords" content="Textures (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="Sprites.html" rel="next" title="Sprites" /> -<link href="Colors.html" rel="prev" title="Colors" /> -<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="Textures"></span><div class="header"> -<p> -Next: <a href="Sprites.html" accesskey="n" rel="next">Sprites</a>, Previous: <a href="Colors.html" accesskey="p" rel="prev">Colors</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="Textures-1"></span><h4 class="subsection">5.3.2 Textures</h4> - -<p>Textures are essentially images: a 2D grid of color values. However, -this is a great simplification. Textures can be used to store any -kind of data that can be encoded into color channels. The -<code>(chickadee graphics texture)</code> module provides an interface for -working with texture objects. -</p> -<dl> -<dt id="index-load_002dimage">Procedure: <strong>load-image</strong> <em>file [#:min-filter nearest] [#:mag-filter nearest] [#:wrap-s repeat] [#:wrap-t repeat] [#:transparent-color]</em></dt> -<dd> -<p>Load the image data from <var>file</var> and return a new texture object. -</p> -<p><var>min-filter</var> and <var>mag-filter</var> describe the method that should -be used for minification and magnification when rendering, -respectively. Possible values are <code>nearest</code> and <code>linear</code>. -</p> -<p><var>wrap-s</var> and <var>wrap-t</var> describe how to interpret texture -coordinates that are greater than <code>1.0</code>. Possible values are -<code>repeat</code>, <code>mirrored-repeat</code>, <code>clamp</code>, -<code>clamp-to-border</code>, and <code>clamp-to-edge</code>. -</p> -<p>For color-keyed images (images where a specific color should be made -transparent), specify the appropriate <var>transparent-color</var>. -</p> -</dd></dl> - -<dl> -<dt id="index-texture_003f">Procedure: <strong>texture?</strong> <em>obj</em></dt> -<dd><p>Return <code>#t</code> if <var>obj</var> is a texture. -</p></dd></dl> - -<dl> -<dt id="index-texture_002dregion_003f">Procedure: <strong>texture-region?</strong> <em>obj</em></dt> -<dd><p>Return <code>#t</code> if <var>obj</var> is a texture region. -</p></dd></dl> - -<dl> -<dt id="index-texture_002dparent">Procedure: <strong>texture-parent</strong> <em>texture</em></dt> -<dd><p>If <var>texture</var> is a texture region, return the full texture that it -is based upon. Otherwise, return <code>#f</code>. -</p></dd></dl> - -<dl> -<dt id="index-texture_002dmin_002dfilter">Procedure: <strong>texture-min-filter</strong> <em>texture</em></dt> -<dd><p>Return the minification filter for <var>texture</var>, either -<code>nearest</code> or <code>linear</code>. -</p></dd></dl> - -<dl> -<dt id="index-texture_002dmag_002dfilter">Procedure: <strong>texture-mag-filter</strong> <em>texture</em></dt> -<dd><p>Return the magnification filter for <var>texture</var>, either -<code>nearest</code> or <code>linear</code>. -</p></dd></dl> - -<dl> -<dt id="index-texture_002dwrap_002ds">Procedure: <strong>texture-wrap-s</strong> <em>texture</em></dt> -<dd><p>Return the method used for wrapping texture coordinates along the X -axis for <var>texture</var>. -</p> -<p>Possible wrapping methods: -</p><ul> -<li> <code>repeat</code> -</li><li> <code>clamp</code> -</li><li> <code>clamp-to-border</code> -</li><li> <code>clamp-to-edge</code> -</li></ul> - -</dd></dl> - -<dl> -<dt id="index-texture_002dwrap_002dt">Procedure: <strong>texture-wrap-t</strong> <em>texture</em></dt> -<dd><p>Return the method used for wrapping texture coordinates along the Y -axis for <var>texture</var>. -</p></dd></dl> - -<dl> -<dt id="index-texture_002dwidth">Procedure: <strong>texture-width</strong> <em>texture</em></dt> -<dd><p>Return the width of <var>texture</var> in pixels. -</p></dd></dl> - -<dl> -<dt id="index-texture_002dheight">Procedure: <strong>texture-height</strong> <em>texture</em></dt> -<dd><p>Return the height of <var>texture</var> in pixels. -</p></dd></dl> - -<dl> -<dt id="index-current_002dtexture_002d0">Procedure: <strong>current-texture-0</strong></dt> -<dd><p>Return the current texture associated with texture unit 0 on the GPU. -</p></dd></dl> - -<dl> -<dt id="index-current_002dtexture_002d1">Procedure: <strong>current-texture-1</strong></dt> -<dd><p>Return the current texture associated with texture unit 1 on the GPU. -</p></dd></dl> - -<dl> -<dt id="index-current_002dtexture_002d2">Procedure: <strong>current-texture-2</strong></dt> -<dd><p>Return the current texture associated with texture unit 2 on the GPU. -</p></dd></dl> - -<dl> -<dt id="index-current_002dtexture_002d3">Procedure: <strong>current-texture-3</strong></dt> -<dd><p>Return the current texture associated with texture unit 3 on the GPU. -</p></dd></dl> - -<dl> -<dt id="index-current_002dtexture_002d4">Procedure: <strong>current-texture-4</strong></dt> -<dd><p>Return the current texture associated with texture unit 4 on the GPU. -</p></dd></dl> - -<dl> -<dt id="index-g_003atexture_002d0">Variable: <strong>g:texture-0</strong></dt> -<dd><p>Render state for texture unit 0 (see <a href="Rendering-Engine.html">Rendering Engine</a>.) -</p></dd></dl> - -<dl> -<dt id="index-g_003atexture_002d1">Variable: <strong>g:texture-1</strong></dt> -<dd><p>Render state for texture unit 1 (see <a href="Rendering-Engine.html">Rendering Engine</a>.) -</p></dd></dl> - -<dl> -<dt id="index-g_003atexture_002d2">Variable: <strong>g:texture-2</strong></dt> -<dd><p>Render state for texture unit 2 (see <a href="Rendering-Engine.html">Rendering Engine</a>.) -</p></dd></dl> - -<dl> -<dt id="index-g_003atexture_002d3">Variable: <strong>g:texture-3</strong></dt> -<dd><p>Render state for texture unit 3 (see <a href="Rendering-Engine.html">Rendering Engine</a>.) -</p></dd></dl> - -<dl> -<dt id="index-g_003atexture_002d4">Variable: <strong>g:texture-4</strong></dt> -<dd><p>Render state for texture unit 4 (see <a href="Rendering-Engine.html">Rendering Engine</a>.) -</p></dd></dl> - -<span id="Tile-Atlases"></span><h4 class="subsubsection">5.3.2.1 Tile Atlases</h4> - -<p>It is common practice to combine multiple bitmap images into a single -texture, known as a “tile atlas” or “tile set”, because it is more -efficient to render many regions of a large texture than it is to -render a bunch of small textures. Chickadee provides a tile atlas -data type for collecting texture regions into a single vector. -</p> -<dl> -<dt id="index-split_002dtexture">Procedure: <strong>split-texture</strong> <em>texture tile-width tile-height [#:margin 0] [#:spacing 0]</em></dt> -<dd> -<p>Return a new texture atlas that splits <var>texture</var> into a grid of -<var>tile-width</var> by <var>tile-height</var> rectangles. Optionally, each -tile may have <var>spacing</var> pixels of horizontal and vertical space -between surrounding tiles and the entire image may have <var>margin</var> -pixels of empty space around its border. -</p> -<p>This type of texture atlas layout is very common for 2D tile maps. -See <a href="Tile-Maps.html">Tile Maps</a> for more information. -</p></dd></dl> - -<dl> -<dt id="index-load_002dtileset">Procedure: <strong>load-tileset</strong> <em>file-name tile-width tile-height [#:margin 0] [#:spacing 0] [#:min-filter nearest] [#:mag-filter nearest] [#:wrap-s repeat] [#:wrap-t repeat] [#:transparent-color]</em></dt> -<dd> -<p>Return a new texture atlas that splits the texture loaded from the -file <var>file-name</var> into a grid of <var>tile-width</var> by -<var>tile-height</var> rectangles. See <code>load-image</code> and -<code>split-texture</code> for information about all keyword arguments. -</p></dd></dl> - -<dl> -<dt id="index-texture_002datlas_003f">Procedure: <strong>texture-atlas?</strong> <em>obj</em></dt> -<dd><p>Return <code>#t</code> if <var>obj</var> is a texture atlas. -</p></dd></dl> - -<dl> -<dt id="index-texture_002datlas_002dtexture">Procedure: <strong>texture-atlas-texture</strong> <em>atlas</em></dt> -<dd><p>Return the texture that all texture regions in <var>atlas</var> have been created from. -</p></dd></dl> - -<dl> -<dt id="index-texture_002datlas_002dref">Procedure: <strong>texture-atlas-ref</strong> <em>atlas index</em></dt> -<dd><p>Return the texture region in <var>atlas</var> at <var>index</var>. -</p></dd></dl> - -<span id="Cube-Maps"></span><h4 class="subsubsection">5.3.2.2 Cube Maps</h4> - -<p>A cube map is a special type of texture composed of 6 images that can -be thought of as forming the 6 faces of a cube. See <a href="Skyboxes.html">Skyboxes</a> for a -practical use of cube maps. -</p> -<dl> -<dt id="index-load_002dcube_002dmap">Procedure: <strong>load-cube-map</strong> <em>#:right #:left #:top #:bottom #:front #:back [#:min-filter linear-mipmap-linear] [#:mag-filter linear]</em></dt> -<dd> -<p>Return a new cube map that uses the image data in the files -<var>right</var>, <var>left</var>, <var>top</var>, <var>bottom</var>, <var>front</var>, and -<var>back</var> for the 6 faces of the cube. -</p></dd></dl> - -<dl> -<dt id="index-cube_002dmap_003f">Procedure: <strong>cube-map?</strong> <em>obj</em></dt> -<dd><p>Return <code>#t</code> if <var>obj</var> is a cube map. -</p></dd></dl> - -<hr /> -<div class="header"> -<p> -Next: <a href="Sprites.html" accesskey="n" rel="next">Sprites</a>, Previous: <a href="Colors.html" accesskey="p" rel="prev">Colors</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> |