[video output=day108 member=cmuratori stream_platform=twitch stream_username=handmade_hero project=code title="Perspective Projection" vod_platform=youtube id=xgnEOFS8wTw annotator=Miblo annotator=dspecht]
[2:23][Take a look at where we're at]
[5:16][Blackboard: Perspective projection]
[9:48][Blackboard: Capturing light in optics (optional)]
[20:34][Blackboard: Crazy stuff we can do for photorealism, and camera hoods (optional)]
[26:46][Blackboard: The approximation]
[32:21][The ZFudge multiplies, but the equation for perspective projection is not a multiplication]
[33:43][Implement the equation]
[45:04][Take a look in-game and double-check everything]
[47:35][Moment of realisation: Our offset is still happening in pixels]
[48:59][Do the perspective computation in pixels and work on the values]
[1:00:00][Blackboard: Do the maths one more time]
[1:04:07][Q&A][:speech]
[1:04:53][@jamesamurr][Is squinting analogous to closing a camera's aperture?]
[1:05:42][@stelar7][Are you intending to multiply by XYZ and not just the XY as the variable says?]
[1:06:11][@ideograham][Wasn't the room height 8 meters? That's about 3 times the height of a normal room, so you have to increase the focal length to compress everything]
[1:06:54][@drive137][Q: Expect a ton of prestream questions]
[1:07:07][@flaturated][Wasn't the parameter already converted to pixels? If so then I think you are converting meters to pixels twice]
[1:07:59][@ttbjm][If you wanted to use this code to make a full 3D game such as a first person shooter, how much would you have to change to give the player an adjustable FOV option?]
[1:11:38][@sonicphi][How long do you think this is gonna take?]
[1:13:02][@sonicphi][No OpenGL, no audio library, no anything. How's being a masochist coming along?]
[1:14:53][@deathtenk][Hello! As a software developer, I understand the performance benefits of C++ are important. However, there are a lot of REPL-based code-at-runtime tools coming out that streamline development on both the web and in games. How do you feel about this departure from traditional software development tools?]
[1:17:14][@dr_mudkip][Do you use iPhone? If it's a yes, I would like to give you a copy of my game for iOS]
[1:17:34][@anonymous835][Will this game have cinematic mode?]
[1:18:07][@naysayer88][I use an iPhone... for my butt]
[1:18:29][@krohnos][Would the renderer be able to support something like zooming out for one screen that is twice as large as normal?]
[1:21:23][@pseudonym73][Lots of quick time events, too?]
[1:21:34][@darrenv][Where about is the explanation of the reloading the code while running? It sounds like fun]
[1:23:37][@imgudyurbad][What kind of game is this going to be and what will the point of it be?]
[1:24:31][@sonicphi][When the game is finished, do you expect the game to look as good as if you made it in a commercial engine?]
[1:26:31][@atomiclich][Can I learn how to be a better programmer from this channel?]
[1:26:56][@panic00][Are you planning any DLC for this game?]
[1:27:48][@vercinger][Do you use Windows Media Center a lot in your game dev process?]
[1:28:31][@manicthenobody][Why does he move slower at higher zoom?]
[1:29:52][@insofaras][Will the game be fun?]
[1:30:08][@stelar7][Will you cover things like patching and downloading code from the internet?]
[1:30:28][@sonicphi][Are you planning on implementing some kind of shader support?]
[1:31:29][@ninjin420][Will this game have a Collector's Edition? I want a plastic dragon in it for $150]
[1:32:35][It's dinner time][:speech]
[/video]
