Viktor Latypov is the author of the 3D Graphics Rendering Cookbook, we got the chance to sit down with him and find out more about his experience of writing with Packt.
Q: What is/are your specialist tech area(s)?
Viktor: 3D Rendering technologies, cross-platform C/C++ development, applied mathematics; AR/VR
Q: How did you become an author for Packt? Tell us about your journey. What was your motivation for writing this book?
Viktor: Two previous books on Android NDK were pretty fun to write, but the book on rendering aligns better with our expertise area. The main motivation for writing the book, however, was the almost total absence of introductory material for programming modern 3d graphics with practical step-by-step guidance. There are quite a few books discussing all the relevant rendering techniques, in-depth coverage of the rendering APIs, but not the books in “tutorial style” which actually show how to create a good-looking complex OpenGL/Vulkan application from scratch.
Q: What kind of research did you do, and how long did you spend researching before beginning the book?
Viktor: The part of the book for which I was responsible (the Vulkan-related questions) required about a year of experiments with the Vulkan API.
Q: Did you face any challenges during the writing process? How did you overcome them?
Viktor: The challenges during the year 2020 were pretty standard for planet Earth. The support of family and friends helped to get us through. On the technical side, it was really hard to cut down the book size to a minimum, given a typical (700+) page count for a Vulkan book.
Q: What’s your take on the technologies discussed in the book? Where do you see these technologies heading in the future?
Viktor: Modern rendering APIs, like Vulkan, offer much more control over the performance, but at the same time raise the bar way higher for the aspiring developers trying to start graphics programming. I hope, over time there will be more and more reference materials, so just as OpenGL matured and got more and more familiar for the wider audience of developers, Vulkan would become more accessible.
Q: Why should readers choose this book over others already on the market? How would you differentiate your book from its competition?
Viktor: This book is a step-by-step guide to modern graphics, requiring almost nothing from the reader, except C++ programming and basic 3D mathematics. At the same time, the steps are quite large, so in the middle of the book, the reader would be able to process large 3D scenes with thousands of objects, not just a few simple 3D models.
Q. What are the key takeaways you want readers to come away from the book with?
Viktor: The key point is not to be afraid of starting from scratch even with complex technology.
Q. Do you have a blog that readers can follow?
Viktor: Not yet. A small video channel with a few book-related videos is here: https://www.youtube.com/channel/UCcdRcHzY-qf7t6XYXYBvr3A
Q. Can you share any blogs, websites, and forums to help readers gain a holistic view of the tech they are learning?
Viktor: As a reference to subtleties of the graphics APIs, I would name this blog: https://themaister.net/blog/
Q. How would you describe your author’s journey with Packt? Would you recommend Packt to aspiring authors?
Viktor: It was with all three books there were little to no issues with the publishing process, so definitely would recommend Packt to other authors.
Q. How did you organize, plan, and prioritize your work and write the book?
Viktor: During the pandemic, there was plenty of spare time due to the work-from-home schedule. Also, a lot of the material came from earlier experiments with rendering technologies.
Q. What are your favorite tech journals? How do you keep yourself up to date on tech?
Q. What is the one writing tip that you found most crucial and would like to share with aspiring authors?
Viktor: Never give up. Even if there are some technical or personal difficulties, take a step back, wait for some time and then continue.
You can find Viktor’s book on Amazon by following this link: Please click here