- Expert C Programming: Deep C secrets (van der Linden)
- Effective Modern C++ (Meyers)
- Real-Time Rendering (Akenine-Möller)
- Physically Based Rendering (Pharr)
- Vulkan Programming Guide (Sellers)
- [Mathematics for 3D Game Programming and Computer Graphics (Lengyel)](https://www.amazon.com/Mathematics-Programming-Computer-Graphic
Animation in particular is something I would like to know in detail. I checked out a book and I feel like there's a lot of groundwork I need to familiarize myself with before getting there (lot of math).
Animation and graphics is where math is KEY. Matrix and vector arithmetics must become your friends, same with trigonometry, linear algebra and quaternions. More advanced features in gfx/physics will require you to dive into new math areas but this is something you'll soon discover once you start research on a given topic.
At what point do you call the application an 'engine', as in what exactly are the bare essentials. Is that when you have a way to define game objects, have some physics system set up, and can have scripts running?
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
<!-- generic xml format for Rust,C,C++,Lua code generation | |
Tags: | |
struct - a structure | |
enum - enumeration | |
namespace - namespace! | |
var - variable (standalone, member if enclosed with struct/enum/namespace, parameter if enclosed by func). | |
Can be used for typedefs, too. | |
func - function (standalone, member if enclosed with struct/namespace) | |
content - contents for overlying element, planned for functions. If tag not present, will make it a function declaration |
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
ABI - Application Binary Interface | |
API - Application Programming Interface | |
CPU - Central Processing Unit | |
CRT - C Runtime | |
DOD - Data Oriented Design | |
GI - Global Illumination | |
GNU - Gnu's Not Unix | |
GPU - Graphics Processing Unit | |
ICE - Internal Compiler Error | |
IHV - Independent Hardware Vendor |
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
/ ** This doesn't work ** / | |
//let class_name = to_wstring("minifb_window"); | |
/ ** However calling to_wstring() code not from within external function DOES! **/ | |
let v: Vec<u16> = OsStr::new("minifb_window").encode_wide().chain(Some(0).into_iter()).collect(); | |
let class_name = v.as_ptr(); | |
Possible explanation (see definition of as_ptr()): https://doc.rust-lang.org/std/vec/struct.Vec.html |