Writing
Series
- C++ ProgrammingFrom memory layout to C++1711
- MetalA renderer, one stage at a time22
- Unity ShaderShaders from the technical-artist side13
- Unity EngineHow Unity behaves under the editor7
- Unreal Engine 4Notes from picking up Unreal Engine 44
- Algorithms & Data StructuresFollowing CMU’s algorithms courses3
- CG Paper NotesReading notes on graphics papers2
- Visual Computing SystemsA tile-based renderer and an image pipeline2
- Learning Shaders with Shader CanvasA shader course, written alongside Shader Canvas1
- Artistic AnatomyAnatomy for drawing, not medicine5
- Light & Shadow in DrawingThree kinds of dark in a drawing3
All posts
2024
- Metal #19 Ray Tracing (III) Performance OptimizationDec 21
- Metal #18 Ray Tracing (II) Shadows and LightingDec 7
- Metal #17 Ray Tracing (I) Rendering AlgorithmNov 23
- Metal #16 AnimationNov 9
- Metal #15 Reflection and RefractionOct 26
- Metal #14 Post-processingOct 12
- CG Paper #2 KinectFusion: Real-time 3D ReconstructionOct 6
- VCS #2 Image Processing PipelineOct 6
- Metal #22 [Appendix] Metal in SwiftUISep 30
- CG Paper #1 RenderMan: An Advanced Path Tracing Architecture for Movie RenderingSep 26
- VCS #1 Tile-Based RendererSep 26
- Metal #13 TessellationSep 21
- Metal #21 [Appendix] Compute ShadersSep 14
- Metal #12 Particle SystemSep 7
- Metal #11 Deferred RenderingAug 24
- Metal #10 ShadowAug 10
- Metal #9 Render PassesJul 27
- Metal #8 MaterialsJul 13
- Metal #7 LightingJun 29
- C++ #11 C++17 New FeaturesJun 23
- Metal #6 NavigationJun 15
- C++ #10 C++14 New FeaturesJun 9
- Metal #5 TextureJun 1
- Metal #4 Fragment FunctionMay 25
- Metal #3 Vertex FunctionMay 18
- Metal #2 Rendering PipelineMay 11
- Metal #1 InitializationApr 30
- Metal #0 Swift ReviewApr 29
- C++ #9 C++11 New FeaturesApr 21
- C++ #8 PolymorphismApr 7
- C++ #7 Copy Control and Operator OverloadingMar 24
- C++ #6 InheritanceMar 10
- C++ #5 Objects and ClassesFeb 25
- C++ #4 FunctionsFeb 11
- C++ #3 Pointers and ArraysJan 28
- C++ #2 Struct and UnionJan 14
- C++ #1 Data and MemoryJan 2
2022
- Unity Inspector #1 Basic OperationsAug 14
- Unity Engine #5 PhysicsJul 31
- Unity Engine #4 MonoBehaviourJul 17
- Unity Engine #3 Design PatternsJul 3
- Unity Engine #2 System & NetworkingJun 12
- Unity Engine #1 MemoryMay 29
- Unity Engine #0 C#May 15
- URP #1 Universal Lit & URP ShaderLabMar 27
- Unity Shader #13 Post-ProcessingMar 6
- Unity Shader #9 Raindrops on LensJan 23
- Unity Shader #8 DissolveJan 9
2021
- Unity Shader #7 Anime Toon ShaderDec 19
- Unity Shader #6 Scan & HologramDec 5
- Unity Shader #5 Rim LightNov 21
- Unity Shader #4 Drawing Shapes on UVNov 7
- Unity Shader #3 URP UpgradeOct 24
- Unity Shader #2.1 Basic CommandsOct 10
- Unity Shader #2 Code BasicsOct 3
- Unity Shader #1 Render PipelineSep 19
- Unity Shader #0 Maths BasicsSep 5
- Artistic Anatomy #5 Lower LimbAug 1
- Artistic Anatomy #4 Upper LimbJul 4
- Artistic Anatomy #3 Torso, Back LayersJun 13
- Artistic Anatomy #2 Torso, Front LayersMay 30
- Artistic Anatomy #1 Torso OverviewMay 16
- Lighting #3 ProjectionsMar 21
- Lighting #2 Occlusion ShadowsMar 7
- Lighting #1 Surface OrientationFeb 21