1894 lines
46 KiB
HTML
1894 lines
46 KiB
HTML
|
|
||
|
<!DOCTYPE HTML>
|
||
|
<html lang="" >
|
||
|
<head>
|
||
|
<meta charset="UTF-8">
|
||
|
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
|
||
|
<title>Graphics Rendering · Learn Lisp The Hard Way</title>
|
||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||
|
<meta name="description" content="">
|
||
|
<meta name="generator" content="GitBook 3.2.3">
|
||
|
<meta name="author" content=""the Phoeron" Colin J.E. Lupton">
|
||
|
|
||
|
|
||
|
|
||
|
<link rel="stylesheet" href="gitbook/style.css">
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<link rel="stylesheet" href="gitbook/gitbook-plugin-hints/plugin-hints.css">
|
||
|
|
||
|
|
||
|
|
||
|
<link rel="stylesheet" href="gitbook/gitbook-plugin-folding-chapters/folding-chapters.css">
|
||
|
|
||
|
|
||
|
|
||
|
<link rel="stylesheet" href="gitbook/gitbook-plugin-highlight/website.css">
|
||
|
|
||
|
|
||
|
|
||
|
<link rel="stylesheet" href="gitbook/gitbook-plugin-search/search.css">
|
||
|
|
||
|
|
||
|
|
||
|
<link rel="stylesheet" href="gitbook/gitbook-plugin-fontsettings/website.css">
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<meta name="HandheldFriendly" content="true"/>
|
||
|
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
|
||
|
<meta name="apple-mobile-web-app-capable" content="yes">
|
||
|
<meta name="apple-mobile-web-app-status-bar-style" content="black">
|
||
|
<link rel="apple-touch-icon-precomposed" sizes="152x152" href="gitbook/images/apple-touch-icon-precomposed-152.png">
|
||
|
<link rel="shortcut icon" href="gitbook/images/favicon.ico" type="image/x-icon">
|
||
|
|
||
|
|
||
|
<link rel="next" href="3-08-00-gaming.html" />
|
||
|
|
||
|
|
||
|
<link rel="prev" href="3-06-00-reverse-engineering.html" />
|
||
|
|
||
|
|
||
|
</head>
|
||
|
<body>
|
||
|
|
||
|
<div class="book">
|
||
|
<div class="book-summary">
|
||
|
|
||
|
|
||
|
<div id="book-search-input" role="search">
|
||
|
<input type="text" placeholder="Type to search" />
|
||
|
</div>
|
||
|
|
||
|
|
||
|
<nav role="navigation">
|
||
|
|
||
|
|
||
|
|
||
|
<ul class="summary">
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<li class="header">LEARN LISP THE HARD WAY</li>
|
||
|
|
||
|
|
||
|
|
||
|
<li class="chapter " data-level="1.1" data-path="./">
|
||
|
|
||
|
<a href="index.html">
|
||
|
|
||
|
|
||
|
Second Draft (in-progress)
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="1.2" data-path="CHANGELOG.html">
|
||
|
|
||
|
<a href="CHANGELOG.html">
|
||
|
|
||
|
|
||
|
CHANGELOG
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="1.3" data-path="TODO.html">
|
||
|
|
||
|
<a href="TODO.html">
|
||
|
|
||
|
|
||
|
TODO
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<li class="header">PREFACE</li>
|
||
|
|
||
|
|
||
|
|
||
|
<li class="chapter " data-level="2.1" data-path="preface.html">
|
||
|
|
||
|
<a href="preface.html">
|
||
|
|
||
|
|
||
|
TANSTAAFL
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="2.2" data-path="preface-part-two.html">
|
||
|
|
||
|
<a href="preface-part-two.html">
|
||
|
|
||
|
|
||
|
The Hard Way is Easier
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="2.3" data-path="preface-part-three.html">
|
||
|
|
||
|
<a href="preface-part-three.html">
|
||
|
|
||
|
|
||
|
Who Is This Book For?
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="2.4" data-path="introduction.html">
|
||
|
|
||
|
<a href="introduction.html">
|
||
|
|
||
|
|
||
|
Lisp: A Future History
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="2.5" data-path="acknowledgements.html">
|
||
|
|
||
|
<a href="acknowledgements.html">
|
||
|
|
||
|
|
||
|
Acknowledgements
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<li class="header">PART ONE</li>
|
||
|
|
||
|
|
||
|
|
||
|
<li class="chapter " data-level="3.1" data-path="1-0-0-overview.html">
|
||
|
|
||
|
<a href="1-0-0-overview.html">
|
||
|
|
||
|
|
||
|
Grokking Lisp
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
<ul class="articles">
|
||
|
|
||
|
|
||
|
<li class="chapter " data-level="3.1.1" data-path="1-01-00-lisp-bootcamp.html">
|
||
|
|
||
|
<a href="1-01-00-lisp-bootcamp.html">
|
||
|
|
||
|
|
||
|
Common Lisp Bootcamp
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
<ul class="articles">
|
||
|
|
||
|
|
||
|
<li class="chapter " data-level="3.1.1.1" data-path="1-01-01-syntax-overview.html">
|
||
|
|
||
|
<a href="1-01-01-syntax-overview.html">
|
||
|
|
||
|
|
||
|
Syntax Overview in 5 Minutes
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="3.1.1.2" data-path="1-01-02-repl.html">
|
||
|
|
||
|
<a href="1-01-02-repl.html">
|
||
|
|
||
|
|
||
|
The REPL
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="3.1.1.3" data-path="1-01-03-expressions.html">
|
||
|
|
||
|
<a href="1-01-03-expressions.html">
|
||
|
|
||
|
|
||
|
Expressions, Parentheses, and Return Values
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="3.1.1.4" data-path="1-01-04-lists-cons-cells.html">
|
||
|
|
||
|
<a href="1-01-04-lists-cons-cells.html">
|
||
|
|
||
|
|
||
|
Lists, Cons-Cells, and Memory
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="3.1.1.5" data-path="1-01-05-symbols.html">
|
||
|
|
||
|
<a href="1-01-05-symbols.html">
|
||
|
|
||
|
|
||
|
Symbols and Namespaces
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="3.1.1.6" data-path="1-01-06-prefix-notation.html">
|
||
|
|
||
|
<a href="1-01-06-prefix-notation.html">
|
||
|
|
||
|
|
||
|
Prefix Notation
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="3.1.1.7" data-path="1-01-07-style-guide.html">
|
||
|
|
||
|
<a href="1-01-07-style-guide.html">
|
||
|
|
||
|
|
||
|
Common Lisp Style Guide
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="3.1.1.8" data-path="1-01-08-configuration.html">
|
||
|
|
||
|
<a href="1-01-08-configuration.html">
|
||
|
|
||
|
|
||
|
Configuring Your Development Environment
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
|
||
|
</ul>
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="3.1.2" data-path="1-02-00-input-output.html">
|
||
|
|
||
|
<a href="1-02-00-input-output.html">
|
||
|
|
||
|
|
||
|
Printing, Streams, and Strings
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
<ul class="articles">
|
||
|
|
||
|
|
||
|
<li class="chapter " data-level="3.1.2.1" data-path="1-02-01-strings.html">
|
||
|
|
||
|
<a href="1-02-01-strings.html">
|
||
|
|
||
|
|
||
|
Strings
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="3.1.2.2" data-path="1-02-02-more-strings.html">
|
||
|
|
||
|
<a href="1-02-02-more-strings.html">
|
||
|
|
||
|
|
||
|
More Strings
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="3.1.2.3" data-path="1-02-03-unicode.html">
|
||
|
|
||
|
<a href="1-02-03-unicode.html">
|
||
|
|
||
|
|
||
|
Unicode and Strings
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="3.1.2.4" data-path="1-02-04-chars.html">
|
||
|
|
||
|
<a href="1-02-04-chars.html">
|
||
|
|
||
|
|
||
|
Characters
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="3.1.2.5" data-path="1-02-05-more-chars.html">
|
||
|
|
||
|
<a href="1-02-05-more-chars.html">
|
||
|
|
||
|
|
||
|
More Characters
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="3.1.2.6" data-path="1-02-06-char-codes.html">
|
||
|
|
||
|
<a href="1-02-06-char-codes.html">
|
||
|
|
||
|
|
||
|
Character Codes
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="3.1.2.7" data-path="1-02-07-strings-from-chars.html">
|
||
|
|
||
|
<a href="1-02-07-strings-from-chars.html">
|
||
|
|
||
|
|
||
|
Strings from Chars
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="3.1.2.8" data-path="1-02-08-printing.html">
|
||
|
|
||
|
<a href="1-02-08-printing.html">
|
||
|
|
||
|
|
||
|
Printing
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="3.1.2.9" data-path="1-02-09-more-printing.html">
|
||
|
|
||
|
<a href="1-02-09-more-printing.html">
|
||
|
|
||
|
|
||
|
More Printing
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="3.1.2.10" data-path="1-02-10-prin1.html">
|
||
|
|
||
|
<a href="1-02-10-prin1.html">
|
||
|
|
||
|
|
||
|
Printing With prin1
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="3.1.2.11" data-path="1-02-11-princ.html">
|
||
|
|
||
|
<a href="1-02-11-princ.html">
|
||
|
|
||
|
|
||
|
Printing With princ
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="3.1.2.12" data-path="1-02-12-format.html">
|
||
|
|
||
|
<a href="1-02-12-format.html">
|
||
|
|
||
|
|
||
|
A Brief Introduction to Format
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="3.1.2.13" data-path="1-02-13-more-format.html">
|
||
|
|
||
|
<a href="1-02-13-more-format.html">
|
||
|
|
||
|
|
||
|
A Little Bit More on Format
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="3.1.2.14" data-path="1-02-14-pathnames.html">
|
||
|
|
||
|
<a href="1-02-14-pathnames.html">
|
||
|
|
||
|
|
||
|
Pathnames
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="3.1.2.15" data-path="1-02-15-streams.html">
|
||
|
|
||
|
<a href="1-02-15-streams.html">
|
||
|
|
||
|
|
||
|
Streams
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="3.1.2.16" data-path="1-02-16-file-streams.html">
|
||
|
|
||
|
<a href="1-02-16-file-streams.html">
|
||
|
|
||
|
|
||
|
File Streams
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="3.1.2.17" data-path="1-02-17-binary-streams.html">
|
||
|
|
||
|
<a href="1-02-17-binary-streams.html">
|
||
|
|
||
|
|
||
|
Binary Streams
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="3.1.2.18" data-path="1-02-18-prompting-users.html">
|
||
|
|
||
|
<a href="1-02-18-prompting-users.html">
|
||
|
|
||
|
|
||
|
Prompting Users
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="3.1.2.19" data-path="1-02-19-pretty-printing.html">
|
||
|
|
||
|
<a href="1-02-19-pretty-printing.html">
|
||
|
|
||
|
|
||
|
Pretty-Printing
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
|
||
|
</ul>
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="3.1.3" data-path="1-03-0-getting-input-from-users.html">
|
||
|
|
||
|
<a href="1-03-0-getting-input-from-users.html">
|
||
|
|
||
|
|
||
|
Extra Credit: Getting Input from Users
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="3.1.4" data-path="1-04-0-lists.html">
|
||
|
|
||
|
<a href="1-04-0-lists.html">
|
||
|
|
||
|
|
||
|
Lists and List-Operations
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="3.1.5" data-path="1-05-0-lookups-trees.html">
|
||
|
|
||
|
<a href="1-05-0-lookups-trees.html">
|
||
|
|
||
|
|
||
|
Extra Credit: Look-up Lists and Trees
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="3.1.6" data-path="1-06-0-math.html">
|
||
|
|
||
|
<a href="1-06-0-math.html">
|
||
|
|
||
|
|
||
|
Numbers and Math
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
<ul class="articles">
|
||
|
|
||
|
|
||
|
<li class="chapter " data-level="3.1.6.1" data-path="1-06-01-integers.html">
|
||
|
|
||
|
<a href="1-06-01-integers.html">
|
||
|
|
||
|
|
||
|
Integers
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="3.1.6.2" data-path="1-06-02-more-integers.html">
|
||
|
|
||
|
<a href="1-06-02-more-integers.html">
|
||
|
|
||
|
|
||
|
More Integers
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="3.1.6.3" data-path="1-06-03-hexadecimal-notation.html">
|
||
|
|
||
|
<a href="1-06-03-hexadecimal-notation.html">
|
||
|
|
||
|
|
||
|
Hexadecimal Integer Notation
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="3.1.6.4" data-path="1-06-04-octal-notation.html">
|
||
|
|
||
|
<a href="1-06-04-octal-notation.html">
|
||
|
|
||
|
|
||
|
Octal Integer Notation
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="3.1.6.5" data-path="1-06-05-binary-notation.html">
|
||
|
|
||
|
<a href="1-06-05-binary-notation.html">
|
||
|
|
||
|
|
||
|
Binary Integer Notation
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="3.1.6.6" data-path="1-06-06-ratios.html">
|
||
|
|
||
|
<a href="1-06-06-ratios.html">
|
||
|
|
||
|
|
||
|
Ratios and Rational Numbers
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="3.1.6.7" data-path="1-06-07-floating-point.html">
|
||
|
|
||
|
<a href="1-06-07-floating-point.html">
|
||
|
|
||
|
|
||
|
Floating-point Numbers
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="3.1.6.8" data-path="1-06-08-constants.html">
|
||
|
|
||
|
<a href="1-06-08-constants.html">
|
||
|
|
||
|
|
||
|
Numeric Constants
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="3.1.6.9" data-path="1-06-09-complex-numbers.html">
|
||
|
|
||
|
<a href="1-06-09-complex-numbers.html">
|
||
|
|
||
|
|
||
|
Complex Numbers
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="3.1.6.10" data-path="1-06-10-arithmetic.html">
|
||
|
|
||
|
<a href="1-06-10-arithmetic.html">
|
||
|
|
||
|
|
||
|
Arithmetic
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="3.1.6.11" data-path="1-06-11-more-arithmetic.html">
|
||
|
|
||
|
<a href="1-06-11-more-arithmetic.html">
|
||
|
|
||
|
|
||
|
More Arithmetic
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="3.1.6.12" data-path="1-06-12-even-more-arithmetic.html">
|
||
|
|
||
|
<a href="1-06-12-even-more-arithmetic.html">
|
||
|
|
||
|
|
||
|
Even More Arithmetic
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="3.1.6.13" data-path="1-06-13-exponents.html">
|
||
|
|
||
|
<a href="1-06-13-exponents.html">
|
||
|
|
||
|
|
||
|
Exponents
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="3.1.6.14" data-path="1-06-14-logarithms.html">
|
||
|
|
||
|
<a href="1-06-14-logarithms.html">
|
||
|
|
||
|
|
||
|
Logarithms
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="3.1.6.15" data-path="1-06-15-trigonometry.html">
|
||
|
|
||
|
<a href="1-06-15-trigonometry.html">
|
||
|
|
||
|
|
||
|
Trigonometry
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="3.1.6.16" data-path="1-06-16-psuedorandom-numbers.html">
|
||
|
|
||
|
<a href="1-06-16-psuedorandom-numbers.html">
|
||
|
|
||
|
|
||
|
Pseudo-Random Numbers
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
|
||
|
</ul>
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="3.1.7" data-path="1-07-0-arrays.html">
|
||
|
|
||
|
<a href="1-07-0-arrays.html">
|
||
|
|
||
|
|
||
|
Extra Credit: Arrays and Vectors
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="3.1.8" data-path="1-08-0-variables.html">
|
||
|
|
||
|
<a href="1-08-0-variables.html">
|
||
|
|
||
|
|
||
|
Variables, Parameters, and Constants
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="3.1.9" data-path="1-09-0-closures.html">
|
||
|
|
||
|
<a href="1-09-0-closures.html">
|
||
|
|
||
|
|
||
|
Extra Credit: Closures
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="3.1.10" data-path="1-10-0-functions.html">
|
||
|
|
||
|
<a href="1-10-0-functions.html">
|
||
|
|
||
|
|
||
|
Functions and Macros
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="3.1.11" data-path="1-11-0-text-adventure.html">
|
||
|
|
||
|
<a href="1-11-0-text-adventure.html">
|
||
|
|
||
|
|
||
|
Extra Credit: A Simple Text Adventure
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="3.1.12" data-path="1-12-0-namespaces.html">
|
||
|
|
||
|
<a href="1-12-0-namespaces.html">
|
||
|
|
||
|
|
||
|
Namespaces, Symbols, Packages, and Systems
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="3.1.13" data-path="1-13-0-simple-web-app.html">
|
||
|
|
||
|
<a href="1-13-0-simple-web-app.html">
|
||
|
|
||
|
|
||
|
Extra Credit: A Simple Web Application
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="3.1.14" data-path="1-14-0-conditionals.html">
|
||
|
|
||
|
<a href="1-14-0-conditionals.html">
|
||
|
|
||
|
|
||
|
Conditionals
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="3.1.15" data-path="1-15-0-command-line-utility.html">
|
||
|
|
||
|
<a href="1-15-0-command-line-utility.html">
|
||
|
|
||
|
|
||
|
Extra Credit: Command-Line Utilities
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="3.1.16" data-path="1-16-0-map-loop.html">
|
||
|
|
||
|
<a href="1-16-0-map-loop.html">
|
||
|
|
||
|
|
||
|
Mapping and Looping
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="3.1.17" data-path="1-17-0-iterate.html">
|
||
|
|
||
|
<a href="1-17-0-iterate.html">
|
||
|
|
||
|
|
||
|
Extra Credit: Revisiting Loops with Iterate
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="3.1.18" data-path="1-18-0-format.html">
|
||
|
|
||
|
<a href="1-18-0-format.html">
|
||
|
|
||
|
|
||
|
Format Strings
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="3.1.19" data-path="1-19-0-dsl.html">
|
||
|
|
||
|
<a href="1-19-0-dsl.html">
|
||
|
|
||
|
|
||
|
Extra Credit: Domain Specific Languages
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="3.1.20" data-path="1-20-0-review.html">
|
||
|
|
||
|
<a href="1-20-0-review.html">
|
||
|
|
||
|
|
||
|
Part One in Review
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
|
||
|
</ul>
|
||
|
|
||
|
</li>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<li class="header">PART TWO</li>
|
||
|
|
||
|
|
||
|
|
||
|
<li class="chapter " data-level="4.1" data-path="2-0-0-overview.html">
|
||
|
|
||
|
<a href="2-0-0-overview.html">
|
||
|
|
||
|
|
||
|
The Suffusion of Blue
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
<ul class="articles">
|
||
|
|
||
|
|
||
|
<li class="chapter " data-level="4.1.1" data-path="2-01-0-programming-paradigms.html">
|
||
|
|
||
|
<a href="2-01-0-programming-paradigms.html">
|
||
|
|
||
|
|
||
|
Programming Paradigms
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="4.1.2" data-path="2-02-0-regex.html">
|
||
|
|
||
|
<a href="2-02-0-regex.html">
|
||
|
|
||
|
|
||
|
Extra Credit: Regular Expressions
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="4.1.3" data-path="2-03-0-objects-control.html">
|
||
|
|
||
|
<a href="2-03-0-objects-control.html">
|
||
|
|
||
|
|
||
|
Objects and Control Structures
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="4.1.4" data-path="2-04-0-data-persistence.html">
|
||
|
|
||
|
<a href="2-04-0-data-persistence.html">
|
||
|
|
||
|
|
||
|
Extra Credit: Persistence and Databases
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="4.1.5" data-path="2-05-0-extended-types.html">
|
||
|
|
||
|
<a href="2-05-0-extended-types.html">
|
||
|
|
||
|
|
||
|
Extended Types
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="4.1.6" data-path="2-06-0-threads-memos-parallel.html">
|
||
|
|
||
|
<a href="2-06-0-threads-memos-parallel.html">
|
||
|
|
||
|
|
||
|
Extra Credit: Concurrency and Memoization
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="4.1.7" data-path="2-07-0-logic-and-more-math.html">
|
||
|
|
||
|
<a href="2-07-0-logic-and-more-math.html">
|
||
|
|
||
|
|
||
|
Logic and Advanced Math
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="4.1.8" data-path="2-08-0-number-theory.html">
|
||
|
|
||
|
<a href="2-08-0-number-theory.html">
|
||
|
|
||
|
|
||
|
Extra Credit: Number Theory
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="4.1.9" data-path="2-09-0-binary-octets-bits.html">
|
||
|
|
||
|
<a href="2-09-0-binary-octets-bits.html">
|
||
|
|
||
|
|
||
|
Binary Streams, Octet-Vectors, and Bit-Vectors
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="4.1.10" data-path="2-10-0-improved-text-adventure-engine.html">
|
||
|
|
||
|
<a href="2-10-0-improved-text-adventure-engine.html">
|
||
|
|
||
|
|
||
|
Extra Credit: An Improved Text Adventure Engine
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="4.1.11" data-path="2-11-0-conditions.html">
|
||
|
|
||
|
<a href="2-11-0-conditions.html">
|
||
|
|
||
|
|
||
|
Conditions and Error Handling
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="4.1.12" data-path="2-12-0-2d-game.html">
|
||
|
|
||
|
<a href="2-12-0-2d-game.html">
|
||
|
|
||
|
|
||
|
Extra Credit: Write a 2D Game
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="4.1.13" data-path="2-13-0-compiler.html">
|
||
|
|
||
|
<a href="2-13-0-compiler.html">
|
||
|
|
||
|
|
||
|
The Compiler
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="4.1.14" data-path="2-14-0-tree-shaker.html">
|
||
|
|
||
|
<a href="2-14-0-tree-shaker.html">
|
||
|
|
||
|
|
||
|
Extra Credit: Write a Tree-Shaker
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="4.1.15" data-path="2-15-0-docs-and-inspection.html">
|
||
|
|
||
|
<a href="2-15-0-docs-and-inspection.html">
|
||
|
|
||
|
|
||
|
Documentation and Inspection
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="4.1.16" data-path="2-16-0-foreign-libs.html">
|
||
|
|
||
|
<a href="2-16-0-foreign-libs.html">
|
||
|
|
||
|
|
||
|
Extra Credit: Foreign Libraries in Lisp
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="4.1.17" data-path="2-17-0-debugging-testing.html">
|
||
|
|
||
|
<a href="2-17-0-debugging-testing.html">
|
||
|
|
||
|
|
||
|
Debugging and Unit Testing
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="4.1.18" data-path="2-18-0-ffi.html">
|
||
|
|
||
|
<a href="2-18-0-ffi.html">
|
||
|
|
||
|
|
||
|
Extra Credit: Write a Foreign Function Interface
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="4.1.19" data-path="2-19-0-essential-libs.html">
|
||
|
|
||
|
<a href="2-19-0-essential-libs.html">
|
||
|
|
||
|
|
||
|
Essential Lisp Libraries
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="4.1.20" data-path="2-20-0-packaging-libs.html">
|
||
|
|
||
|
<a href="2-20-0-packaging-libs.html">
|
||
|
|
||
|
|
||
|
Extra Credit: Packaging Lisp Libraries
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="4.1.21" data-path="2-21-0-review.html">
|
||
|
|
||
|
<a href="2-21-0-review.html">
|
||
|
|
||
|
|
||
|
Detailed Syntax Review
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
|
||
|
</ul>
|
||
|
|
||
|
</li>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<li class="header">PART THREE</li>
|
||
|
|
||
|
|
||
|
|
||
|
<li class="chapter " data-level="5.1" data-path="3-00-00-overview.html">
|
||
|
|
||
|
<a href="3-00-00-overview.html">
|
||
|
|
||
|
|
||
|
Lisp So(u)rcery
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
<ul class="articles">
|
||
|
|
||
|
|
||
|
<li class="chapter " data-level="5.1.1" data-path="3-01-00-web-apps.html">
|
||
|
|
||
|
<a href="3-01-00-web-apps.html">
|
||
|
|
||
|
|
||
|
Real-world Web Apps
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="5.1.2" data-path="3-02-00-typesetting.html">
|
||
|
|
||
|
<a href="3-02-00-typesetting.html">
|
||
|
|
||
|
|
||
|
Typesetting
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="5.1.3" data-path="3-03-00-mobile.html">
|
||
|
|
||
|
<a href="3-03-00-mobile.html">
|
||
|
|
||
|
|
||
|
Native Mobile Applications
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="5.1.4" data-path="3-04-00-gui.html">
|
||
|
|
||
|
<a href="3-04-00-gui.html">
|
||
|
|
||
|
|
||
|
Cross-platform Desktop Applications
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="5.1.5" data-path="3-05-00-system-utils.html">
|
||
|
|
||
|
<a href="3-05-00-system-utils.html">
|
||
|
|
||
|
|
||
|
Drivers, Daemons, and System-Utilities
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="5.1.6" data-path="3-06-00-reverse-engineering.html">
|
||
|
|
||
|
<a href="3-06-00-reverse-engineering.html">
|
||
|
|
||
|
|
||
|
Reverse Engineering
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter active" data-level="5.1.7" data-path="3-07-00-graphics.html">
|
||
|
|
||
|
<a href="3-07-00-graphics.html">
|
||
|
|
||
|
|
||
|
Graphics Rendering
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="5.1.8" data-path="3-08-00-gaming.html">
|
||
|
|
||
|
<a href="3-08-00-gaming.html">
|
||
|
|
||
|
|
||
|
OpenGL, SDL, and 3D Game Development
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="5.1.9" data-path="3-09-00-audio.html">
|
||
|
|
||
|
<a href="3-09-00-audio.html">
|
||
|
|
||
|
|
||
|
Audio Generation and Manipulation
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="5.1.10" data-path="3-10-00-data.html">
|
||
|
|
||
|
<a href="3-10-00-data.html">
|
||
|
|
||
|
|
||
|
Data Aggregation and Analysis
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="5.1.11" data-path="3-11-00-cryptosec.html">
|
||
|
|
||
|
<a href="3-11-00-cryptosec.html">
|
||
|
|
||
|
|
||
|
Cryptography and Security
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="5.1.12" data-path="3-12-00-fintech.html">
|
||
|
|
||
|
<a href="3-12-00-fintech.html">
|
||
|
|
||
|
|
||
|
Financial Software and Crypto-Currencies
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="5.1.13" data-path="3-13-00-scientific-computing.html">
|
||
|
|
||
|
<a href="3-13-00-scientific-computing.html">
|
||
|
|
||
|
|
||
|
Scientific Computing
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="5.1.14" data-path="3-14-00-computational-physics.html">
|
||
|
|
||
|
<a href="3-14-00-computational-physics.html">
|
||
|
|
||
|
|
||
|
Computational Physics
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="5.1.15" data-path="3-15-00-quantum-computing.html">
|
||
|
|
||
|
<a href="3-15-00-quantum-computing.html">
|
||
|
|
||
|
|
||
|
Quantum Computing
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="5.1.16" data-path="3-16-00-nlp.html">
|
||
|
|
||
|
<a href="3-16-00-nlp.html">
|
||
|
|
||
|
|
||
|
Natural Language Processing
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="5.1.17" data-path="3-17-00-ai.html">
|
||
|
|
||
|
<a href="3-17-00-ai.html">
|
||
|
|
||
|
|
||
|
Artificial Intelligence
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="5.1.18" data-path="3-18-00-robotics.html">
|
||
|
|
||
|
<a href="3-18-00-robotics.html">
|
||
|
|
||
|
|
||
|
Robotics
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="5.1.19" data-path="3-19-00-space-tech.html">
|
||
|
|
||
|
<a href="3-19-00-space-tech.html">
|
||
|
|
||
|
|
||
|
Space Tech
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="5.1.20" data-path="3-20-00-neurotech.html">
|
||
|
|
||
|
<a href="3-20-00-neurotech.html">
|
||
|
|
||
|
|
||
|
Neuroscience and Thought-Controlled Computing
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="5.1.21" data-path="3-21-00-lispos.html">
|
||
|
|
||
|
<a href="3-21-00-lispos.html">
|
||
|
|
||
|
|
||
|
A Simple LispOS
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="5.1.22" data-path="3-22-00-lisp-machine.html">
|
||
|
|
||
|
<a href="3-22-00-lisp-machine.html">
|
||
|
|
||
|
|
||
|
Build Your Own Lisp Machine
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li class="chapter " data-level="5.1.23" data-path="3-23-00-gov-mil.html">
|
||
|
|
||
|
<a href="3-23-00-gov-mil.html">
|
||
|
|
||
|
|
||
|
Government and Military Grade Systems
|
||
|
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</li>
|
||
|
|
||
|
|
||
|
</ul>
|
||
|
|
||
|
</li>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<li class="divider"></li>
|
||
|
|
||
|
<li>
|
||
|
<a href="https://www.gitbook.com" target="blank" class="gitbook-link">
|
||
|
Published with GitBook
|
||
|
</a>
|
||
|
</li>
|
||
|
</ul>
|
||
|
|
||
|
|
||
|
</nav>
|
||
|
|
||
|
|
||
|
</div>
|
||
|
|
||
|
<div class="book-body">
|
||
|
|
||
|
<div class="body-inner">
|
||
|
|
||
|
|
||
|
|
||
|
<div class="book-header" role="navigation">
|
||
|
|
||
|
|
||
|
<!-- Title -->
|
||
|
<h1>
|
||
|
<i class="fa fa-circle-o-notch fa-spin"></i>
|
||
|
<a href="index.html" >Graphics Rendering</a>
|
||
|
</h1>
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<div class="page-wrapper" tabindex="-1" role="main">
|
||
|
<div class="page-inner">
|
||
|
|
||
|
<div id="book-search-results">
|
||
|
<div class="search-noresults">
|
||
|
|
||
|
<section class="normal markdown-section">
|
||
|
|
||
|
<h1 id="chapter-37">Chapter 3.7</h1>
|
||
|
<h2 id="graphics-rendering">Graphics Rendering</h2>
|
||
|
<blockquote>
|
||
|
<p>"If you happen to be one of the fretful minority who can do creative work, never force an idea... Be patient and you'll give birth to it when the time is ripe. Learn to wait."</p>
|
||
|
<footer>Robert A. Heinlein, <em>Time Enough for Love</em></footer>
|
||
|
|
||
|
</blockquote>
|
||
|
<p>Graphics rendering and generation is a fairly popular topic in Lisp, and as such there are a number of libraries already available to assist the developer, from vector art to procedurally generated 3D worlds. Naturally, there are also libraries available for manipulating bitmap image formats, and converting between vector and bitmap images, so that you can process your images in a number of ways, such as with photo filters.</p>
|
||
|
<p>A natural extension to this topic is the visualization of data---you could simply plot your data on a graph, but sometimes you want something more dynamic and engaging. Lisp is a very useful ally in this task.</p>
|
||
|
<p>In this chapter we will explore various methods for generating both vector and bitmap image files; plotting complex data; and creating a simple paint application with a GUI.</p>
|
||
|
<h3 id="exercise-371">Exercise 3.7.1</h3>
|
||
|
<p><strong>Vector Graphics with VECTO</strong></p>
|
||
|
<pre><code class="lang-lisp">
|
||
|
|
||
|
</code></pre>
|
||
|
<h3 id="exercise-372">Exercise 3.7.2</h3>
|
||
|
<p><strong>More VECTO</strong></p>
|
||
|
<pre><code class="lang-lisp">
|
||
|
|
||
|
</code></pre>
|
||
|
<h3 id="exercise-373">Exercise 3.7.3</h3>
|
||
|
<p><strong>Even More VECTO</strong></p>
|
||
|
<pre><code class="lang-lisp">
|
||
|
|
||
|
</code></pre>
|
||
|
<h3 id="exercise-374">Exercise 3.7.4</h3>
|
||
|
<p><strong>Raster Graphics with CL-PNG</strong></p>
|
||
|
<pre><code class="lang-lisp">
|
||
|
|
||
|
</code></pre>
|
||
|
<h3 id="exercise-375">Exercise 3.7.5</h3>
|
||
|
<p><strong>More CL-PNG</strong></p>
|
||
|
<pre><code class="lang-lisp">
|
||
|
|
||
|
</code></pre>
|
||
|
<h3 id="exercise-376">Exercise 3.7.6</h3>
|
||
|
<p><strong>Even More CL-PNG</strong></p>
|
||
|
<pre><code class="lang-lisp">
|
||
|
|
||
|
</code></pre>
|
||
|
<h3 id="exercise-377">Exercise 3.7.7</h3>
|
||
|
<p><strong>Plotting Data with VECTO</strong></p>
|
||
|
<pre><code class="lang-lisp">
|
||
|
|
||
|
</code></pre>
|
||
|
<h3 id="exercise-378">Exercise 3.7.8</h3>
|
||
|
<p><strong>Plotting Data with CL-PLplot</strong></p>
|
||
|
<pre><code class="lang-lisp">
|
||
|
|
||
|
</code></pre>
|
||
|
<h3 id="exercise-379">Exercise 3.7.9</h3>
|
||
|
<p><strong>Plotting Data for the Web</strong></p>
|
||
|
<pre><code class="lang-lisp">
|
||
|
|
||
|
</code></pre>
|
||
|
<h3 id="project-3710">Project 3.7.10</h3>
|
||
|
<p><strong>A Web-Based Data Plotting Service</strong></p>
|
||
|
<pre><code class="lang-lisp">
|
||
|
|
||
|
</code></pre>
|
||
|
<h3 id="project-3711">Project 3.7.11</h3>
|
||
|
<p><strong>A Simple Paint Application with VECTO and Qtools</strong></p>
|
||
|
<pre><code class="lang-lisp">
|
||
|
|
||
|
</code></pre>
|
||
|
|
||
|
|
||
|
</section>
|
||
|
|
||
|
</div>
|
||
|
<div class="search-results">
|
||
|
<div class="has-results">
|
||
|
|
||
|
<h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
|
||
|
<ul class="search-results-list"></ul>
|
||
|
|
||
|
</div>
|
||
|
<div class="no-results">
|
||
|
|
||
|
<h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
|
||
|
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
|
||
|
</div>
|
||
|
</div>
|
||
|
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
<a href="3-06-00-reverse-engineering.html" class="navigation navigation-prev " aria-label="Previous page: Reverse Engineering">
|
||
|
<i class="fa fa-angle-left"></i>
|
||
|
</a>
|
||
|
|
||
|
|
||
|
<a href="3-08-00-gaming.html" class="navigation navigation-next " aria-label="Next page: OpenGL, SDL, and 3D Game Development">
|
||
|
<i class="fa fa-angle-right"></i>
|
||
|
</a>
|
||
|
|
||
|
|
||
|
|
||
|
</div>
|
||
|
|
||
|
<script>
|
||
|
var gitbook = gitbook || [];
|
||
|
gitbook.push(function() {
|
||
|
gitbook.page.hasChanged({"page":{"title":"Graphics Rendering","level":"5.1.7","depth":2,"next":{"title":"OpenGL, SDL, and 3D Game Development","level":"5.1.8","depth":2,"path":"3-08-00-gaming.md","ref":"./3-08-00-gaming.md","articles":[]},"previous":{"title":"Reverse Engineering","level":"5.1.6","depth":2,"path":"3-06-00-reverse-engineering.md","ref":"./3-06-00-reverse-engineering.md","articles":[]},"dir":"ltr"},"config":{"plugins":["hints","folding-chapters"],"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"hints":{"danger":"fa fa-exclamation-circle","info":"fa fa-info-circle","tip":"fa fa-mortar-board","working":"fa fa-wrench"},"folding-chapters":{},"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"theme":"default","author":"\"the Phoeron\" Colin J.E. Lupton","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"index.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"Learn Lisp The Hard Way","gitbook":"*"},"file":{"path":"3-07-00-graphics.md","mtime":"2022-08-23T00:01:55.636Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2022-08-24T16:15:01.957Z"},"basePath":".","book":{"language":""}});
|
||
|
});
|
||
|
</script>
|
||
|
</div>
|
||
|
|
||
|
|
||
|
<script src="gitbook/gitbook.js"></script>
|
||
|
<script src="gitbook/theme.js"></script>
|
||
|
|
||
|
|
||
|
<script src="gitbook/gitbook-plugin-folding-chapters/folding-chapters.js"></script>
|
||
|
|
||
|
|
||
|
|
||
|
<script src="gitbook/gitbook-plugin-search/search-engine.js"></script>
|
||
|
|
||
|
|
||
|
|
||
|
<script src="gitbook/gitbook-plugin-search/search.js"></script>
|
||
|
|
||
|
|
||
|
|
||
|
<script src="gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
|
||
|
|
||
|
|
||
|
|
||
|
<script src="gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
|
||
|
|
||
|
|
||
|
|
||
|
<script src="gitbook/gitbook-plugin-sharing/buttons.js"></script>
|
||
|
|
||
|
|
||
|
|
||
|
<script src="gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
|
||
|
|
||
|
|
||
|
|
||
|
</body>
|
||
|
</html>
|
||
|
|