Daniel Gray

Thoughts, Notes, Ideas, Projects

Contact

Connected Categories

Loading...

Most Linked Posts

Loading...

41 nodes18 links
Node Colors
Selected
Connected
Search Result
Default

All Posts (41)

Blog Architecture - Advanced Features
Blog Architecture Deep Dive - Series Index
Blog Design
Blog Architecture
The 3D Background
Blog Architecture - Advanced Features
Blog Architecture - From Markdown to Web
Blog Architecture - Links and Navigation
Blog Architecture - Overview
Blog Architecture - Why Obsidian?
How the Search Engine Works
GLSL 3D Fractals - 3D IFS Fractals
GLSL 3D Fractals - Mandelbulb
GLSL 3D Fractals - Distance Estimation Methods
GLSL 3D Fractals - Hybrid Fractals
GLSL 3D Fractals - Mandelbox
GLSL 3D Fractals - Menger Sponge
GLSL 3D Fractals - Quaternion Julia Sets
GLSL 3D Fractals - Sierpinski Tetrahedron
GLSL 3D Fractals Series
Graphics Gems GLSL - Perlin Noise
Fractals and Mathematical GLSL
Graphics Gems GLSL - Ray-Box Intersection
Graphics Gems GLSL - Simulating Fog and Haze
Graphics Gems GLSL Series
GLSL Toybox
Skia - Advanced Data Visualization Techniques
Skia Series Index
Coding Projects
Skia - Basic Charts and Data Visualization
Skia - Introduction and Overview
Rain Visualization
Fog Visualization
Snow Visualization
Atmospheric Effects and Fog Systems
Camera System and Interactive Controls
Cell Shading and Non-Photorealistic Rendering
Erosion Simulation in Terrain Generation
L-System 3D Tree Generation
Performance Optimization for 3D Background
Procedural Terrain Generation

November 2024

1 post

Coding Projects

Coding Projects Building interactive web applications, exploring new technologies, and solving problems. This section covers web development, software engineering, coding projects, procedural generati...

October 2018

40 posts
Blog Architecture - Advanced Features

Blog Architecture - Advanced Features

Part 7 of 8Blog Architecture Deep Dive

Blog Architecture - Advanced Features This article explores the advanced features of the blog: semantic search, series organization, table of contents, and other sophisticated navigation and discovery...

Blog Architecture - Advanced Features

Blog Architecture - Advanced Features

Part 6 of 8Blog Architecture Deep Dive

Blog Architecture - Advanced Features This article explores the advanced features of the blog: semantic search, series organization, table of contents, and other sophisticated navigation and discovery...

Blog Architecture - From Markdown to Web

Blog Architecture - From Markdown to Web

Part 4 of 8Blog Architecture Deep Dive

Blog Architecture - From Markdown to Web This article explores the content processing pipeline: how Obsidian markdown files are transformed into web pages. We'll trace a file's journey from your Obsid...

Blog Architecture - Links and Navigation

Part 5 of 8Blog Architecture Deep Dive

Blog Architecture - Links and Navigation This article explores how Obsidian `[ [ wiki links ] ]` become web navigation, how the content tree is built, and how users navigate the blog. This is part 4 o...

Blog Architecture - Overview

Part 2 of 8Blog Architecture Deep Dive

Blog Architecture - Overview This is the first in a series of articles exploring the architecture of this blog. We'll start with a high-level overview that anyone can understand, then progressively di...

Blog Architecture - Why Obsidian?

Blog Architecture - Why Obsidian?

Part 3 of 8Blog Architecture Deep Dive

Blog Architecture - Why Obsidian? This article explores why Obsidian was chosen as the authoring tool for this blog and how its unique features integrate with the web publishing system. This is part 2...

Blog Architecture Deep Dive - Series Index

Blog Architecture Deep Dive - Series Index This page serves as an index for the Blog Architecture Deep Dive series: a comprehensive exploration of how this blog is built, from high-level concepts to d...

How the Search Engine Works

Part 8 of 8Blog Architecture Deep Dive

How the Search Engine Works This blog features a sophisticated semantic search system that goes beyond simple keyword matching. The search engine uses vector embeddings, intelligent ranking, and advan...

