[Graphics]Procedural Texture Notes
Keywords: graphics, procedural texture, image compression
Blogs
Procedural Texturing
https://www.scratchapixel.com/lessons/3d-basic-rendering/introduction-to-shading/procedural-texturing
Understanding BCn Texture Compression Formats
http://www.reedbeta.com/blog/understanding-bcn-texture-compression-formats/
Documents
Procedural texture
https://en.wikipedia.org/wiki/Procedural_texture
Tools & Frameworks
Procedural Textures - Blender 2.80 Fundamentals
https://www.youtube.com/watch?v=_deRNqDcwRk
Basis Universal is a “supercompressed” GPU texture compression system that outputs a highly compressed intermediate file format (.basis) that can be quickly transcoded to a very wide variety of GPU compressed and uncompressed pixel formats: ASTC 4x4 L/LA/RGB/RGBA, PVRTC1 4bpp RGB/RGBA, PVRTC2 RGB/RGBA, BC7 mode 6 RGB, BC7 mode 5 RGB/RGBA, BC1-5 RGB/RGBA/X/XY, ETC1 RGB, ETC2 RGBA, ATC RGB/RGBA, ETC2 EAC R11 and RG11, FXT1 RGB, and uncompressed raster image formats 8888/565/4444.
https://github.com/BinomialLLC/basis_universal
The “Quite OK Image” format for fast, lossless image compression.(High Performance)
https://github.com/phoboslab/qoi
Quite OK Image format encoder/decoder written in Zig
https://github.com/MasterQ32/zig-qoi
Super fast C++ .PNG writer
https://github.com/richgel999/fpng
PNG encoder and decoder in C and C++.
https://github.com/lvandeve/lodepng
SimpleJPEG: simple jpeg encoder
https://github.com/webmproject/sjpeg
Super fast C++ .PNG writer/reader
https://github.com/richgel999/fpng
JPEG XL image format reference implementation
https://github.com/libjxl/libjxl
Cross Platform Professional Procedural Terrain Generation & Texturing Tool
https://github.com/Jaysmito101/TerraForge3D
DirectXTex texture processing library
https://github.com/microsoft/DirectXTex
Examples & Demos
2D and 3D Procedural Textures in WebGL
http://math.hws.edu/graphicsbook/demos/c7/procedural-textures.html
Fragements Notes
Noise Generation
The Importance of Being Noisy: Fast, High Quality Noise
https://developer.amd.com/wordpress/media/2012/10/Tatarchuk-Noise(GDC07-D3D_Day).pdf
Tileable Noise
How do you generate tileable Perlin noise?
https://gamedev.stackexchange.com/questions/23625/how-do-you-generate-tileable-perlin-noise
Seamless noise generation on cubemap
Quickly generate procedural 3D space scenes in your browser with WebGL (Planet)
https://github.com/wwwtyro/space-3d
Fast procedural 2D space scene generation on the GPU. (Planet)
https://github.com/wwwtyro/space-2d
Source code for the MapToGlobe website (Planet)
https://github.com/kurt1288/MapToGlobe
Create procedural planet globes
https://sudonull.com/post/29794-Create-procedural-planet-globes
Converting a Cubemap into Equirectangular Panorama
https://stackoverflow.com/a/34427087/1645289
Cube Mapping (cubemap, skybox)
How would I go about making a good Space Skybox?
http://www.interlopers.net/forum/viewtopic.php?f=44&t=31549#p391293
Wave Function Collapse
Bitmap & tilemap generation from a single example with the help of ideas from quantum mechanics
https://github.com/mxgmn/WaveFunctionCollapse
Wave Function Collapse library in C, plus a command-line tool
https://github.com/krychu/wfc
Interpolating between two textures
Opengl Shader : Interpolating between two textures
https://stackoverflow.com/a/58658252/1645289
Blending
Blending in Detail
https://blog.selfshadow.com/publications/blending-in-detail/
Don't spend time with someone, who doesn't care spending it with you. ― Gabriel García Márquez