Twenty-one days. One renderer. Every picture in the book drawn by the program you wrote.
Vulkan hands you nothing and forgives nothing: no global state, no driver heuristic guessing what you meant, no call whose cost is a surprise. You choose the memory type, you write the barrier, you build the pipeline. Day 1 writes all eight hundred lines of setup and explains each piece where it is needed, with a dispatch table generated from vk.xml.
On Day 1 you have an instance, a device and a picture in a PNG file -- with no window, because a window is three hundred lines of Win32 that teach nothing about graphics. By Day 14 you are flying through a lamp-lit observatory with a real shadow on the floor. By Day 21 you have a 460-kilobyte program in a folder that runs on a machine with no compiler and no SDK on it.
Everything in it was run. 420 figures across 21 chapters, of which 210 are frames Meridian rendered itself and wrote to disk. Not one screen grab, on any page. 212 listings, every one compiled. 170 output blocks, captured from a real run rather than typed. Three of the book's own measurements came out wrong the first time, and all three are in it with the wrong number, the reason and the right number.
YOUR 21-DAY PATH
Day 1 - An Instance, a Device, and a Picture with No Window: eleven objects, and no shortcuts.
Day 2 - The Loader, the Installable Client Driver, and the Trampoline We Can Skip: three levels, and the trampoline.
Day 3 - A Window, a Surface, and the Swapchain: images that are not yours.
Day 4 - Buffers, Memory Types, and Geometry That Is Data: there is no upload heap.
Day 5 - The Pipeline, and Why It Cannot Be Changed: what ten pipelines cost.
Day 6 - A Matrix, a Push Constant, and the First Object With an Inside: the flip, at last.
Day 7 - Depth, Frames in Flight, and the First Real Number: three switches, not one.
Day 8 - Images, Samplers, and the Mip Chain: ten levels, built by nine blits.
Day 9 - Descriptor Sets, and Where a Number Belongs: set number is binding frequency.
Day 10 - A Mesh, and the Object This Engine Is Named After: one buffer, nine slices.
Day 11 - Normals, and the First Light: one dot product, through a different matrix.
Day 12 - The Lamps, the Falloff, and the End of the Push-Constant Problem: four answers, and lights as data.
Day 13 - A Camera We Can Drive: two angles, and why there is no roll.
Day 14 - The Dome Casts a Shadow: two passes, and a barrier between them.
Day 15 - Brass, Glass, and a Surface That Is Physical: a field of tiny mirrors.
Day 16 - A Frame That Is a List, and What a Render Pass Was For: ten views of one frame.
Day 17 - The Lamp Gets Hot: eight bits cannot hold a lamp.
Day 18 - The Card Runs a Program That Draws Nothing: the guard is not optional.
Day 19 - Ten Thousand Stars in One Draw Call: six planes out of one matrix.
Day 20 - The Meridian, in a File: a format a person can fix.
Day 21 - A Folder Somebody Else Can Run: where vulkan-1.dll comes from.
WHO IT IS FOR. A C++ programmer who has not written graphics before, or who has written OpenGL or Direct3D and wants to know what Vulkan asks for instead. You need pointers, structs and a compiler; you do not need linear algebra, because Day 6 builds what the book uses. You need Windows, the Vulkan SDK and a driver offering Vulkan 1.3 -- and nothing else installed: no GLFW, no GLM, no VMA, no image library and no assets, because every texture is a function and every mesh is a loop.
Download book source code from: {GitHub}/{mohammadnsaqib}
472 pages.
Die Inhaltsangabe kann sich auf eine andere Ausgabe dieses Titels beziehen.
Anbieter: AHA-BUCH GmbH, Einbeck, Deutschland
Taschenbuch. Zustand: Neu. Neuware. Artikel-Nr. 9798175713863
Anzahl: 2 verfügbar