Blog Design

Blog Design This page serves as a hub for all articles about the design and architecture of this blog. For Readers - Navigating Blog Content - Guide to all navigation methods and features for users of...

GLSL 3D Fractals - 3D IFS Fractals

Part 6 of 9GLSL 3D Fractals

GLSL 3D Fractals - 3D IFS Fractals Iterated Function Systems (IFS) are a powerful method for generating fractals using affine transformations. In 3D, IFS fractals can create stunning organic and geome...

GLSL 3D Fractals - Distance Estimation Methods

Part 7 of 9GLSL 3D Fractals

GLSL 3D Fractals - Distance Estimation Methods Distance estimation is the cornerstone of efficient 3D fractal rendering. Unlike traditional ray tracing, which requires expensive intersection tests, di...

GLSL 3D Fractals - Hybrid Fractals

Part 8 of 9GLSL 3D Fractals

GLSL 3D Fractals - Hybrid Fractals Hybrid fractals combine multiple fractal formulas to create entirely new structures. By blending Mandelbulbs with Julia sets, mixing geometric and algebraic fractals...

GLSL 3D Fractals - Mandelbox

Part 4 of 9GLSL 3D Fractals

GLSL 3D Fractals - Mandelbox The Mandelbox is a fascinating 3D fractal discovered by Tom Lowe in 2010. It combines sphere inversion with box folding and scaling operations, creating intricate geometri...

GLSL 3D Fractals - Mandelbulb

GLSL 3D Fractals - Mandelbulb The Mandelbulb is the 3D extension of the classic Mandelbrot set, discovered by Daniel White and Paul Nylander in 2009. It creates stunning organic, bulbous structures wi...

GLSL 3D Fractals - Menger Sponge

Part 3 of 9GLSL 3D Fractals

GLSL 3D Fractals - Menger Sponge The Menger Sponge is the 3D generalization of the Sierpinski carpet, discovered by Karl Menger in 1926. It's a fascinating geometric fractal with paradoxical propertie...

GLSL 3D Fractals - Quaternion Julia Sets

Part 2 of 9GLSL 3D Fractals

GLSL 3D Fractals - Quaternion Julia Sets Quaternion Julia sets extend the classic 2D Julia sets into 4D space using quaternion algebra, then project them back into 3D for visualization. The result is ...

GLSL 3D Fractals - Sierpinski Tetrahedron

Part 5 of 9GLSL 3D Fractals

GLSL 3D Fractals - Sierpinski Tetrahedron The Sierpinski Tetrahedron is the 3D generalization of the classic Sierpinski triangle. It's created by recursively subdividing a regular tetrahedron, removin...

GLSL 3D Fractals Series

Part ? of 9GLSL 3D Fractals

GLSL 3D Fractals Series 3D fractals represent some of the most visually stunning and mathematically fascinating objects in computer graphics. This series explores how to render these infinite structur...

GLSL Toybox

GLSL Toybox A ShaderToy-like playground for experimenting with GLSL shaders. Write your shader code and see it render in real-time! Perfect for exploring fractals, mathematical visualizations, and 3D ...

Graphics Gems GLSL - Perlin Noise

Graphics Gems GLSL - Perlin Noise Perlin Noise, introduced by Ken Perlin in 1985 and featured in Graphics Gems II, revolutionized procedural texture generation. This gradient-based interpolation techn...

Graphics Gems GLSL - Ray-Box Intersection

Part 3 of 4Graphics Gems GLSL

Graphics Gems GLSL - Ray-Box Intersection The Ray-Box Intersection algorithm from Graphics Gems I provides an efficient method for determining if and where a ray intersects an Axis-Aligned Bounding Bo...

Graphics Gems GLSL - Simulating Fog and Haze

Part 4 of 4Graphics Gems GLSL

Graphics Gems GLSL - Simulating Fog and Haze Atmospheric effects like fog and haze are essential for creating depth, mood, and realism in 3D scenes. The technique from Graphics Gems I uses exponential...

Graphics Gems GLSL Series

Part ? of 4Graphics Gems GLSL

