# Table of contents - [Rendering](#rendering) - [Pipelines](#pipelines) - [Sampling and reconstruction](#sampling-and-reconstruction) - [Compression](#compression) - [Visibility](#visibility) - [Screen space techniques](#screen-space-techniques) - [Rasterization](#rasterization) - [Antialiasing](#antialiasing) - [Shadows](#shadows) - [Water, mud, snow](#water-mud-snow) - [Atmosphere and volumetrics](#atmosphere-and-volumetrics) - [Lighting](#lighting) - [Normal, bump, parallax mapping](#normal-bump-parallax-mapping) - [Ray tracing](#ray-tracing) - [Motion blur, Depth of field, tonemapping, blending](#motion-blur-depth-of-field-tonemapping-blending) - [Others](#others) - [Cameras and animation](#cameras-and-animations) - [GPU](#gpu) - [Procedural generation](#procedural-generation) - [Kinect](#kinect) - [Breakdowns & Makings-of](#breakdowns--makings-of) - [Demoscene](#demoscene) - [Tutorials and courses](#tutorials-and-courses) - [Resources](#resources) - [Datasets](#datasets) - [General programming and tools](#general-programming-and-tools) - [Homebrew](#homebrew) - [History](#history) - [Misc.](#misc) # Rendering ## Pipelines - http://www.realtimerendering.com/blog/deferred-lighting-approaches/ - http://d.hatena.ne.jp/hanecci/20130818/p1 (about Gbuffer layouts in games) - http://www.cse.chalmers.se/~uffe/clustered_shading_preprint.pdf - https://software.intel.com/sites/default/files/m/d/4/1/d/8/lauritzen_deferred_shading_siggraph_2010.pdf - https://mynameismjp.wordpress.com/2012/03/31/light-indexed-deferred-rendering/ - http://leifnode.com/2015/05/tiled-deferred-shading/ - https://forum.beyond3d.com/threads/modern-textureless-deferred-rendering-techniques.57611/ (deferred texturing) - https://www.aortiz.me/2018/12/21/CG.html (clustered) - https://www.randygaul.net/2017/02/24/writing-a-game-engine-in-2017/ - http://efficientshading.com/2016/09/18/clustered-shading-in-the-wild/ - https://github.com/Aman-Sachan-asach/WebGL-Clustered-Deferred-Forward-Plus#webgl-clustered-deferred-and-forward-shading - https://turanszkij.wordpress.com/2018/01/10/optimizing-tile-based-light-culling/amp/ - http://diaryofagraphicsprogrammer.blogspot.com/2018/03/triangle-visibility-buffer.html - http://www.elopezr.com/a-macro-view-of-nanite/ - http://filmicworlds.com/blog/visibility-buffer-rendering-with-material-graphs/ - https://www.makinggames.biz/news/building-your-own-engine-part-4-particle-effects-for-the-next-generation,6348.html ## Sampling and reconstruction - http://bassser.tumblr.com/post/11626074256/reconstructing-position-from-depth-buffer - https://www.gamedevs.org/uploads/fast-extraction-viewing-frustum-planes-from-world-view-projection-matrix.pdf - https://thomasdeliot.wixsite.com/blog/single-post/2020/03/30/Biquadratic-interpolation-with-independent-sample-weights - http://vec3.ca/bicubic-filtering-in-fewer-taps/ - https://blog.demofox.org/2017/05/29/when-random-numbers-are-too-random-low-discrepancy-sequences/ - https://blog.demofox.org/2016/02/22/gpu-texture-sampler-bezier-curve-evaluation/ - https://blog.demofox.org/2019/06/25/generating-blue-noise-textures-with-void-and-cluster/ - http://lousodrome.net/blog/light/2017/01/03/intersection-of-a-ray-and-a-cone/ - http://holger.dammertz.org/stuff/notes_HammersleyOnHemisphere.html - https://bartwronski.com/2020/04/14/bilinear-texture-filtering-artifacts-alternatives-and-frequency-domain-analysis/ - https://indieburg.com/blog/posts/20200110-mip-map-folding - http://www.johncostella.com/magic/ - https://surma.dev/things/ditherpunk/ - https://bartwronski.com/2021/02/15/bilinear-down-upsampling-pixel-grids-and-that-half-pixel-offset/ - https://www.reedbeta.com/blog/hash-functions-for-gpu-rendering/ - http://graphicrants.blogspot.com/2013/12/tone-mapping.html - http://extremelearning.com.au/unreasonable-effectiveness-of-quasirandom-sequences/ - https://merlin3d.wordpress.com/2018/10/04/correlated-multi-jittered-sampling-on-gpu/ - https://www.intel.com/content/dam/develop/external/us/en/documents/fast-fourier-transform-for-image-processing-in-directx-11-541444.pdf ## Compression - http://aras-p.info/texts/CompactNormalStorage.html - https://bartwronski.com/2017/04/02/small-float-formats-r11g11b10f-precision/ - https://shaneycg.github.io/ducktales-remastered-texture-compression/ - http://www.reedbeta.com/blog/understanding-bcn-texture-compression-formats/ - http://www.yosoygames.com.ar/wp/2018/03/vertex-formats-part-1-compression/ - http://www.intrinsic-engine.com/reverse-z-cheat-sheet/ ## Visibility - https://zeuxcg.org/2009/01/31/view-frustum-culling-optimization-introduction/ - https://interplayoflight.wordpress.com/2017/11/15/experiments-in-gpu-based-occlusion-culling/ - https://bazhenovc.github.io/blog/post/gpu-driven-occlusion-culling-slides-lif/ - https://fgiesen.wordpress.com/2010/10/17/view-frustum-culling/ ## Screen space techniques ### Reflections - http://roar11.com/2015/07/screen-space-glossy-reflections/ - https://sakibsaikia.github.io/2016/12/26/Screen-Space-Reflection-in-Killing-Floor-2.html - http://remi-genin.fr/blog/screen-space-plane-indexed-reflection-in-ghost-recon-wildlands/ - http://hacksoflife.blogspot.com/2020/10/a-tip-for-hiz-ssr-parametric-t-tracing.html - https://www.jpgrenier.org/ssr.html - https://sites.google.com/site/monshonosuana/directxno-hanashi-1/directx-149 (screen space reflections) - https://bartwronski.com/2014/03/23/gdc-follow-up-screenspace-reflections-filtering-and-up-sampling/ - https://andrew-pham.blog/2019/07/31/screen-space-reflections/ - https://lukas-hermanns.info/download/bachelorthesis_ssct_lhermanns.pdf - https://joostdevblog.blogspot.com/2020/10/screen-space-reflections-in-blightbound.html - https://sugulee.wordpress.com/2021/01/19/screen-space-reflections-implementation-and-optimization-part-2-hi-z-tracing-method/ ### Shadows and Ambient Occlusion - http://www.derschmale.com/2013/12/20/an-alternative-implementation-for-hbao-2/ - http://john-chapman-graphics.blogspot.fr/2013/01/ssao-tutorial.html - https://mtnphil.wordpress.com/2013/06/26/know-your-ssao-artifacts/ - https://panoskarabelas.com/posts/screen_space_shadows/ - http://frictionalgames.blogspot.fr/2014/01/tech-feature-ssao-and-temporal-blur.html ## Rasterization - https://fgiesen.wordpress.com/2013/02/10/optimizing-the-basic-rasterizer/ - https://www.scratchapixel.com/lessons/3d-basic-rendering/rasterization-practical-implementation/visibility-problem-depth-buffer-depth-interpolation - http://chrishecker.com/Miscellaneous_Technical_Articles - http://www.cbloom.com/3d/techdocs/pipeline.txt - https://github.com/ssloy/tinyrenderer/wiki - http://www.saltgames.com/article/lineOfSight/ ## Antialiasing - http://www.iryoku.com/smaa/ - http://www.geeks3d.com/20110405/fxaa-fast-approximate-anti-aliasing-demo-glsl-opengl-test-radeon-geforce/ - http://www.dice.se/wp-content/uploads/2014/12/GDC11_DX11inBF3_Public.pdf - http://www.java-gaming.org/index.php?topic=34555.0 - http://hacksoflife.blogspot.fr/2011/04/so-many-aa-techniques-so-little-time.html - https://blog.codinghorror.com/fast-approximate-anti-aliasing-fxaa/ - http://developer.download.nvidia.com/assets/gamedev/files/sdk/11/FXAA_WhitePaper.pdf - http://www.geforce.com/whats-new/articles/introducing-the-geforce-gtx-680-gpu#fxaa - https://software.intel.com/en-us/articles/dynamic-resolution-rendering-article - http://stevekarolewics.com/articles/anti-ghosting-taa.html - https://bartwronski.com/2014/03/15/temporal-supersampling-and-antialiasing/ - http://developer.download.nvidia.com/gameworks/events/GDC2016/msalvi_temporal_supersampling.pdf - https://community.arm.com/graphics/b/blog/posts/temporal-anti-aliasing - http://advances.realtimerendering.com/s2017/DecimaSiggraph2017.pdf - http://www.gdcvault.com/play/1022970/Temporal-Reprojection-Anti-Aliasing-in - http://behindthepixels.io/assets/files/TemporalAA.pdf - http://alextardif.com/TAA.html - https://www.rastergrid.com/blog/gpu-tech/2021/10/multisampling-primer/ - https://www.elopezr.com/temporal-aa-and-the-quest-for-the-holy-trail/ - https://de45xmedrsdbp.cloudfront.net/Resources/files/TemporalAA_small-59732822.pdf ## Shadows - http://www.opengl-tutorial.org/intermediate-tutorials/tutorial-16-shadow-mapping/ - http://developer.download.nvidia.com/SDK/10.5/opengl/src/cascaded_shadow_maps/doc/cascaded_shadow_maps.pdf - http://http.developer.nvidia.com/GPUGems/gpugems_ch14.html - http://www.codinglabs.net/tutorial_opengl_deferred_rendering_shadow_mapping.aspx - https://forums.tigsource.com/index.php?topic=8803.0 (2D) - https://www.gamedev.net/articles/programming/graphics/contact-hardening-soft-shadows-made-fast-r4906/ - https://worldoffries.wordpress.com/2019/03/26/what-good-is-hundreds-of-lights-with-out-hundreds-of-shadows/ - https://efficientshading.com/wp-content/uploads/s2015_shadows.pdf ## Water, mud, snow - https://seblagarde.wordpress.com/2012/12/10/observe-rainy-world/ - https://web.archive.org/web/20111113000538/http://www.gamasutra.com/gdce/2001/jensen/jensen_04.htm - https://web-beta.archive.org/web/20161112011253/https://community.eidosmontreal.com/blogs/hitman-ocean-tech - https://www.fxguide.com/featured/assassins-creed-iii-the-tech-behind-or-beneath-the-action/ - http://alextardif.com/Water.html - https://medium.com/@evanwallace/rendering-realtime-caustics-in-webgl-2a99a29a0b2c - https://www.gamasutra.com/blogs/PavelZagrebelnyy/20171116/309626/Mud_and_Water_of_SpintiresMudRunner.php - https://software.intel.com/content/www/us/en/develop/articles/intel-graphics-performance-analyzers-assist-snow-simulation-in-frostpunk.html?spredfast-trk-id=sf211410889 - https://www.gdcvault.com/play/1020177/Deformable-Snow-Rendering-in-Batman ## Atmosphere and volumetrics - "A Qualitative and Quantitative Evaluation of 8 Clear Sky Models", TVCG: https://arxiv.org/abs/1612.04336 - https://ebruneton.github.io/precomputed_atmospheric_scattering/ - https://github.com/ebruneton/clear-sky-models - https://slsdo.github.io/volumetric-cloud/ - https://www.guerrilla-games.com/read/the-real-time-volumetric-cloudscapes-of-horizon-zero-dawn - https://chuckleplant.github.io/2017/05/28/light-shafts.html - http://www.thetenthplanet.de/archives/4519 - http://www.eugenedeon.com/wp-content/uploads/2021/11/hitchhiker_v0.3_graphics.pdf (Mltiple scattering) ## Lighting ### Bidirectional Reflectance Distribution Functions - http://www.codinglabs.net/article_physically_based_rendering_cook_torrance.aspx - http://blog.selfshadow.com/publications/s2013-shading-course/rad/s2013_pbs_rad_notes.pdf - http://blog.tobias-franke.eu/2014/03/30/notes_on_importance_sampling.html - https://seblagarde.wordpress.com/2012/01/08/pi-or-not-to-pi-in-game-lighting-equation/ - http://blog.selfshadow.com/publications/s2015-shading-course/rad/s2015_pbs_rad_slides.pdf - http://graphicrants.blogspot.fr/2013/08/specular-brdf-reference.html - https://schuttejoe.github.io/post/ggximportancesamplingpart1/ - http://filmicworlds.com/blog/optimizing-ggx-shaders-with-dotlh/ - https://blog.selfshadow.com/publications/s2020-shading-course/patry/slides/index.html - https://blog.selfshadow.com/publications/s2017-shading-course/imageworks/s2017_pbs_imageworks_slides_v2.pdf - https://blog.selfshadow.com/publications/s2020-shading-course/patry/slides/index.html#/43 - https://google.github.io/filament/Filament.md.html - https://dassaultsystemes-technology.github.io/EnterprisePBRShadingModel/spec-2021x.md.html - https://cseweb.ucsd.edu/%7Etzli/cse272/homework1.pdf ### 'Physically Based Rendering' - https://www.khronos.org/webgl/wiki_1_15/images/2016-07-28_WebGL_BOF_PBR.pdf - http://artisaverb.info/PBT.html - https://seblagarde.wordpress.com/tag/physically-based-rendering/ - http://www.alexandre-pestana.com/physically-based-rendering-viewer/ - http://blog.selfshadow.com/2011/07/22/specular-showdown/ - https://seblagarde.files.wordpress.com/2015/07/course_notes_moving_frostbite_to_pbr_v32.pdf - http://renderwonk.com/publications/s2010-shading-course/hoffman/s2010_physically_based_shading_hoffman_a_notes.pdf - http://www.crytek.com/download/2014_03_25_CRYENGINE_GDC_Schultz.pdf - https://ivokabel.github.io/2018/05/15/rendering-layered-materials.html ### Lights - http://www.elopezr.com/rendering-line-lights/ - http://blog.magnum.graphics/guest-posts/area-lights-with-ltcs/ - https://alextardif.com/arealights.html - https://ciechanow.ski/lights-and-shadows/ ### Image Based Lighting - http://www.trentreed.net/blog/physically-based-shading-and-image-based-lighting/ - https://seblagarde.wordpress.com/2012/06/10/amd-cubemapgen-for-physically-based-rendering/ - http://blog.hvidtfeldts.net/index.php/2012/10/image-based-lighting/ - https://chetanjags.wordpress.com/2015/08/26/image-based-lighting/ - https://interplayoflight.wordpress.com/2013/04/29/parallax-corrected-cubemapping-with-any-cubemap/ - https://seblagarde.wordpress.com/2012/09/29/image-based-lighting-approaches-and-parallax-corrected-cubemap/ - https://chetanjags.wordpress.com/2015/08/26/image-based-lighting/ - http://xlgames-inc.github.io/posts/improvedibl/ - https://elalish.blogspot.com/2020/11/environment-lighting.html ### Global illumination - https://extremeistan.wordpress.com/2014/05/11/realtime-global-illumination-techniques-collection/ - http://madebyevan.com/shaders/lightmap/ - https://mynameismjp.wordpress.com/2016/10/09/new-blog-series-lightmap-baking-and-spherical-gaussians/ - https://mynameismjp.wordpress.com/2016/10/09/sg-series-part-6-step-into-the-baking-lab/ - https://basesandframes.wordpress.com/2016/05/11/spherical-harmonic-lighting-the-gritty-details/ - https://ndotl.wordpress.com/2018/08/29/baking-artifact-free-lightmaps/ - https://grahamhazel.com/blog/2017/12/22/converting-sh-radiance-to-irradiance/ - http://sunandblackcat.com/tipFullView.php?l=eng&topicid=32&topic=Spherical-Harmonics-From-Cube-Texture - http://xlgames-inc.github.io/posts/sphericalharmonics1/ - https://imdoingitwrong.wordpress.com/2011/04/14/spherical-harmonics-wtf/ - https://www.slideshare.net/DICEStudio/style-and-gameplay-in-the-mirrors-edge/DICEStudio/style-and-gameplay-in-the-mirrors-edge - http://simonstechblog.blogspot.fr/2013/01/implementing-voxel-cone-tracing.html - http://copypastepixel.blogspot.com/2017/04/real-time-global-illumination.html?m=1 - http://patapom.com/blog/SHPortal/ - https://monter.handmade.network/blogs/p/7421-engine_work__ddgi_light_probe_depth_data_compression#23186 ## Normal, bump, parallax mapping - http://blog.selfshadow.com/publications/blending-in-detail/ - http://graphics.cs.brown.edu/games/SteepParallax/index.html - http://sunandblackcat.com/tipFullView.php?l=eng&topicid=28 - http://learnopengl.com/#!Advanced-Lighting/Parallax-Mapping - https://developer.amd.com/wordpress/media/2012/10/Tatarchuk-ParallaxOcclusionMapping-Sketch-print.pdf - http://apoorvaj.io/exploring-bump-mapping-with-webgl.html - http://marmosetco.tumblr.com/post/81245981087 (horizon occlusion) ## Ray tracing - http://www.iquilezles.org/www/index.htm - http://blog.hvidtfeldts.net/index.php/category/raytracing/ - http://hughsk.io/fragment-foundry/chapters/01-hello-world.html - http://jamie-wong.com/2016/07/15/ray-marching-signed-distance-functions/ - https://blog.yiningkarlli.com/2018/10/bidirectional-mipmap.html - https://www.osar.fr/notes/logspherical/ - https://www.tylermw.com/throwing-shade/ - https://reindernijhoff.net/2019/03/wolfenstein-raytracing-on-using-webgl1/ - https://diharaw.github.io/post/adventures_in_hybrid_rendering/ - https://gist.github.com/h3r2tic/ba39300c2b2ca4d9ca5f6ff22350a037 ## Motion blur, Depth of field, tonemapping, blending - http://tuxedolabs.blogspot.com/2018/05/bokeh-depth-of-field-in-single-pass.html - http://john-chapman-graphics.blogspot.fr/2013/01/per-object-motion-blur.html - http://www.visualextract.com/posts/color-banding/ - http://filmicworlds.com/blog/minimal-color-grading-tools/ - http://john-chapman-graphics.blogspot.com/2013/02/pseudo-lens-flare.html - http://bitsquid.blogspot.com/2017/07/physically-based-lens-flare.html - http://blackpawn.com/blog/coding/2006/08/19/photoshop-blend-modes/ - http://redqueengraphics.com/2018/08/24/metal-shaders-vibrance/ - https://github.com/dtrebilco/PreMulAlpha - https://john-chapman.github.io/2017/08/23/dynamic-local-exposure.html - https://bartwronski.com/2016/08/29/localized-tonemapping/ - https://bartwronski.com/2016/10/30/dithering-in-games-mini-series/ - https://loopit.dk/banding_in_games.pdf ## Others - https://developer.nvidia.com/gpugems/GPUGems/gpugems_ch41.html (stereograms) - https://blog.demofox.org/2016/02/29/fast-voronoi-diagrams-and-distance-dield-textures-on-the-gpu-with-the-jump-flooding-algorithm/ - http://rastergrid.com/blog/2010/09/efficient-gaussian-blur-with-linear-sampling/ - https://shaderbits.com/blog/octahedral-impostors/ - https://tylerxhobbs.com/essays/2017/a-generative-approach-to-simulating-watercolor-paints - http://c0de517e.blogspot.com/2016/02/downsampled-effects-with-depth-aware.html - https://housemarque.com/news/2021/9/15/returnal-vfx-breakdown # Cameras and animation - http://www.gamasutra.com/blogs/ItayKeren/20150511/243083/Scroll_Back_The_Theory_and_Practice_of_Cameras_in_SideScrollers.php - http://easings.net/ (easing functions visualized) - http://blog.hypersect.com/interpreting-analog-sticks/ - https://www.3dgep.com/understanding-quaternions/ - https://eater.net/quaternions - http://www.gamasutra.com/blogs/TequilaWorks/20160620/275347/How_to_take_advantage_of_textures_in_the_vertex_shader.php - https://medium.com/@tglaiel/how-to-make-your-game-run-at-60fps-24c61210fe75 - http://www.gamasutra.com/blogs/JacquesKerner/20190222/337067/Aerodynamics_of_Just_Cause_4.php - https://inputlag.science - https://ciechanow.ski/cameras-and-lenses/ # GPU - http://fragmentbuffer.com/gpu-performance-for-game-artists/ - http://pixeljetstream.blogspot.fr/2015/02/life-of-triangle-nvidias-logical.html - https://sites.google.com/site/opengltutorialsbyaks/home - https://www.imgtec.com/blog/how-to-improve-your-renderer-on-powervr-based-platforms/ - https://github.com/MattPD/cpplinks/blob/master/comparch.gpu.md - https://fgiesen.wordpress.com/2011/07/09/a-trip-through-the-graphics-pipeline-2011-index/ - http://latchup.blogspot.fr/2016/02/life-of-triangle.html - http://renderingpipeline.com/2013/09/simulating-khr_debug-on-macos-x/ - https://github.com/dolphin-emu/dolphin/blob/master/Source/Core/VideoCommon/DriverDetails.h#L75 - http://www.humus.name/Articles/Persson_LowLevelThinking.pdf - http://www.humus.name/Articles/Persson_LowlevelShaderOptimization.pdf - http://betteros.org/tut/graphics1.php - https://developer.samsung.com/game/gpu-framebuffer - https://seblagarde.wordpress.com/2014/12/01/inverse-trigonometric-functions-gpu-optimization-for-amd-gcn-architecture/ - https://devblogs.nvidia.com/the-peak-performance-analysis-method-for-optimizing-any-gpu-workload/ - https://giordi91.github.io/post/vegaisa/ - https://raphlinus.github.io/rust/graphics/gpu/2019/05/08/modern-2d.html - https://gankra.github.io/blah/text-hates-you/ - https://interplayoflight.wordpress.com/2021/04/18/how-to-read-shader-assembly/ ## Vulkan - http://ourmachinery.com/post/vulkan-pipelines-and-render-states/ - https://www.khronos.org/assets/uploads/developers/library/2016-uk-chapter-moving-to-vulkan/Moving-to-Vulkan_Khronos-UK_May16.pdf - http://anki3d.org/porting-anki-to-vulkan/ - https://alain.xyz/blog/raw-vulkan#overview - http://themaister.net/blog/2019/04/20/a-tour-of-granites-vulkan-backend-part-3/ - https://zeux.io/2019/07/17/serializing-pipeline-cache/ - https://zeux.io/2020/02/27/writing-an-efficient-vulkan-renderer/ - https://blog.napframework.com/2020/porting-nap-opengl-to-vulkan/ - https://github.com/David-DiGioia/vulkan-diagrams - https://github.com/diharaw/hybrid-rendering ## DirectX 12 - https://www.3dgep.com/learning-directx-12-1/ - https://digitalerr0r.net/2015/08/19/quickstart-directx-12-programming/ - https://docs.microsoft.com/en-us/windows/win32/direct3d12/directx-12-programming-guide - https://alextardif.com/DX12Tutorial.html - http://diligentgraphics.com/diligent-engine/architecture/d3d12/ # Procedural generation - http://procworld.blogspot.fr/2012/03/building-rooms.html - http://gamedev.stackexchange.com/questions/47917/procedural-house-with-rooms-generator - http://larc.unt.edu/ian/research/clutter/ - https://procjam.tumblr.com/post/99689402659/procedural-generation-tutorials-getting-started - http://www-cs-students.stanford.edu/~amitp/game-programming/polygon-map-generation/ - http://pcgbook.com - https://www.rockpapershotgun.com/2015/07/28/how-do-roguelikes-generate-levels/#more-303483 - http://vterrain.org - http://cleveralgorithms.com/nature-inspired/index.html (more general than PG) - https://www.guerrilla-games.com/read/gpu-based-procedural-placement-in-horizon-zero-dawn - http://ijdykeman.github.io/ml/2017/10/12/wang-tile-procedural-generation.html - https://www.redblobgames.com/grids/hexagons/ - https://github.com/mxgmn/WaveFunctionCollapse/blob/master/README.md - http://www.entropicparticles.com/procedure-for-rivers-and-lakes/ - https://softologyblog.wordpress.com/2019/04/11/physarum-simulations/ - https://www.karlsims.com/rd.html (diffusion) # Kinect - https://github.com/benMcChesney/OF_Kinect_Tutorials - http://blog.nelga.com/setup-microsoft-kinect-on-mac-os-x-10-9-mavericks/ # Breakdowns & Makings-of ## Games - http://www.froyok.fr/documents/making_of_sotc.pdf - http://www.froyok.fr/blog/2012-10-breakdown-shadow-of-the-colossus-pal-ps2 - http://www.adriancourreges.com/blog/2015/11/02/gta-v-graphics-study/ - http://www.adriancourreges.com/blog/2016/09/09/doom-2016-graphics-study/ - http://www.adriancourreges.com/blog/2015/03/10/deus-ex-human-revolution-graphics-study/ - http://www.adriancourreges.com/blog/2017/12/15/mgs-v-graphics-study/ - https://simonschreibt.de - http://twvideo01.ubm-us.net/o1/vault/gdc2016/Presentations/El_Mansouri_Jalal_Rendering_Rainbow_Six.pdf - http://s09.idav.ucdavis.edu/talks/05-JP_id_Tech_5_Challenges.pdf - http://all-things-andy-gavin.com/2011/02/02/making-crash-bandicoot-part-1/ - http://www.froyok.fr/blog/2015-12-breakdown-assassins-creed-ii-2 - http://www.froyok.fr/blog/2012-09-breakdown-batman-arkham-city - https://engineering.riotgames.com/news/trip-down-lol-graphics-pipeline - https://www.digitalfoundry.net/browse (videos) - http://solid-angle.blogspot.fr/2014/03/bioshock-infinite-lighting.html - https://interplayoflight.wordpress.com/2015/04/08/the-rendering-technology-of-skysaga-infinite-isles/#more-439 - https://jlv-notes.tumblr.com/post/162467448990/experiment-with-sh3-like-texture-effects - http://fabiensanglard.net/doomIphone/doomClassicRenderer.php - https://renderdoc.org/blog/Graphics-in-Plain-Language/ - https://interplayoflight.wordpress.com/2017/10/25/how-unreal-renders-a-frame/ - http://www.elopezr.com/the-rendering-of-middle-earth-shadow-of-mordor/ - http://www.elopezr.com/castlevania-lords-of-shadow-2-graphics-study/ - https://godotengine.org/article/godot-3-renderer-design-explained - http://bitsquid.blogspot.com/2017/02/stingray-renderer-walkthrough.html?m=1 - http://www.gamasutra.com/blogs/ZachBarth/20170828/304568/How_and_why_we_ported_SHENZHEN_SOLITAIRE_to_MSDOS.php - http://astralcode.blogspot.fr/2017/09/reverse-engineering-rendering-of.html - https://weblogs.asp.net/fbouma/let-s-add-a-photo-mode-to-wolfenstein-ii-the-new-colossus-pc - http://blog.mecheye.net/2018/03/deconstructing-the-water-effect-in-super-mario-sunshine/ - http://anki3d.org/anatomy-of-a-frame-in-anki/ - https://translate.google.com/translate?sl=auto&tl=en&u=https://cgworld.jp/feature/202012-ffvll-01.html?fbclid%3DIwAR0TGzgc_iArJpmxQQxL3nv3t5dqyYrpWiwDZu_nlWSTAd2JOGVZpwFBzYw - https://imgeself.github.io/posts/2020-06-19-graphics-study-rdr2/ - http://morad.in/2020/04/03/unmasking-arkham-knight/ ## Other - http://www.cgsociety.org/index.php/CGSFeatures/CGSFeatureSpecial/building_3d_with_ikea - http://www.cartoonbrew.com/vfx/cg-actors-logan-never-knew-149013.html - https://www.nytimes.com/2016/12/27/movies/how-rogue-one-brought-back-grand-moff-tarkin.html?_r=0 - http://www.pushing-pixels.org/fui/ - https://vfxblog.com/2017/08/23/the-tech-of-terminator-2-an-oral-history/ - https://megabitesblog.wordpress.com/2019/01/16/overdrive-2-a-voyage-to-the-boundaries-of-16-bit-part-1/ - http://ashthorp.com/ghost-in-the-shell # Demoscene - http://6octaves.blogspot.fr/2017/06/interview-with-japanese-demoscener.html?m=1 - http://www.lofibucket.com/articles/64k_intro.htm - http://gargaj.tumblr.com/post/178117551485/along-for-the-ride-a-reasonably-complex-demo - http://www.crinkler.net - https://in4k.github.io/ - http://www.lofibucket.com/articles/64k_intro.html - http://www.amietia.com/oscarschair.html - https://docs.google.com/presentation/d/1RWzos-3yguFRVSveNPu4vN7b5BQWjcKEjcdrB5u2okE/mobilepresent?slide=id.g3de4468ac9_0_661 (size coding) - https://medium.com/@jerry.ylilammi/making-of-newton-protocol-e9ccde41af30 - https://alia-traces.github.io/demoscene/metal/pathtracing/2020/07/24/reconstruction.html # Tutorials and courses - https://www.scratchapixel.com - http://www.essentialmath.com/tutorial.htm - http://antongerdelan.net/opengl/index.html - http://www.lighthouse3d.com - https://learnopengl.com - http://www.opengl-tutorial.org - http://www.sprite-kit.com/tutorials/ - https://cs184.org - https://studentportalen.uu.se/portal/portal/uusp/student/webpage?uusp.portalpage=true&mode=webpage248120&toolMode=studentUse&entityId=104401&toolAttachmentId=248120 - http://www.roxlu.com (various tricks) - https://thebookofshaders.com - http://www.cs.uu.nl/docs/vakken/magr/portfolio/ - http://gameprogrammingpatterns.com/contents.html - https://pomax.github.io/bezierinfo/ - https://catlikecoding.com/unity/tutorials/ # Resources - http://kesen.realtimerendering.com - http://gdcvault.com/free - http://advances.realtimerendering.com - https://developer.nvidia.com/gpugems/GPUGems/gpugems_pref01.html - http://tfpsly.free.fr/bookmarks.html - http://jamie-wong.com/post/color/ - https://itch.io/blog/6037/get-ready-for-ludum-dare-game-development-tools - https://github.com/dsasmblr/game-hacking/blob/master/README.md - https://www.geometrictools.com - https://www.math.uwaterloo.ca/~hwolkowi/matrixcookbook.pdf - http://www.realtimerendering.com/intersections.html - https://luxeengine.com/1.0/ourmachinery/ # Datasets - https://github.com/dariusk/corpora (texts) - http://datasets.visionbib.com/index.html (computer vision) - http://www.davidrumsey.com/luna/servlet/view/all (old maps) - http://graphics.cs.williams.edu/data/meshes.xml (meshes) - http://www0.cs.ucl.ac.uk/staff/M.Firman/RGBDdatasets/ (rgbd pictures) - http://gl.ict.usc.edu/Data/HighResProbes/ (HDR spheres/cubemaps) - https://hdrihaven.com/hdris/category/?c=all (cubemaps and textures) - http://www.hdrlabs.com/sibl/archive.html (cubemaps) - https://freepbr.com/c/base-metals/ (materials) - http://schorsch.efi.fh-nuernberg.de/data/volume/ (3D textures) # General programming and tools - http://web.eecs.umich.edu/~sugih/courses/eecs487/glfw-howto/ - http://tfpsly.free.fr/bookmarks.html - https://github.com/syoyo/tinyexr - http://breno.sarmen.to/midi_documentation/list.html - https://nickfever.com/Music/midi-cc-list - https://anotherproducer.com/online-tools-for-musicians/midi-cc-list/ - http://littleosbook.github.io/#introduction - http://si.org/projects/project1/index.html - http://cocoamine.net/blog/2015/03/20/replacing-photoshop-with-nsstring/ - https://sonnati.wordpress.com/2014/06/20/h265-part-i-technical-overview/ - https://github.com/nothings/stb - https://github.com/nothings/single_file_libs - https://medium.com/retronator-magazine/pixels-and-voxels-the-long-answer-5889ecc18190 - https://github.com/cameronswinoga/yabfc/wiki/Generating-executable-files-from-scratch - http://hamelot.io/visualization/using-ffmpeg-to-convert-a-set-of-images-into-a-video/ - http://mikeos.sourceforge.net/write-your-own-os.html - https://jackschaedler.github.io/handwriting-recognition/ - https://viewsourcecode.org/snaptoken/kilo/index.html (text editor) - http://utf8everywhere.org/ - https://www.dangermouse.net/esoteric/piet.html - http://eastfarthing.com/blog/2020-09-14-decoder/ - https://graphitemaster.github.io/fibers/ - https://redsweater.com/blog/2083/the-power-of-plist - https://raphlinus.github.io/curves/2021/03/11/bezier-fitting.html - https://zetcode.com/gui/winapi/ # Homebrew - https://fms-cat.github.io/thump/ - http://skilldrick.github.io/easy6502/#snake - http://codetapper.com/amiga/sprite-tricks/ - http://2x-1.net/ob/gray1/ - https://mitxela.com/projects/console ## Nintendo - https://media.ccc.de/v/33c3-8029-the_ultimate_game_boy_talk - http://problemkaputt.de/gbatek.htm - https://github.com/devkitPro/libnds - http://libnds.devkitpro.org/videoGL_8h.html - https://github.com/dekuNukem/Nintendo_Switch_Reverse_Engineering - http://www.coranac.com/tonc/text/toc.htm - http://gbdev.gg8.se/wiki/articles/Tutorials - https://www.cs.rit.edu/~tjh8300/CowBite/CowBiteSpec.htm - http://members.iinet.net.au/~freeaxs/gbacomp/ - https://web.archive.org/web/20110415235959/http://home.no:80/neogeo/HOVEDSIDE_INDEX/GBA_HOVEDSIDE_INDEX_ENGELSK/index.html - https://38leinad.wordpress.com/2012/03/03/gameboy-development-on-mac-os-x/ - https://cturt.github.io/cinoop.html - http://kylehalladay.com/gba.html - http://n64.icequake.net/doc/n64intro/kantan/step2/index1.html ## Sony - http://web.archive.org/web/20150725052552/http://www.hsfortuna.pwp.blueyonder.co.uk/ - https://github.com/ps2dev - http://glampert.com/2015/02-27/ps2-homebrew-setting-up-the-environment/ - https://bitbucket.org/glampert/ps2dev-tests/src/cb6f77908e2fe4f775bfaceba66ba14d93a244c2/source/framework/?at=master - https://basesandframes.wordpress.com/2016/07/25/procedural-rendering-on-ps2/ - http://ps2home.freeforums.net/thread/10/ps2dev-tutorial-playstation2-basics-saveski - http://ps2linux.no-ip.info/playstation2-linux.com/projects/3dprotut/index.html - http://lukasz.dk/playstation-2-programming/an-introduction-to-ps2dev/ - http://archive.arstechnica.com/reviews/1q00/playstation2/m-ee-1.html - https://arstechnica.com/features/2000/04/ps2vspc/ - http://lukasz.dk/playstation-2-programming/archive/ - https://en.wikipedia.org/wiki/PlayStation_2_technical_specifications - https://cturt.github.io/ps4.html - https://cturt.github.io/freedvdboot.html ## Sega - http://dmitry.gr/index.php?r=05.Projects&proj=25.%20VMU%20Hacking (VMU Dreamcast) - https://www.reddit.com/r/dreamcast/comments/1wh1zt/a_starting_list_for_developing_on_the_dreamcast/ - http://cadcdev.sourceforge.net/softprj/kos/setup.php - https://dcemulation.org/?title=Development ## Glide - http://glide.sourceforge.net - http://www.gamers.org/dEngine/xf3D/glide/glidepgm.htm - http://alasir.com/software/glide/ ## Vectrex - http://www.gametronik.com/site/emulation/vectrex/ - https://vandenbran.de/post/2016-02-01-a-modern-toolchain-for-vectrex-development/ - https://www.playvectrex.com/designit/chrissalo/toc.htm # History - https://web.archive.org/web/20150119223506/http://www.maximumpc.com/article/features/graphics_extravaganza_ultimate_gpu_retrospective - http://www.righto.com/2015/05/the-texas-instruments-tmx-1795-first.html - http://www.reenigne.org/blog/1k-colours-on-cga-how-its-done/ - http://www.filfre.net (history of adventure games) - https://tedium.co/2019/04/23/matrox-graphics-history/ - https://tedium.co/2018/06/15/codemasters-history-nes-nintendo/ - https://www.neogaf.com/threads/lets-build-a-sega-dreamcast-game-from-scratch-breakout.916501/ - http://deadendthrills.com/future-imperfect-the-lost-art-of-westwoods-blade-runner/ - http://opengl.datenwolf.net/gltut/html/History%20of%20Graphics%20Hardware.html - https://www.unseen64.net/2014/11/26/myst-iv-adventure-beyond-dni-ultraworld-cancelled/ - https://trmm.net/Vector_games_32c3 - https://theoutline.com/post/6293/reader-rabbit-history-the-learning-company-zoombinis-carmen-sandiego?zd=4&zi=3louohfl - http://www.dkriesel.com/en/blog/2013/0802_xerox-workcentres_are_switching_written_numbers_when_scanning - https://www.copetti.org/projects/consoles/ # Misc. - http://skrekkogle.com/projects/still-file/