Links of the Open World Programmer
Various links to articles and technical documentation I’ve found along the way of making my engines, mostly centered around OpenGL.
– Created: April 29, 2024 UTC
– Edited: July 30, 2024 UTC
– Tags: Programming, OpenGL, GLSL, Generation
optimization articles
- Various instancing hacks and methods, with benchmarks
- Buffered memory can have drastic differences in read speed
- Selecting device is problematic with opengl, but there are some hacky ways
- For linux environments it’s a lot messier
- About vertex caching in instanced draw
- Two level indexing
- OpenGL Insights
- Da Pipeline
- Apple guide on GLES
- About GPU cache
- Nvidia guide
- Optimizing Triangle Strips for Fast Rendering
- TEGRA specific GLES2 guide
- List of old NVidia GLSL pragmas
- Radeon 9XXX series optimization guide
- GLSL optimizations
- IPhone 3D Programming book
- Article about cache utilization tips and techniques
- Pixel Buffer Object
- Screen quads
- Performance problems with framebuffer swaps
- Matrices inside textures
- OpenGL Insights - Asynchronous Buffer Transfers
- Scene rendering techniques presentation
- High-performance extension galore
- NVidia example on shader based occlusion culling
- Packing
- Thread on texture DMA when transferring
- More recent DMA thread
- Mesa driven GLSL optimizer, might be relevant for devices with poor optimizing compilers
- In-depth OpenGL feature overview with hardware support listed
- Z-order curve to increase locality of multidimensional data
- Thread group locality
- Shader-db to prove instruction counts
- Texture cache
- Hierarchical Z map occlusion culling
- Reducing driver overhead
- Persistent mapping
- Post transform cache friendly way of rendering regular grids
- Discussion on above
- Vertex optimization on modern GPUs
- General SIMD usage and techniques
- Fragment friendly circle meshing
- Occlusion culling for terrain
- Billboard quad transformation optimization
- NVidia bindless extensions
technical stuff
- Determinism between opengl vendors
- Early fragment test, my beloved
- Shape digitalization
- Line and circle rasterization
- Occlusion culling of Vintage Story
- Minecraft work on cave occlusion, in 2 parts
- Order independent blending technique
- High performance voxel engine
- Monotone meshing
- Capsule collision detection
- Forsyth vertex cache optimization
- Depth buffer based lighting
- Computational Geometry in C (Second Edition)
- OpenGL FAQ
- SGI BSP FAQ
generational stuff
- Domain warping
- Portable and fast Perlin noise in legacy GLSL
- Evaluation of GPU noise hashing solutions
- SHISHUA
- Generalized lattice noise
- Procedural hydrology
- Tectonics
- Approximation of heightmaps
notable extensions
- Vertex array locking
- Packed pixels
- Framebuffer fetch
- Integer textures
- Texture swizzle
- Shader binaries
- Internal format query
- Direct state access
- Texture view
- No error
- Trinary min and max
- NV occlusion query, with partitioning, without locking, potentially with less overdraw
- ES2 compatibility, can be used to query precision of floats
- Pipeline stats
- Parallel shader compile
- Shader inter group communication
- Granular buffer memory control
- Window pos
- No perspective interpolation for screen aligned geometry