Graphics Gems GLSL Series The Graphics Gems series (1990-1995) contains timeless algorithms and techniques that remain fundamental to computer graphics today. This series adapts these classic algorith...

Fractals and Mathematical GLSL

Fractals and Mathematical GLSL GLSL shaders provide a unique intersection of mathematics and visual art. By executing mathematical functions in parallel across thousands of GPU cores, we can visualize...

Skia - Advanced Data Visualization Techniques

Part 4 of 4Skia Framework

Skia - Advanced Data Visualization Techniques This article explores advanced techniques for creating sophisticated data visualizations with Skia, including animations, interactions, multi-series chart...

Skia - Basic Charts and Data Visualization

Part 3 of 4Skia Framework

Skia - Basic Charts and Data Visualization This article demonstrates how to create basic data visualizations with Skia, including line charts, bar charts, and scatter plots. We'll cover the fundamenta...

Skia - Introduction and Overview

Part 2 of 4Skia Framework

Skia - Introduction and Overview Skia is Google's open-source 2D graphics library that powers some of the most widely used applications in the world. From Chrome's rendering engine to Android's UI fra...

Skia Series Index

Skia Series Index This series introduces the Skia graphics framework and demonstrates its power for creating beautiful, performant data visualizations. Skia is Google's open-source 2D graphics library...

Fog Visualization

Part 2 of 3Atmospheric Effects and Fog Systems

Fog Visualization Fog visualization is a key component of atmospheric effects in 3D scenes. This page explores the techniques and implementations used to create realistic and stylized fog effects. Ove...

Rain Visualization

Part 3 of 3Atmospheric Effects and Fog Systems

Rain Visualization Rain effects add dynamic weather elements to 3D scenes. This page explores techniques for creating realistic and performant rain visualizations. Overview Rain visualization involves...

Snow Visualization

Part 4 of 3Atmospheric Effects and Fog Systems

Snow Visualization Snow effects create winter atmospheres in 3D scenes. This page explores techniques for rendering snowflakes and snow accumulation. Overview Snow visualization involves creating part...

Atmospheric Effects and Fog Systems

Part 5 of 8The 3D Background

Atmospheric Effects and Fog Systems <svg width="400" height="300" xmlns="http://www.w3.org/2000/svg"> <rect width="400" height="300" fill="#000"/> <rect x="10" y="10" width="380" height="280" fill="#0...

Camera System and Interactive Controls

Part 6 of 8The 3D Background

Camera System and Interactive Controls The camera follows a sophisticated flight path that creates an immersive flying experience through the procedurally generated terrain. Flight Path System The cam...

Cell Shading and Non-Photorealistic Rendering

Part 4 of 8The 3D Background

Cell Shading and Non-Photorealistic Rendering Both terrain and trees use custom shader modifications via Three.js's `onBeforeCompile` hook. This allows us to modify the shader code at runtime, injecti...

The 3D Background

The 3D Background The animated 3D background is a procedurally generated landscape that creates an infinite, dynamically rendered terrain with fractal trees, atmospheric effects, and interactive camer...

Erosion Simulation in Terrain Generation

Part 8 of 8The 3D Background

Erosion Simulation in Terrain Generation Erosion simulation is a crucial technique for creating realistic terrain. Natural landscapes are shaped by water, wind, and gravity over millions of years. Sim...

L-System 3D Tree Generation

Part 3 of 8The 3D Background

L-System 3D Tree Generation L-systems (Lindenmayer systems) are a formal grammar system developed by biologist Aristid Lindenmayer in 1968 for modeling biological growth, particularly well-suited for ...

Performance Optimization for 3D Background

Part 7 of 8The 3D Background

Performance Optimization for 3D Background Performance was critical: this needs to run smoothly in a variety of environments, from high-end desktops to mobile devices. This article covers the key opti...

Procedural Terrain Generation

Part 2 of 8The 3D Background

Procedural Terrain Generation The terrain system uses a chunk-based approach with geologically-inspired geography types that smoothly transition between regions. Each region is assigned a geography ty...

Blog Architecture

As a side project getting started with this blog, I worked though An adventure with 3js 3d Backgrounds in 3js. I wanted something unique. Not quite what I intended when I set off to make it, but it se...