List of freely available resources to study computer graphics programming.
- Creative Coding for Beginners [video]
- Learn C++ [book]
- Essence of Linear Algebra [video] [article]
- 3D Math Primer for Graphics and Game Development [book]
- How do Video Game Graphics Work? [video]
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # vim:fileencoding=utf-8:ft=conf:foldmethod=marker | |
| #: Fonts {{{ | |
| #: kitty has very powerful font management. You can configure | |
| #: individual font faces and even specify special fonts for particular | |
| #: characters. | |
| font_family JetBrains Mono Medium | |
| bold_font JetBrains Mono Bold |
It took a few years, but I finally understand why member functions of classes in JavaScript aren't automatically bound to their objects, in particular when used in callback arguments.
In most object-oriented languages, functions are members of a class--they exist in memory only once, and when they are called, this is
simply a hidden argument of the function which is assigned to the object that's calling it. Python makes this explicit by requiring that
the first argument of a class's member function be self (Python's equivalent of this--you can name self whatever you want, but
self is the convention).
class MyClass:
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| CFLAGS = -std=c99 -Wall | |
| main : main.o | |
| .PHONY : test clean | |
| test : main | |
| ./$^ "*regex*" "*vtable*" < main.c | |
| clean : |

