Movatterモバイル変換


[0]ホーム

URL:


Inigo Quilez  ::    ::  
Please visit mythe landing page to find video tutorials on computer graphics and other resources; this page containsonly the written tutorials. I write them in my spare time, but I hope you enjoy them despite the errors or imprecisions they might contain. If you do and feel like it, you can support this work throughPatreon orPayPal. Lastly, all code snippets you'll find are under theMIT license so you can easily reuse them.


Indices of useful functions

Remapping functions
3D SDFs
2D SDFs
2D SDFs and gradients
2D SDFs in L-norm
Ray-Surface intersection functions
Sphere functions
Box functions
Smoothstep functions
Trigonometric functions
Filterable procedurals

Procedural noises

FBM
Gradient noise derivatives
Value noise derivatives
Domain warping
Voronoise
Smooth voronoi
Voronoi edges

Raytracing

Path-tracing in one hour
Sphere soft shadow
Oldschhol raytracing
Simple gpu raytracing
Tracing in tiles
SSE for CPU tracers
My first raytracer

Pointclouds and Splatting

Volumetric sort

Voxels

Voxel lines and occlusion
Simple voxel

Compression

Genetic algorithm
Mesh compression
Wavelet compression
3D models storage

Size coding

Making (procedural) graphics in 4 kilobytes
BehindElevated
Simple color palettes
Compact storage of floats
Minimal spline code
Minimal frustum culling
Compiling small
Textures inside gm.dls
Opening a file in 4kb
Living Characters in 4 kilobytes
Techniques for 64k demos

SDFs & Raymarching

Raymarching SDFs
Smooth minimum for SDFs(new)
Domain Repetition
Soft Shadows
Numerical normals for SDFs
Smooth Rounded Boxes
Interior SDFs
Xor operator for SDFs
SDF Bounding Volumes
Binary-search raycasting for SDFs
FBM detail in SDFs
Ellipsoid SDF
Approximating the distance to implicits
Menger fractal
Raymarching terrains
Depth buffer with raymarching
Intro to SDF raymarching (2008)

Texturing and filtering

The Math of Premultiplied Alpha
Biplanar mapping
Texture repetition
Filtering procedural textures
Band-limiting procedural textures
Ray differentials and textures
Analytic checkers pattern filtering
Improved analytic checkers pattern filtering
Improved bilinear filtering
Improved hardware interpolation
Cylinder seams

Lighting

Outdoors lighting
Better fog
Multires ambient occlusion
Directional derivative
Screen space ambient occlusion
Per vertex AO
Simple global ilumination

Renderer/Engine

GPU Conditionals(new)
Avoiding trigonometry III(new)
Avoiding trigonometry II
Avoiding trigonometry I
Timing in Ticks(new)
Fixing frustum culling
Rational rendering and floating bar
Hacking the Ray-Triangle intersector
Stereo rendering
Basic VR
Gamma correct blurring

Simple oldschool effects

2D dynamic clouds
Simple water
Plane deformations
Feedback effect
Voronoi effect
The Game of Life
Rendering a cube in QBasic

Useful maths

Simple IK without trigonometry
Sphere ambient occlusion
Box ambient occlusion
Sphere density
Sphere visibility
Sphere projection
Inverse bilinear interpolation
Distance to triangle
Bezier bounding box
Disk/cylinder bounding box
Distance to an ellipse
Working with ellipses
Normal/areas for polygons
Area of a triangle
Computing mesh normals
Patched sphere
Fourier series
Smoothstep integral
Reflect and Clip
FM synthesis
Thinking with quaternions
Fast trisect() in GLSL
Inverse smoothstep
Float and random

Fractals & complex dynamics

Continuous iteration count
The M1 bulb of the Mandelbrot set
The M2 bulb in the Mandelbrot set
Area of M1 in the Mandelbrot set
The symmetry of the Mandelbrot set
Introduction to the Mandelbrot set

Rendering fractals

Computing the SDF of fractals
Mandelbulb fractal
3D Julia set fractals
3D orbit traps
Procedural orbit traps
Bitmaps orbit traps
Geometric orbit traps
Budhabrot fractals
Popcorn images
IFS fractals
Lyapunov fractals
Icon images

Recreational math

The maximum of 3 numbers(new)
Prof. Jame Grime's Dice
Optimizing squares
Ekain's numbers

[8]ページ先頭

©2009-2025 Movatter.jp