<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress.com" -->
<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd"><url><loc>https://fgiesen.wordpress.com/2022/11/08/whats-that-magic-computation-in-stb__refineblock/</loc><lastmod>2022-11-08T23:09:51+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2022/10/06/on-alphatensors-new-matrix-multiplication-algorithms/</loc><lastmod>2022-10-07T04:27:52+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2022/09/09/morton-codes-addendum/</loc><lastmod>2022-09-10T17:24:56+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2022/09/05/entropy-decoding-in-oodle-data-x86-64-3-stream-huffman-decoders/</loc><lastmod>2022-09-24T16:11:28+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2012/08/24/quaternion-differentiation/</loc><lastmod>2022-08-03T20:42:26+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2022/04/04/entropy-decoding-in-oodle-data-huffman-decoding-on-the-jaguar/</loc><lastmod>2022-04-25T00:49:23+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2021/10/04/gpu-bcn-decoding/</loc><lastmod>2021-10-07T01:37:41+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2021/08/30/entropy-coding-in-oodle-data-huffman-coding/</loc><lastmod>2022-03-16T19:34:36+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2021/07/09/entropy-coding-in-oodle-data-the-big-picture/</loc><lastmod>2021-07-11T01:50:27+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2019/07/20/frequency-responses-of-half-pel-filters/</loc><image:image><image:loc>https://fgiesen.files.wordpress.com/2019/04/mag_muratori8.png</image:loc><image:title>Magnitude response of Muratori8 filter</image:title></image:image><image:image><image:loc>https://fgiesen.files.wordpress.com/2019/04/mag_lagrange8.png</image:loc><image:title>Magnitude response of 8-tap Lagrange filter</image:title></image:image><image:image><image:loc>https://fgiesen.files.wordpress.com/2019/04/mag_lanczos8.png</image:loc><image:title>Magnitude response of Lanczos 8-tap</image:title></image:image><image:image><image:loc>https://fgiesen.files.wordpress.com/2019/04/mag_hevc.png</image:loc><image:title>Magnitude response of HEVC filter</image:title></image:image><image:image><image:loc>https://fgiesen.files.wordpress.com/2019/04/mag_lagrange6.png</image:loc><image:title>Magnitude response of 6-tap Lagrange interpolator</image:title></image:image><image:image><image:loc>https://fgiesen.files.wordpress.com/2019/04/mag_muratori6.png</image:loc><image:title>Magnitude response of Muratori6 filter</image:title></image:image><image:image><image:loc>https://fgiesen.files.wordpress.com/2019/04/mag_lanczos6.png</image:loc><image:title>Magnitude response of 6-tap Lancozs filter</image:title></image:image><image:image><image:loc>https://fgiesen.files.wordpress.com/2019/04/mag_muratori6_32.png</image:loc><image:title>Magnitude response of quantized Muratori6</image:title></image:image><image:image><image:loc>https://fgiesen.files.wordpress.com/2019/04/mag_h.264.png</image:loc><image:title>Magnitude response of H.264 filter</image:title></image:image><image:image><image:loc>https://fgiesen.files.wordpress.com/2019/04/mag_linear.png</image:loc><image:title>Magnitude response of linear filter</image:title></image:image><lastmod>2019-07-20T23:59:48+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2019/04/08/what-happens-when-iterating-filters/</loc><lastmod>2019-04-09T00:51:24+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2019/02/11/cache-tables/</loc><lastmod>2020-08-17T08:43:15+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2019/02/09/rotating-a-single-vector-using-a-quaternion/</loc><lastmod>2020-11-20T16:20:32+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2018/12/10/rate-distortion-optimization/</loc><image:image><image:loc>https://fgiesen.files.wordpress.com/2018/12/rdo_scatter2.png</image:loc><image:title>Rate vs. Distortion scatterplot with lines</image:title></image:image><image:image><image:loc>https://fgiesen.files.wordpress.com/2018/12/rdo_scatter.png</image:loc><image:title>Rate vs. Distortion scatterplot</image:title></image:image><lastmod>2018-12-10T18:25:28+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2018/09/27/reading-bits-in-far-too-many-ways-part-3/</loc><image:image><image:loc>https://fgiesen.files.wordpress.com/2018/09/bitread_var5_lsb-gv.png</image:loc><image:title>Dependency graph for bit reading, variant 5</image:title></image:image><image:image><image:loc>https://fgiesen.files.wordpress.com/2018/09/streams2.png</image:loc><image:title>Three sub-streams with forward/backward pair</image:title></image:image><image:image><image:loc>https://fgiesen.files.wordpress.com/2018/09/streams.png</image:loc><image:title>Three sub-streams, linear layout</image:title></image:image><image:image><image:loc>https://fgiesen.files.wordpress.com/2018/09/bitread_var4_lsb-gv.png</image:loc><image:title>Dependency graph for bit reading, variant 4</image:title></image:image><image:image><image:loc>https://fgiesen.files.wordpress.com/2018/09/bitread_var3_lsb-gv.png</image:loc><image:title>Dependency graph for bit reading, variant 3</image:title></image:image><lastmod>2018-09-27T11:50:42+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2018/03/05/a-whirlwind-introduction-to-dataflow-graphs/</loc><image:image><image:loc>https://fgiesen.files.wordpress.com/2018/03/unroll2x_array_sum2-gv.png</image:loc><image:title>Dataflow graph for unrolled array sum, second attempt</image:title></image:image><image:image><image:loc>https://fgiesen.files.wordpress.com/2018/03/unroll2x_array_sum1-gv.png</image:loc><image:title>Dataflow graph for unrolled array sum, first attempt</image:title></image:image><image:image><image:loc>https://fgiesen.files.wordpress.com/2018/03/array_indir_sum-gv.png</image:loc><image:title>Dataflow graph for indirect array sum</image:title></image:image><image:image><image:loc>https://fgiesen.files.wordpress.com/2018/03/linked_list_sum-gv.png</image:loc><image:title>Dataflow graph for linked list sum</image:title></image:image><image:image><image:loc>https://fgiesen.files.wordpress.com/2018/03/array_sum-gv1.png</image:loc><image:title>Dataflow graph for basic array sum</image:title></image:image><lastmod>2018-03-09T10:47:51+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2018/02/20/reading-bits-in-far-too-many-ways-part-2/</loc><lastmod>2018-02-22T11:56:07+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2018/02/19/reading-bits-in-far-too-many-ways-part-1/</loc><image:image><image:loc>https://fgiesen.files.wordpress.com/2018/02/msbfirst_multi.png</image:loc><image:title>MSB-first bit packing across multi bytes</image:title></image:image><image:image><image:loc>https://fgiesen.files.wordpress.com/2018/02/lsbfirst_multi_reverse.png</image:loc><image:title>LSB-first bitpacking across multiple bytes, reverse byte order</image:title></image:image><image:image><image:loc>https://fgiesen.files.wordpress.com/2018/02/lsbfirst_multi_renum.png</image:loc><image:title>LSB-first bitpacking across multiple bytes, LSB-&gt;MSB from left to right</image:title></image:image><image:image><image:loc>https://fgiesen.files.wordpress.com/2018/02/lsbfirst_multi.png</image:loc><image:title>LSB-first bitpacking across multiple bytes</image:title></image:image><image:image><image:loc>https://fgiesen.files.wordpress.com/2018/02/msbfirst.png</image:loc><image:title>MSB-first bit packing</image:title></image:image><image:image><image:loc>https://fgiesen.files.wordpress.com/2018/02/lsbfirst.png</image:loc><image:title>LSB-first bit packing</image:title></image:image><lastmod>2018-02-20T17:25:09+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/about/</loc><lastmod>2021-11-29T15:38:14+00:00</lastmod><changefreq>weekly</changefreq><priority>0.6</priority></url><url><loc>https://fgiesen.wordpress.com/2018/01/20/network-latencies-and-speed-of-light/</loc><lastmod>2019-02-20T22:13:14+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2017/12/21/papers-i-like-part-7/</loc><lastmod>2018-11-23T23:19:19+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2017/11/20/papers-i-like-part-6/</loc><lastmod>2017-11-22T03:03:32+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2017/09/02/papers-i-like-part-5/</loc><lastmod>2017-09-12T20:10:24+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2017/08/28/papers-i-like-part-4/</loc><lastmod>2017-08-31T14:04:16+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2017/08/27/papers-i-like-part-3/</loc><image:image><image:loc>https://fgiesen.files.wordpress.com/2017/08/intervals3.png</image:loc><image:title>n intervals in a problematic configuration</image:title></image:image><image:image><image:loc>https://fgiesen.files.wordpress.com/2017/08/intervals2.png</image:loc><image:title>1D intervals, sliced</image:title></image:image><image:image><image:loc>https://fgiesen.files.wordpress.com/2017/08/intervals1.png</image:loc><image:title>A few 1D intervals</image:title></image:image><lastmod>2017-08-27T11:53:22+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2017/08/14/papers-i-like-part-2/</loc><lastmod>2017-08-26T22:46:11+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2017/08/12/papers-i-like-part-1/</loc><lastmod>2019-05-26T20:38:36+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2012/03/28/half-to-float-done-quic/</loc><lastmod>2017-04-25T00:02:00+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2017/04/11/memory-bandwidth/</loc><lastmod>2017-05-02T23:43:26+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2013/02/06/the-barycentric-conspirac/</loc><image:image><image:loc>https://fgiesen.files.wordpress.com/2013/02/tri_p_outside.png</image:loc><image:title>Triangle with p outside</image:title></image:image><image:image><image:loc>https://fgiesen.files.wordpress.com/2013/02/tri_p_inside.png</image:loc><image:title>Triangle with p inside</image:title></image:image><image:image><image:loc>https://fgiesen.files.wordpress.com/2013/02/tri_area1.png</image:loc><image:title>Parallelogram for our triangle</image:title></image:image><image:image><image:loc>https://fgiesen.files.wordpress.com/2013/02/three_half_spaces.png</image:loc><image:title>Three half-spaces at once</image:title></image:image><image:image><image:loc>https://fgiesen.files.wordpress.com/2013/02/one_half_space1.png</image:loc><image:title>Positive half-space of v0v1</image:title></image:image><image:image><image:loc>https://fgiesen.files.wordpress.com/2013/02/tri1.png</image:loc><image:title>A triangle.</image:title></image:image><lastmod>2021-10-04T00:34:47+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2012/07/30/fast-blurs-1/</loc><lastmod>2017-02-05T09:09:31+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2016/10/26/rounding-up-to-the-nearest-int-k-mod-n/</loc><lastmod>2016-10-26T10:51:13+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2016/08/25/how-many-x86-instructions-are-there/</loc><lastmod>2016-11-06T19:05:31+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2011/07/10/a-trip-through-the-graphics-pipeline-2011-part-8/</loc><image:image><image:loc>https://fgiesen.files.wordpress.com/2011/07/msaa_samples.png</image:loc><image:title>MSAA sample problem</image:title></image:image><image:image><image:loc>https://fgiesen.files.wordpress.com/2011/07/quad_coverage.png</image:loc><image:title>Quad coverage of a small triangle</image:title></image:image><lastmod>2016-08-12T00:16:40+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2016/08/07/why-do-cpus-have-multiple-cache-levels/</loc><lastmod>2021-01-20T10:51:10+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2011/07/08/a-trip-through-the-graphics-pipeline-2011-part-7/</loc><lastmod>2020-09-02T00:28:20+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2011/07/02/a-trip-through-the-graphics-pipeline-2011-part-2/</loc><lastmod>2016-07-27T19:33:28+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2014/07/07/cache-coherency/</loc><lastmod>2021-10-12T10:14:07+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2016/04/03/sse-mind-the-gap/</loc><lastmod>2023-01-21T07:22:15+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2011/08/14/a-trip-through-the-graphics-pipeline-2011-part-11/</loc><lastmod>2016-04-15T23:23:36+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2016/03/07/repeated-match-offsets-in-bitknit/</loc><lastmod>2016-11-03T23:49:03+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2016/01/30/thoughts-on-the-witness/</loc><lastmod>2018-02-01T19:54:41+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2016/02/05/smart/</loc><lastmod>2017-06-27T19:16:58+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2016/01/02/end-of-buffer-checks-in-decompressors/</loc><lastmod>2016-01-03T07:48:27+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2015/12/21/rans-in-practice/</loc><lastmod>2019-10-21T16:17:20+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2015/05/26/models-for-adaptive-arithmetic-coding/</loc><lastmod>2016-02-25T22:30:26+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2015/10/25/reading-and-writing-are-less-symmetric-than-you-probably-think/</loc><lastmod>2016-01-03T08:09:46+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2015/09/24/intervals-in-modular-arithmetic/</loc><image:image><image:loc>https://fgiesen.files.wordpress.com/2015/09/circle.png</image:loc><image:title>Interval [14,1] on a circle</image:title></image:image><image:image><image:loc>https://fgiesen.files.wordpress.com/2015/09/line1.png</image:loc><image:title>Interval [14,1] on the number line</image:title></image:image><lastmod>2017-06-15T17:38:37+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2015/07/22/the-modulith/</loc><image:image><image:loc>https://fgiesen.files.wordpress.com/2015/07/stone_wall.jpg</image:loc><image:title>Stone wall</image:title><image:caption>"Dry stone wall, Island of Mull". Photo by Jan Smith, CC-BY 2.0</image:caption></image:image><lastmod>2015-07-23T10:03:43+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2015/02/20/mixing-discrete-probability-distributions/</loc><lastmod>2015-02-27T17:46:37+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2015/02/22/triangular-numbers-mod-2n/</loc><lastmod>2015-05-30T22:00:57+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2015/02/05/a-small-note-on-simd-matrix-vector-multiplication/</loc><lastmod>2015-08-23T15:39:06+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2014/12/09/from-the-archives-alias-huffman-coding/</loc><lastmod>2014-12-09T09:39:31+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2014/12/08/binary-alias-coding/</loc><lastmod>2015-01-07T20:54:28+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2014/10/25/little-endian-vs-big-endian/</loc><lastmod>2015-11-18T16:08:30+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2014/08/18/atomics-and-contention/</loc><lastmod>2014-08-18T08:58:16+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2014/06/01/bindless-chain-letter/</loc><lastmod>2014-06-02T02:18:34+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2014/05/05/fseans-history-correction/</loc><lastmod>2014-06-03T17:15:05+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2014/02/18/rans-with-static-probability-distributions/</loc><lastmod>2019-09-22T18:35:23+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2014/03/25/networks-all-the-way-down-part-2/</loc><lastmod>2014-04-12T13:34:07+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2014/03/23/networks-all-the-way-down/</loc><lastmod>2014-08-29T06:42:17+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2014/02/02/rans-notes/</loc><lastmod>2014-08-25T09:20:23+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2011/01/17/texture-tiling-and-swizzling/</loc><lastmod>2017-04-19T10:04:20+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2013/12/17/index-compression-follow-up/</loc><lastmod>2013-12-17T09:50:13+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2013/12/14/simple-lossless-index-buffer-compression/</loc><image:image><image:loc>https://fgiesen.files.wordpress.com/2013/12/two_tri.png</image:loc><image:title>Two triangles</image:title><image:caption>Two triangle sharing edge AB.</image:caption></image:image><lastmod>2015-05-19T20:06:57+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2013/12/07/symmetry/</loc><lastmod>2013-12-08T00:48:04+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2013/11/10/bink-2-2-integer-dct-design-part-2/</loc><lastmod>2013-11-11T05:57:25+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2013/11/04/bink-2-2-integer-dct-design-part-1/</loc><image:image><image:loc>https://fgiesen.files.wordpress.com/2013/11/plonka_dct_rots.png</image:loc><image:title>DCT rotations</image:title></image:image><lastmod>2016-10-03T07:24:43+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2013/10/18/bit-scanning-equivalencies/</loc><lastmod>2021-07-08T04:28:35+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2013/10/17/tales-of-suspense-adventure-and-data-structure-manipulation/</loc><lastmod>2013-10-18T03:37:12+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2013/06/11/its-just-a-game/</loc><lastmod>2013-10-17T06:41:08+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2013/09/25/native-debugging-on-android/</loc><lastmod>2017-08-29T17:26:45+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2013/09/25/texture-uploads-on-android/</loc><lastmod>2014-06-21T11:19:31+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2013/08/29/simd-transposes-2/</loc><lastmod>2013-08-29T15:18:21+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2012/02/13/debris-opening-the-box/</loc><lastmod>2021-04-30T09:07:35+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2011/09/06/a-trip-through-the-graphics-pipeline-2011-part-12/</loc><image:image><image:loc>https://fgiesen.files.wordpress.com/2011/09/tri_tess_asym_even.png</image:loc><image:title>Triangle with asymmetric tessellation, even inner TF</image:title></image:image><image:image><image:loc>https://fgiesen.files.wordpress.com/2011/09/quad_tess_asym.png</image:loc><image:title>Asymmetrically tessellated quad</image:title></image:image><image:image><image:loc>https://fgiesen.files.wordpress.com/2011/09/tri_tess_asym.png</image:loc><image:title>Asymmetrically tessellated triangle</image:title></image:image><image:image><image:loc>https://fgiesen.files.wordpress.com/2011/09/tri_tess3.png</image:loc><image:title>Actual tessellated tri (edges=inside=3)</image:title></image:image><image:image><image:loc>https://fgiesen.files.wordpress.com/2011/09/quad_tess4x3.png</image:loc><image:title>Actual tessellated quad (4x3)</image:title></image:image><image:image><image:loc>https://fgiesen.files.wordpress.com/2011/09/tri_tess_simple1.png</image:loc><image:title>"Simple" tessellated tri (3)</image:title></image:image><image:image><image:loc>https://fgiesen.files.wordpress.com/2011/09/quad_tess_simple1.png</image:loc><image:title>"Simple" tessellated quad (4x3)</image:title></image:image><image:image><image:loc>https://fgiesen.files.wordpress.com/2011/09/quad_coords2.png</image:loc><image:title>Quad coordinate system</image:title></image:image><image:image><image:loc>https://fgiesen.files.wordpress.com/2011/09/tri_coords.png</image:loc><image:title>Triangle coordinate system</image:title></image:image><lastmod>2015-08-03T14:50:51+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2009/12/15/dxt5-alpha-block-index-determination/</loc><lastmod>2013-07-23T01:18:03+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2009/12/13/decoding-morton-codes/</loc><lastmod>2020-06-08T16:07:15+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2012/04/15/genthree-overview/</loc><lastmod>2013-07-15T03:27:32+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2011/07/05/a-trip-through-the-graphics-pipeline-2011-part-5/</loc><image:image><image:loc>https://fgiesen.files.wordpress.com/2011/07/guardband_clip.png</image:loc><image:title>Guard-band clipping</image:title><image:caption>Guard-band clipping</image:caption></image:image><lastmod>2022-04-20T07:30:25+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2010/10/25/sinc-and-polynomial-interpolation/</loc><lastmod>2013-07-14T20:09:31+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2012/06/03/linear-algebra-toolbox-1/</loc><lastmod>2017-09-28T20:52:00+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2013/07/09/simd-transposes-1/</loc><lastmod>2016-10-16T22:19:20+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2013/06/02/modified-gram-schmidt-orthogonalization/</loc><lastmod>2013-06-03T06:17:51+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2013/05/13/trig-identities-from-complex/</loc><lastmod>2018-11-25T20:49:40+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2013/02/28/reshaping-dataflows/</loc><lastmod>2013-03-13T09:25:30+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2013/03/13/extra-registers-and-3-operand-instructions/</loc><lastmod>2013-03-24T20:27:30+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2013/02/17/optimizing-sw-occlusion-culling-index/</loc><lastmod>2015-03-25T05:40:18+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2013/03/10/on-epubpdf-versions-of-my-posts-and-licensing/</loc><lastmod>2013-06-30T09:05:50+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2011/07/09/a-trip-through-the-graphics-pipeline-2011-index/</loc><lastmod>2020-04-26T22:46:56+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2013/03/10/optimizing-software-occlusion-culling-the-reckoning/</loc><image:image><image:loc>https://fgiesen.files.wordpress.com/2013/03/post_breakdown1.png</image:loc><image:title>Post breakdown</image:title></image:image><lastmod>2013-05-24T07:47:08+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2013/03/05/mopping-up/</loc><image:image><image:loc>https://fgiesen.files.wordpress.com/2013/03/hotspots_render_dyncb.png</image:loc><image:title>Render after dynamic CB fix</image:title></image:image><image:image><image:loc>https://fgiesen.files.wordpress.com/2013/03/hotspots_render.png</image:loc><image:title>Rendering hot spots</image:title></image:image><lastmod>2013-03-05T11:21:37+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2013/03/04/speculatively-speaking/</loc><image:image><image:loc>https://fgiesen.files.wordpress.com/2013/03/hotspots_binning_done.png</image:loc><image:title>Binning with branching improved</image:title></image:image><image:image><image:loc>https://fgiesen.files.wordpress.com/2013/03/hotspots_binning_mispred.png</image:loc><image:title>Binning branch mispredicts</image:title></image:image><image:image><image:loc>https://fgiesen.files.wordpress.com/2013/03/hotspots_binning_mc.png</image:loc><image:title>Binning Machine Clears</image:title></image:image><image:image><image:loc>https://fgiesen.files.wordpress.com/2013/03/hotspots_stlf_fixed.png</image:loc><image:title>Store forwarding fixed</image:title></image:image><image:image><image:loc>https://fgiesen.files.wordpress.com/2013/03/hotspots_stlf.png</image:loc><image:title>Store-to-load forwarding issues</image:title></image:image><lastmod>2017-10-20T22:51:58+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2013/02/25/the-care-and-feeding-of-worker-threads-part-2/</loc><image:image><image:loc>https://fgiesen.files.wordpress.com/2013/02/tmviz_alldone.png</image:loc><image:title>Finished worker balance</image:title></image:image><image:image><image:loc>https://fgiesen.files.wordpress.com/2013/02/tmviz_initial_cropped.png</image:loc><image:title>Initial work distribution</image:title></image:image><image:image><image:loc>https://fgiesen.files.wordpress.com/2013/02/tmviz_clear_depth.png</image:loc><image:title>Depth buffer clears</image:title></image:image><image:image><image:loc>https://fgiesen.files.wordpress.com/2013/02/tmviz_depth_tests_striped.png</image:loc><image:title>Depth tests after striping</image:title></image:image><image:image><image:loc>https://fgiesen.files.wordpress.com/2013/02/tmviz_depth_tests.png</image:loc><image:title>Imbalanced depth tests</image:title></image:image><lastmod>2013-02-26T01:51:55+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2013/02/10/optimizing-the-basic-rasterizer/</loc><lastmod>2018-07-29T00:44:31+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2013/02/17/care-and-feeding-of-worker-threads-part-1/</loc><image:image><image:loc>https://fgiesen.files.wordpress.com/2013/02/tmviz_rasterbal2.png</image:loc><image:title>Rasterizer fully balanced</image:title></image:image><image:image><image:loc>https://fgiesen.files.wordpress.com/2013/02/tmviz_initial_badbal.png</image:loc><image:title>Initial bad rasterizer balance</image:title></image:image><image:image><image:loc>https://fgiesen.files.wordpress.com/2013/02/tmvis_rasterbal1.png</image:loc><image:title>Balanced rasterization front end</image:title></image:image><image:image><image:loc>https://fgiesen.files.wordpress.com/2013/02/tmviz_raster_closeup.png</image:loc><image:title>Rasterization close-up</image:title></image:image><image:image><image:loc>https://fgiesen.files.wordpress.com/2013/02/tmviz_occluders_fixed.png</image:loc><image:title>Telemetry: Occluder culling fixed</image:title></image:image><image:image><image:loc>https://fgiesen.files.wordpress.com/2013/02/tmviz_occluders_zoomed.png</image:loc><image:title>Telemetry: occluder visibility, zoomed</image:title></image:image><image:image><image:loc>https://fgiesen.files.wordpress.com/2013/02/tmviz_initial.png</image:loc><image:title>Initial Telemetry run</image:title></image:image><lastmod>2013-03-04T16:18:12+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2013/02/16/depth-buffers-done-quick-part-2/</loc><image:image><image:loc>https://fgiesen.files.wordpress.com/2013/02/hotspots_rast2.png</image:loc><image:title>Rasterizer hotspots without early-out</image:title></image:image><image:image><image:loc>https://fgiesen.files.wordpress.com/2013/02/hotspots_rast.png</image:loc><image:title>Rasterization hot spots</image:title></image:image><lastmod>2013-02-19T20:50:44+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2013/02/11/depth-buffers-done-quick-part/</loc><image:image><image:loc>https://fgiesen.files.wordpress.com/2013/02/swizzle2x2.png</image:loc><image:title>8x8 pixels in 2x2 tiled layout</image:title><image:caption>8x8 pixels in 2x2 tiled layout</image:caption></image:image><image:image><image:loc>https://fgiesen.files.wordpress.com/2013/02/raster.png</image:loc><image:title>8x8 pixels in raster-scan order</image:title><image:caption>8x8 pixels in raster-scan order</image:caption></image:image><lastmod>2014-01-22T07:27:34+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2013/02/08/triangle-rasterization-in-practice/</loc><lastmod>2022-12-20T16:44:53+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2013/02/02/frustum-culling-turning-the-crank/</loc><image:image><image:loc>https://fgiesen.files.wordpress.com/2013/02/hotspots_packetize.png</image:loc><image:title>After changing packing scheme</image:title></image:image><image:image><image:loc>https://fgiesen.files.wordpress.com/2013/02/hotspots_frustum_dense.png</image:loc><image:title>Frustum culling, densely packed</image:title></image:image><lastmod>2013-02-17T23:54:44+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2013/02/01/fixing-cache-issues-the-lazy-way/</loc><image:image><image:loc>https://fgiesen.files.wordpress.com/2013/02/hotspots_data_density.png</image:loc><image:title>Hotspots with improved data density</image:title></image:image><image:image><image:loc>https://fgiesen.files.wordpress.com/2013/02/hotspots_bbox_inline.png</image:loc><image:title>Hotspots after inlining bounding box data</image:title></image:image><image:image><image:loc>https://fgiesen.files.wordpress.com/2013/02/cycles_load.png</image:loc><image:title>The code in question</image:title></image:image><lastmod>2015-03-30T08:18:48+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2013/01/31/cores-dont-like-to-share/</loc><image:image><image:loc>https://fgiesen.files.wordpress.com/2013/01/hotspots_isinside_slower.png</image:loc><image:title>And the bottleneck has moved</image:title></image:image><image:image><image:loc>https://fgiesen.files.wordpress.com/2013/01/hotspots_frustum_fixed.png</image:loc><image:title>Frustum culling, conflict-free</image:title></image:image><image:image><image:loc>https://fgiesen.files.wordpress.com/2013/01/hotspots_frustum.png</image:loc><image:title>Another profiling run</image:title></image:image><lastmod>2013-02-17T23:54:36+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2013/01/30/a-string-processing-rant/</loc><image:image><image:loc>https://fgiesen.files.wordpress.com/2013/01/hotspots_locale.png</image:loc><image:title>The final surprise</image:title></image:image><image:image><image:loc>https://fgiesen.files.wordpress.com/2013/01/hotspots_memcpy.png</image:loc><image:title>Loading hotspots: calls to memcpy()</image:title></image:image><image:image><image:loc>https://fgiesen.files.wordpress.com/2013/01/hotspots_malloc.png</image:loc><image:title>Loading hotspots: calls to malloc()</image:title></image:image><image:image><image:loc>https://fgiesen.files.wordpress.com/2013/01/hotspots_loading.png</image:loc><image:title>Loading hotspots</image:title></image:image><image:image><image:loc>https://fgiesen.files.wordpress.com/2013/01/hotspots_free.png</image:loc><image:title>Loading hotspots: calls to free()</image:title></image:image><lastmod>2015-04-06T13:13:33+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2013/01/29/write-combining-is-not-your-friend/</loc><image:image><image:loc>https://fgiesen.files.wordpress.com/2013/01/wc_slow1.png</image:loc><image:title>Reading from write-combined memory</image:title></image:image><image:image><image:loc>https://fgiesen.files.wordpress.com/2013/01/wc_faster.png</image:loc><image:title>Without the read</image:title></image:image><lastmod>2021-11-21T23:29:43+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2013/01/21/order-preserving-bijections/</loc><lastmod>2013-01-22T04:56:13+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2013/01/14/min-max-under-negation-and-an-aabb-trick/</loc><lastmod>2013-08-29T15:08:29+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2013/01/07/small-note-on-quaternion-distance-metrics/</loc><lastmod>2020-09-06T01:35:47+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2012/08/31/frustum-planes-from-the-projection-matrix/</loc><lastmod>2016-11-20T02:59:44+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2012/08/26/z-transform-done-quick/</loc><lastmod>2012-08-30T08:01:49+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2012/08/15/linear-interpolation-past-present-and-future/</loc><lastmod>2017-06-13T07:46:49+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2012/08/05/polynomials-from-repeated-linear-interp/</loc><lastmod>2012-08-07T01:34:34+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2012/08/01/fast-blurs-2/</loc><image:image><image:loc>https://fgiesen.files.wordpress.com/2012/07/box41.png</image:loc><image:title>Piecewise cubic filter</image:title><image:caption>Piecewise cubic filter (p=4)</image:caption></image:image><image:image><image:loc>https://fgiesen.files.wordpress.com/2012/07/box31.png</image:loc><image:title>Piecewise quadratic filter</image:title><image:caption>Piecewise quadratic filter (p=3)</image:caption></image:image><image:image><image:loc>https://fgiesen.files.wordpress.com/2012/07/box21.png</image:loc><image:title>Triangle filter</image:title><image:caption>Triangle filter (p=2)</image:caption></image:image><image:image><image:loc>https://fgiesen.files.wordpress.com/2012/07/box11.png</image:loc><image:title>Box filter</image:title><image:caption>Box filter (p=1)</image:caption></image:image><lastmod>2022-07-21T17:09:50+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2012/07/21/the-magic-ring-buffer/</loc><lastmod>2020-02-01T21:43:15+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2012/06/25/linear-algebra-toolbox-3/</loc><lastmod>2012-06-26T06:05:39+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2012/06/15/linear-algebra-toolbox-2/</loc><lastmod>2012-06-18T14:13:59+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2010/03/28/how-to-generate-cellular-textures/</loc><lastmod>2012-04-23T14:58:53+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2012/04/15/if-in-doubt-go-to-the-source/</loc><lastmod>2012-04-16T18:30:42+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2012/04/08/metaprogramming-for-madmen/</loc><lastmod>2013-07-29T07:16:06+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2012/04/03/half-edges-redux/</loc><image:image><image:loc>https://fgiesen.files.wordpress.com/2012/02/half_edge1.png</image:loc><image:title>Half-edge links</image:title></image:image><lastmod>2012-04-18T16:10:01+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2011/07/03/a-trip-through-the-graphics-pipeline-2011-part-3/</loc><lastmod>2012-03-25T08:32:38+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2011/10/09/a-trip-through-the-graphics-pipeline-2011-part-13/</loc><lastmod>2016-12-13T15:23:09+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2011/07/20/a-trip-through-the-graphics-pipeline-2011-part-10/</loc><lastmod>2012-03-25T08:31:48+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2011/07/12/a-trip-through-the-graphics-pipeline-2011-part-9/</loc><lastmod>2013-11-11T20:19:02+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2011/07/06/a-trip-through-the-graphics-pipeline-2011-part-6/</loc><lastmod>2016-07-27T19:34:22+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2011/07/04/a-trip-through-the-graphics-pipeline-2011-part-4/</loc><lastmod>2015-07-29T04:27:43+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2011/07/01/a-trip-through-the-graphics-pipeline-2011-part-1/</loc><lastmod>2020-04-21T19:22:59+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2012/03/24/half-edge-based-mesh-representations-practice/</loc><image:image><image:loc>https://fgiesen.files.wordpress.com/2012/03/tessellated_grid.png</image:loc><image:title>Tessellated grid</image:title></image:image><image:image><image:loc>https://fgiesen.files.wordpress.com/2012/03/adding_poles.png</image:loc><image:title>Adding poles</image:title></image:image><image:image><image:loc>https://fgiesen.files.wordpress.com/2012/03/ring_8.png</image:loc><image:title>An 8-sided ring</image:title></image:image><image:image><image:loc>https://fgiesen.files.wordpress.com/2012/03/face_split.png</image:loc><image:title>Face split</image:title><image:caption>A face split - a new (red) edge is inserted between the two blue vertices.</image:caption></image:image><image:image><image:loc>https://fgiesen.files.wordpress.com/2012/03/vertex_split_no_blue.png</image:loc><image:title>Vertex split, no blue edges</image:title><image:caption>A vertex split with no blue edges.</image:caption></image:image><image:image><image:loc>https://fgiesen.files.wordpress.com/2012/03/vertex_split_one_blue.png</image:loc><image:title>Vertex split, one blue edge</image:title><image:caption>Vertex split with only one blue edge</image:caption></image:image><image:image><image:loc>https://fgiesen.files.wordpress.com/2012/03/vertex_split.png</image:loc><image:title>Vertex split</image:title><image:caption>A vertex split being performed.</image:caption></image:image><lastmod>2012-06-07T13:31:39+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2012/02/21/half-edge-based-mesh-representations-theory/</loc><image:image><image:loc>https://fgiesen.files.wordpress.com/2012/02/cube_part.png</image:loc><image:title>Cube with discontinuous attributes</image:title></image:image><image:image><image:loc>https://fgiesen.files.wordpress.com/2012/02/half_edge.png</image:loc><image:title>Half-edge links</image:title></image:image><lastmod>2012-05-04T01:47:25+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2012/02/12/row-major-vs-column-major-row-vectors-vs-column-vectors/</loc><lastmod>2022-05-01T09:11:46+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2011/11/21/buffer-centric-io/</loc><lastmod>2011-11-29T20:31:40+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2011/10/16/checking-for-interval-overlap/</loc><lastmod>2020-07-22T01:00:45+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2011/09/30/migrating-thunderbird-profiles-a-story-in-three-acts/</loc><lastmod>2016-07-10T17:40:17+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2011/05/04/row-major-vs-column-major-and-gl-es/</loc><lastmod>2018-04-07T21:09:10+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2011/02/26/notes-on-caches-and-threads/</loc><image:image><image:loc>https://fgiesen.files.wordpress.com/2011/02/worker_thread.png</image:loc><image:title>worker_thread</image:title></image:image><lastmod>2012-07-18T00:55:44+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2011/02/17/loop-control-overhead-on-x86/</loc><lastmod>2011-06-12T09:10:32+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2011/01/24/x86-code-compression-in-kkrunchy/</loc><lastmod>2013-06-17T02:47:21+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2011/01/19/a-small-note-on-the-elias-gamma-cod/</loc><lastmod>2013-06-17T02:48:16+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2010/12/14/ring-buffers-and-queues/</loc><lastmod>2017-05-26T18:32:08+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2010/12/11/negative-space-in-programming/</loc><lastmod>2018-05-20T12:53:48+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2010/11/06/more-ppc-compiler-babysitting/</loc><lastmod>2010-12-08T19:15:54+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2010/11/05/planar-rotations-and-the-dct/</loc><lastmod>2018-10-28T03:42:55+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2010/10/21/finish-your-derivations-please/</loc><lastmod>2017-02-15T08:09:37+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2010/10/20/some-more-frustum-culling-notes/</loc><lastmod>2010-10-21T06:00:02+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2010/10/17/view-frustum-culling/</loc><lastmod>2010-10-20T05:42:35+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2010/10/10/64-bit-tidbit/</loc><lastmod>2013-05-22T08:15:21+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2010/10/08/cycle-detection-algorithms-are-handy-to-know/</loc><lastmod>2010-10-23T04:54:43+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2010/10/04/we-dont-need-new-multimedia-formats/</loc><lastmod>2018-07-12T12:42:40+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2010/09/27/data-structures-and-invariants/</loc><lastmod>2021-08-25T20:30:20+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2010/08/23/carry-save-adders-and-averaging-bit-packed-values/</loc><lastmod>2010-10-23T06:49:35+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2010/03/29/how-to-generate-cellular-textures-2/</loc><lastmod>2010-04-14T12:53:52+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com/2009/10/04/launch/</loc><lastmod>2009-10-04T11:36:55+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://fgiesen.wordpress.com</loc><changefreq>daily</changefreq><priority>1.0</priority><lastmod>2023-01-21T07:22:15+00:00</lastmod></url></urlset>
