[video 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]