The Curious Engineer

All blogs / Graphics

Litherum

litherum.blogspot.com

GraphicsPerformance / optimizationC++Frontend / CSS / browsers

’10’15’20’25
Posts
105 from 4 Oct 2009 to 30 May 2026
Posting
now and then (1 in the last year)
Kind
personal blog
Feed
https://litherum.blogspot.com/feeds/posts/default

2026 1

  1. C++ Concepts as GADTs

2024 4

  1. Vulkan Synchronization: Why it sucks (Part 2)
  2. Vulkan Synchronization: What it is (Part 1)
  3. Avoiding Seemingly-Necessary Retain Cycles
  4. So I wrote a double delete...

2023 5

  1. Nvidia SLI from Vulkan's Point of View
  2. My First Qt App
  3. ReSTIR Part 2: Characterizing Sample Reuse
  4. ReSTIR Part 1: Building Blocks
  5. Implementing a GPU's Programming Model on a CPU

2022 1

  1. Video Splitter

2021 1

  1. Understanding CVDisplayLink

2019 2

  1. Addition Font
  2. Wide color vs HDR

2018 3

  1. Texture Sampling
  2. Comparison of Entity Framework to Core Data
  3. Development Analogy

2017 3

  1. Wide and Deep Color in Metal and OpenGL
  2. Chromaticity Diagrams
  3. Relationship Between Glyphs and Code Points

2016 10

  1. Single Screen GPU Handoff
  2. Variation Fonts Demo
  3. Variable Fonts in CSS Draft
  4. Font Taxonomy
  5. OpenGL on iOS
  6. OpenGL on macOS
  7. GPU Text Rendering Overview
  8. CSS Box Model
  9. Color Blending
  10. UTF-16 Surrogate Calculator

2015 22

  1. Antialiasing of Core Graphics and Direct2D
  2. Methods of writing Windows apps
  3. Binary Compatibility of Windows Programs
  4. Vertical Text
  5. A Deeper Look at OpenType and TrueType Font Features
  6. Knuth-Plass Line Breaking Algorithm
  7. Generating x86_64 Machine Code at Runtime
  8. Producing Executables
  9. AppKit’s relationship with CoreAnimation
  10. Surprising CSS Layouts
  11. 3D on the web
  12. Colorspaces
  13. Deriving Projection Matrices
  14. How Cocoa Apps Are Written
  15. Complex Glyph Positioning
  16. Subdivision Surfaces
  17. End-To-End Tour of Text Layout/Rendering
  18. Nurbs
  19. B-Splines
  20. Bezier Curves
  21. Mach Ports
  22. Asynchronous IO

2014 10

  1. Intel GPU Accelerated 2D Graphics
  2. Design of Mesa 3D Part 11: Intel Command Buffers
  3. Design of Mesa 3D Part 10: Intel’s Device Driver
  4. Complex Text Handling in WebKit, Part 7: Width Calculations
  5. Complex Text Handling in WebKit, Part 6: Run Layout
  6. Complex Text Handling in WebKit, Part 5: Bidirectional Processing
  7. Design of Mesa Round 2!
  8. Complex Text Handling in WebKit, Part 4: Line Breaking
  9. Complex Text Handling in WebKit, Part 3: Codepoint to Glyph Mapping
  10. How Multisampling Works in OpenGL

2013 22

  1. Complex Text Handling in WebKit, Part 2: Fonts
  2. Complex Text Handling in WebKit, Part 1: Encoding Systems, Code Points, and Code Units
  3. Election Computer Science Problem
  4. Speeding up Counting Sort with Histopyramids
  5. Counting Sort's Relation to Bead Sort
  6. Design of Mesa 3D Part 9: Vertex Buffer Objects
  7. Runtime of std::hash
  8. Design of Mesa 3D Part 8: Shader Compilation Example
  9. Design of Mesa 3D Part 7: Shader Assembly Emission
  10. Design of Mesa 3D Part 6: Intermediate Representation Translation of Shaders
  11. Design of Mesa 3D Part 5: Parsing Shaders
  12. Design of Mesa 3D Part 4: Lexing Shaders
  13. Design of Mesa 3D Part 3: Dispatch
  14. Design of Mesa 3D Part 2: Contexts
  15. Design of Mesa 3D Part 1: __glXInitialize()
  16. Precision qualifiers in OpenGL ES Shading Language
  17. Bitonic Sort in Haskell
  18. Implementing Multiplication
  19. Sprites in the OpenGL Programmable Pipeline
  20. GLSL with medium precision on large screens
  21. I wrote little cheat sheet for data
  22. JavaScriptCore Primitive Encoding

2010 11

  1. Brute Forcing Einstein's Riddle with CUDA
  2. Brute Forcing Einstein’s Riddle
  3. Prolog Use
  4. Mountain View Pictures
  5. Hot Plate Simulation in Haskell
  6. Bead Sort, Revisited
  7. Memory Leaks in my 2-D Perlin Noise Generator
  8. More Assorted Closures
  9. Google Interview #7
  10. 2-Dimensional Perlin Noise Generator, Revisited
  11. Ray Tracer

2009 10

  1. 2-Dimensional Perlin Noise Generator
  2. One dimensional Perlin Noise Generator
  3. Bead Sort in OpenCL
  4. Knights Tour Revisted
  5. Project Euler problem 66 in Haskell
  6. New Laptop
  7. Knight's Tour
  8. Closures in Python and JavaScript
  9. Misattribution
  10. Evil Corporation logos