# Links

More or less related list of pinterest / bookmarks.- Introduction to Partial Differential Equations (PDEs) must be read if you're not familiar with the topic. PDEs are prevalent in computer graphics. The book takes time to explain notations and jargons which is really helpful.
- Polygon mesh processing learn about the fundamentals of geometry processing.

*Academic:*

- Ke-Sen Huang. An impressive list of computer graphics publications in various conferences (Siggraph, Eurographics etc.) and always up to date.
- physicsbasedanimation.com gather course, papers, books about physic simulation. Thank you Christopher Batty for maintaining this list!
- Keenan Crane. Does amazing stuff in differential geometry.
- Matthias Müller is the father of PDB (position based dynamics). Check his course on physics illustrated with three js or siggraph course on real time physics
- Loïc barthe. You'll find lots of computer graphics related courses/slides exercices/exams and corrections (in French).
- Daniel Holden is the author of "write your own Lisp" and a major contributor in computer animation.
- Interactive Geometry Lab. More wonderful computer graphics publications.

*Blog:*

- Chad Vernon lots of tutorial about rigging, maya and more. Also check out his github.
- Perry Leijten More rigging tutorials and tips, his paid course is really worth every penny.
- Loup Vaillant. My brother's homepage with various articles around programming languages and bad coding habits.
- Íñigo Quílez. Co-creator of shader toy and does astounding work based on distance fields/implicit surfaces.
- Johnathon Selstad Sublucid Geometry awesome webgl widgets to present some simple but powerful physic and linear algebra tricks.
- Demo Fox pretty cool graphics blog from Alan Wolfe's and Javascript widgets (curve fitting and interpolation).

- geometry-processing-js javascript wrapper for Eigen and mind blowing geometry processing magic on your phone.
- Shader toy on-line shaders (search for ray marching and distance field)

- Computer graphics research software This is the university of Toronto software list. You'll find a lot of computer graphics related software/libraries/pieces of codes.
- StarLab source code and interface to deform meshes with arap (as rigid as possible) and compute geodesic distance using the heat diffusion method (only need linear systems to be solved). Check out their videos at the bottom of the page.

- LibIGL A geometry processing library developed by ETH Zurich.
- Geometry Central
- Geometric primitives intersection A long list of codes and references to intersect geometric primitives (ray/triangle, ray/box, sphere/line and much more).
- MathGeoLib A small lib for geometric primitives intersections (including line segment). You can easily copy some code from there. I like the lib simplicity and readability.
- GeometricTools
- Polygon Mesh Processing Library The interactive slides are impressive
- Open cloth Library
- SeExpr evaluate arithmetic expressions and curves on the fly.
- FinDiff is a python package that computes finite difference stencils and coefficients in any dimension, and can numerically compute derivatives or solve PDEs.

And many others: [OpenMesh] [CGAL] [CinoLib] [Geometry central] [GEL]

- Maxima is a
**C**omputer**A**lgebra**S**ystem (CAS). A fancy word to say it can solve math equation like you do, i.e, type in "factor(2*x + 2*y)" and it outputs $2(x+y)$ or "solve(x*3-2)" and it will tell you $ x = \frac{2}{3} $! It understands math formula (a.k.a algebraic expressions) and can differentiate, integrate, solve equations and much more. Get started with tutorial videos or documentation ~~Simple Screen Recorder Video capture on Linux~~~~Screen Capture Recorder Video capture on Windows~~- OBS studio Video capture on Windows/Linux/Mac and open source (also used for streaming).
- Screen To Gif Capture screen to a gif or video Windows (similar to Windows handy snipping tool)
- DaVinci Resolve Video editing more user friendly than adobe (IMHO) and with a free version (no time limit as of today)
- Meld Simple yet powerful diff and merge tool (Windows / Linux)
- Beyond Compare another diff tool, this is a paid software though, I would not recommend it if it wasn't so fast and packed with useful features.
- Rapid Environment Editor Editing environment variables under Windows is a pain (no text file and a non resizable window. Really???) this software is by far the best way to edit those environment variables (Linux users, please, I can hear your chuckles...)

(Online)

- Jupyter originally for python this is a C++ command line interpreter! (based of clang) with markdown comments!
- godbolt.org online compilers with assembler output for those performancezzz (best online compiler IMHO)
- cpp.sh online gcc compiler.
- rextester.com online compilers (C++, gcc, msvc, clang and many more) useful to compare compatibility.
- cdecl.org translates C gibberish like this
`int (*(*foo)(void ))[3]`

to plain English (In this case it outputs: "declare foo as pointer to function (void) returning pointer to array 3 of int") - TryHLSL online HLSL compilation with disassembly.
- Shadered Online Shader (HLSL/GLSL) visualization and debugging.
- regex101.com Interactive design of regular expressions.
- Finite Difference Calculator Given the order and sample points find the finite difference stencil. (see also FinDiff
- MathWay a
**C**omputer**A**lgebra**S**ystem to solve equations, integrals etc. with step by step development. - Graphing/plotting tools: [Desmos] [geogebra] minimalist: [fooplot] [GraphToy] [GraphToy++]

**Z-type**Literally how I learned how to blind type on a keyboard. it's surprisingly easy to consistently play it 10mns a day compared to other boring programs.

- Unwrapping curves (JavaScript widget)
- Fundamentals of linear algebra and optimization is another unavoidable topic of my field.
- Perlin noise
- Awesome human motion
- Documentation systems: Material for MKdocs (Example); Sphinx (Ex1 more ex); Jekyll
- Site generators: [Hugo] (example of blog using this theme: congo)

[Lamya]: a markdown static site generator

[Retype] (Example here)

Last update: 10/2011