C++

1
Eлектронна книга

3D Graphics Rendering Cookbook. A comprehensive guide to exploring rendering algorithms in modern OpenGL and Vulkan

OpenGL is a popular cross-language, cross-platform application programming interface (API) used for rendering 2D and 3D graphics, while Vulkan is a low-overhead, cross-platform 3D graphics API that targets high-performance applications. 3D Graphics Rendering Cookbook helps you learn about modern graphics rendering algorithms and techniques using C++ programming along with OpenGL and Vulkan APIs.The book begins by setting up a development environment and takes you through the steps involved in building a 3D rendering engine with the help of basic, yet self-contained, recipes. Each recipe will enable you to incrementally add features to your codebase and show you how to integrate different 3D rendering techniques and algorithms into one large project. You'll also get to grips with core techniques such as physically based rendering, image-based rendering, and CPU/GPU geometry culling, to name a few. As you advance, you'll explore common techniques and solutions that will help you to work with large datasets for 2D and 3D rendering. Finally, you'll discover how to apply optimization techniques to build performant and feature-rich graphics applications.By the end of this 3D rendering book, you'll have gained an improved understanding of best practices used in modern graphics APIs and be able to create fast and versatile 3D rendering frameworks.

2
Eлектронна книга

Advanced C++. Master the technique of confidently writing robust C++ code

Gazihan Alankus, Olena Lizina, Rakesh Mane, Vivek Nagarajan, ...

C++ is one of the most widely used programming languages and is applied in a variety of domains, right from gaming to graphical user interface (GUI) programming and even operating systems. If you're looking to expand your career opportunities, mastering the advanced features of C++ is key.The book begins with advanced C++ concepts by helping you decipher the sophisticated C++ type system and understand how various stages of compilation convert source code to object code. You'll then learn how to recognize the tools that need to be used in order to control the flow of execution, capture data, and pass data around. By creating small models, you'll even discover how to use advanced lambdas and captures and express common API design patterns in C++. As you cover later chapters, you'll explore ways to optimize your code by learning about memory alignment, cache access, and the time a program takes to run. The concluding chapter will help you to maximize performance by understanding modern CPU branch prediction and how to make your code cache-friendly.By the end of this book, you'll have developed programming skills that will set you apart from other C++ programmers.

3
Eлектронна книга

Advanced C++ Programming Cookbook. Become an expert C++ programmer by mastering concepts like templates, concurrency, and type deduction

Dr. Rian Quinn

If you think you've mastered C++ and know everything it takes to write robust applications, you'll be in for a surprise. With this book, you'll gain comprehensive insights into C++, covering exclusive tips and interesting techniques to enhance your app development process.You'll kick off with the basic principles of library design and development, which will help you understand how to write reusable and maintainable code. You'll then discover the importance of exception safety, and how you can avoid unexpected errors or bugs in your code. The book will take you through the modern elements of C++, such as move semantics, type deductions, and coroutines. As you advance, you'll delve into template programming - the standard tool for most library developers looking to achieve high code reusability. You'll explore the STL and learn how to avoid common pitfalls while implementing templates. Later, you'll learn about the problems of multithreaded programming such as data races, deadlocks, and thread starvation. You'll also learn high-performance programming by using benchmarking tools and libraries. Finally, you'll discover advanced techniques for debugging and testing to ensure code reliability.By the end of this book, you'll have become an expert at C++ programming and will have gained the skills to solve complex development problems with ease.

4
Eлектронна книга

Algorytmy, struktury danych i techniki programowania. Wydanie V

Piotr Wróblewski

Wprowadzenie do algorytmiki Tylko niezbędna teoria Gotowe rozwiązania w C++ Oto kolejne wydanie sprawdzonej, cenionej przez programistów, wykładowców oraz studentów książki, będącej podstawowym podręcznikiem do nauki algorytmiki. Jej autor zapozna Cię z elementarnymi zagadnieniami z tej dziedziny oraz wyjaśni, skąd bierze się tak szybki postęp w tej dyscyplinie nauki. Poznasz podstawowe struktury danych używane do rozwiązywania problemów algorytmicznych oraz nauczysz się je projektować w C++ z użyciem technik obiektowych i klas parametryzowanych. Podczas dalszej lektury poznasz takie pojęcia, jak rekurencja, analiza złożoności oraz algorytmy sortowania i przeszukiwania czy algorytmy numeryczne. Opanujesz metody optymalizacji algorytmów, sposoby kodowania i kompresji danych oraz elementy algorytmiki grafów. Przedstawione tu algorytmy są zilustrowane gotowymi kodami źródłowymi w C++ , co ułatwia zrozumienie poznawanych zagadnień. Przejrzysta forma, praktyczne przykłady oraz przystępny język sprawiają, że książka pozwala szybko i bez trudu opanować zarówno algorytmy, jak i struktury danych oraz najlepsze techniki programowania. Historia algorytmiki Struktury danych i ich implementacja Wprowadzenie do bibliotek STL, czyli algorytmy i struktury danych dla „leniuchów” Analiza złożoności algorytmów Wykorzystanie rekurencji i optymalizacja algorytmów Algorytmy sortowania i przeszukiwania Przeszukiwanie tekstów Zaawansowane techniki programowania Wykorzystanie grafów Algorytmy numeryczne Wprowadzenie do sztucznej inteligencji Kodowanie i kompresja danych Błyskawiczny kurs C++ z uwzględnieniem programowania obiektowego Poradnik kompilacji i uruchamiania programów konsolowych oraz graficznych w darmowych środowiskach IDE (GCC/Dev-C++, Microsoft Visual C++ z pakietu Visual Studio). Szybko i bezboleśnie opanuj wszystkie zagadnienia algorytmiki!

5
Eлектронна книга

Algorytmy, struktury danych i techniki programowania. Wydanie VI

Piotr Wróblewski

Algorytmy i struktury danych - szybko, łatwo, skutecznie! Poznaj najważniejsze algorytmy i techniki programistyczne Naucz się skutecznie wykorzystywać typy i struktury danych Dowiedz się, jak w praktyce zastosować zdobytą wiedzę Algorytmika to dziedzina, która w ciągu ostatnich kilkudziesięciu lat dostarczyła wielu efektywnych narzędzi wspomagających rozwiązywanie różnorodnych zagadnień za pomocą komputera. Dla niektórych stanowi swego rodzaju książkę kucharską, do której sięgają jedynie po wybrane przepisy, a dla innych - pole do rozwinięcia umiejętności skutecznego rozwiązywania problemów i szkołę niestandardowego myślenia. Niezależnie od podejścia jest to dziedzina, z którą wypada się zapoznać, jeśli ma się ambicję zostać zawodowym programistą lub po prostu być osobą nowoczesną i wszechstronnie wykształconą. Ten przewodnik prezentuje szerokie spektrum zagadnień algorytmicznych, najważniejsze informacje na temat struktur danych, technik rekurencyjnych i złożonych metod algorytmicznych. Teoria jest tu poparta przykładowymi programami napisanymi w języku C++, łatwymi do analizy i skompilowania z wykorzystaniem standardowych narzędzi. Autor nie poprzestaje na suchym kodzie, lecz stara się przedstawić praktyczne zastosowanie opisywanych rozwiązań. Podręcznik przyda się zarówno osobom niemającym solidnych podstaw teoretycznych, jak i specjalistom, którzy zawodowo zajmują się programowaniem. Nowe wydanie zostało gruntownie odświeżone i poprawione, a listingi dostosowane do wymagań najnowszych kompilatorów. Książka zawiera opis zasad kompilacji dla środowiska Visual Studio 2017 i kilku wybranych środowisk używających GNU C++ (Dev-C++ i Cygwin). Historia algorytmiki Mechanizm rekurencji Systemy liczbowe i kodowanie Typy i struktury danych Analiza złożoności algorytmów Derekursywacja algorytmów Optymalizacja algorytmów Algorytmy sortowania i wyszukiwania Elementy algorytmiki grafów Sztuczna inteligencja Szyfrowanie i kompresja danych Biblioteka STL Jedyny podręcznik do algorytmiki, którego będziesz potrzebować!

6
Eлектронна книга
7
Eлектронна книга

Android System Programming. Porting, customizing, and debugging Android HAL

Roger Ye, Shen Liu

Android system programming involves both hardware and software knowledge to work on system level programming. The developers need to use various techniques to debug the different components in the target devices. With all the challenges, you usually have a deep learning curve to master relevant knowledge in this area. This book will not only give you the key knowledge you need to understand Android system programming, but will also prepare you as you get hands-on with projects and gain debugging skills that you can use in your future projects.You will start by exploring the basic setup of AOSP, and building and testing an emulator image. In the first project, you will learn how to customize and extend the Android emulator. Then you’ll move on to the real challenge—building your own Android system on VirtualBox. You’ll see how to debug the init process, resolve the bootloader issue, and enable various hardware interfaces. When you have a complete system, you will learn how to patch and upgrade it through recovery. Throughout the book, you will get to know useful tips on how to integrate and reuse existing open source projects such as LineageOS (CyanogenMod), Android-x86, Xposed, and GApps in your own system.

8
Eлектронна книга

Application Development with Qt Creator. Build cross-platform applications and GUIs using Qt 5 and C++ - Third Edition

Lee Zhi Eng, Ray Rischpater

Qt is a powerful development framework that serves as a complete toolset for building cross-platform applications, helping you reduce development time and improve productivity. Completely revised and updated to cover C++17 and the latest developments in Qt 5.12, this comprehensive guide is the third edition of Application Development with Qt Creator.You'll start by designing a user interface using Qt Designer and learn how to instantiate custom messages, forms, and dialogues. You'll then understand Qt's support for multithreading, a key tool for making applications responsive, and the use of Qt's Model-View-Controller (MVC) to display data and content. As you advance, you'll learn to draw images on screen using Graphics View Framework and create custom widgets that interoperate with Qt Widgets. This Qt programming book takes you through Qt Creator's latest features, such as Qt Quick Controls 2, enhanced CMake support, a new graphical editor for SCXML, and a model editor. You'll even work with multimedia and sensors using Qt Quick, and finally develop applications for mobile, IoT, and embedded devices using Qt Creator.By the end of this Qt book, you'll be able to create your own cross-platform applications from scratch using Qt Creator and the C++ programming language.

9
Eлектронна книга
10
Eлектронна книга

Architectural Visualization in Unreal Engine 5. Create photorealistic architectural interior renderings in UE5

Ludovico Palmeri

If you excel at creating beautiful architectural renderings offline, but face challenges replicating the same quality in real time, this book will show you how the versatile Unreal Engine 5 enables such transformations effortlessly. While UE5 is widely popular, existing online training resources can be overwhelming and often lack a focus on Architectural visualization. This comprehensive guide is designed for individuals managing tight deadlines, striving for photorealism, and handling typical client revisions inherent to architectural visualization.The book starts with an introduction to UE5 and its capabilities, as well as the basic concepts and principles of architectural visualization. You’ll then progress to essential topics such as setting up a project, modeling and texturing 3D assets, lighting and materials, and post-processing effects. Along the way, you’ll find practical tips, best practices, and hands-on exercises to develop your skills by applying what you learn.By the end of this UE5 book, you'll have acquired the skills to confidently create high-quality architectural visualizations in Unreal Engine and become proficient in building an architectural interior scene in UE5 to produce professional still images.

11
Eлектронна книга

Architektura oprogramowania bez tajemnic. Wykorzystaj język C++ do tworzenia wydajnych aplikacji i systemów

Adrian Ostrowski, Piotr Gaczkowski

C++ należy do najpopularniejszych i najbardziej cenionych za uniwersalność języków oprogramowania - umożliwia projektowanie rozbudowanych, a zarazem intuicyjnych w obsłudze aplikacji wysokiego poziomu. Pozwala tworzyć wydajną i czytelną architekturę oprogramowania również w wypadku znacznie zaawansowanych systemów i programów. Dzięki tej książce poznasz narzędzia i rozwiązania, które ułatwiają projektowanie w języku C++ nawet najbardziej skomplikowanych aplikacji. Autorzy przybliżają samo pojęcie architektury oprogramowania i na praktycznych przykładach wyjaśniają, na czym polega jej tworzenie. Pokazują również aktualne trendy projektowe i uczą, jak za pomocą C++ krok po kroku, element po elemencie budować aplikacje i systemy na dowolnym poziomie zaawansowania. W trakcie lektury dowiesz się, jakie warunki powinna spełniać efektywna architektura oprogramowania i jak sprawić, by gwarantowała wysoki poziom bezpieczeństwa, skalowalności i wydajności. Liczne przykłady, zrozumiałe objaśnienia i przyjazny język pozwalają na efektywne i szybkie przyswajanie wiedzy dotyczącej tworzenia rozproszonych, skomplikowanych aplikacji w C++. W książce: projektowanie aplikacji bazujących na wydajnej, nowoczesnej i czytelnej architekturze oprogramowania używanie najważniejszych zasad i wzorców projektowych umożliwiających tworzenie efektywnego kodu za pomocą języka C++ analizowanie różnych koncepcji architektury oprogramowania i stosowanie tych, które w największym stopniu odpowiadają danemu projektowi efektywne wykorzystywanie mechanizmów i rozwiązań dostępnych w najnowszej odsłonie języka C++

12
Eлектронна книга

Beginning C++ Game Programming. Learn to program with C++ by building fun games - Second Edition

John Horton

The second edition of Beginning C++ Game Programming is updated and improved to include the latest features of Visual Studio 2019, SFML, and modern C++ programming techniques. With this book, you’ll get a fun introduction to game programming by building five fully playable games of increasing complexity. You’ll learn to build clones of popular games such as Timberman, Pong, a Zombie survival shooter, a coop puzzle platformer and Space Invaders.The book starts by covering the basics of programming. You’ll study key C++ topics, such as object-oriented programming (OOP) and C++ pointers, and get acquainted with the Standard Template Library (STL). The book helps you learn about collision detection techniques and game physics by building a Pong game. As you build games, you’ll also learn exciting game programming concepts such as particle effects, directional sound (spatialization), OpenGL programmable shaders, spawning objects, and much more. Finally, you’ll explore game design patterns to enhance your C++ game programming skills.By the end of the book, you’ll have gained the knowledge you need to build your own games with exciting features from scratch

13
Eлектронна книга

Beginning C++ Programming. Modern C++ at your fingertips!

Richard Grimes

C++ has come a long way and is now adopted in several contexts. Its key strengths are its software infrastructure and resource-constrained applications, including desktop applications, servers, and performance-critical applications, not to forget its importance in game programming. Despite its strengths in these areas, beginners usually tend to shy away from learning the language because of its steep learning curve. The main mission of this book is to make you familiar and comfortable with C++. You will finish the book not only being able to write your own code, but more importantly, you will be able to read other projects. It is only by being able to read others' code that you will progress from a beginner to an advanced programmer. This book is the first step in that progression.The first task is to familiarize you with the structure of C++ projects so you will know how to start reading a project. Next, you will be able to identify the main structures in the language, functions, and classes, and feel confident being able to identify the execution flow through the code. You will then become aware of the facilities of the standard library and be able to determine whether you need to write a routine yourself, or use an existing routine in the standard library. Throughout the book, there is a big emphasis on memory and pointers. You will understand memory usage, allocation, and access, and be able to write code that does not leak memory. Finally, you will learn about C++ classes and get an introduction to object orientation and polymorphism.

14
Eлектронна книга

Biblioteki Qt. Zaawansowane programowanie przy użyciu C++

Mark Summerfield

Odkryj tajemnice biblioteki Qt! Qt to popularny zestaw bibliotek pozwalający na tworzenie atrakcyjnego interfejsu użytkownika dla różnych platform, w tym dla systemów: Windows, Mac OS X i Linux. Pierwsza wersja ukazała się w 1992 roku i od tego czasu jest intensywnie rozwijana. Za pomocą najnowszej wersji Qt można tworzyć aplikacje internetowe i mobilne. Zakres jej możliwości jest tak szeroki, że nawet doświadczeni programiści wykorzystują zaledwie ich ułamek. To może się zmienić dzięki tej książce! W trakcie lektury odkryjesz funkcje i możliwości, z których istnienia nie zdawałeś sobie sprawy. Ponadto nauczysz się pisać wydajne programy wielowątkowe, korzystać z silnika WebKit oraz współpracować z biblioteką Phonon. Dowiesz się również, jak sprawnie przy użyciu Qt tworzyć sformatowane dokumenty, a następnie eksportować je do różnych formatów (między innymi PDF, HTML i SVG). W książce znajdziesz wiele przykładów kodu, który został przetestowany przy użyciu Qt 4.6 zarówno na platformie Windows, jak i MacOS X oraz Linux. Wstęp do książki został napisany przez samego współtwórcę Qt - Eirika ChambeEnga. Sięgnij po doskonałe źródło informacji dla programistów! Dzięki tej książce: poznasz zaawansowane zastosowania biblioteki Qt wykorzystasz możliwości silnika WebKit przygotujesz atrakcyjny wizualnie dokument i wyeksportujesz go do popularnych formatów zgłębisz tajniki biblioteki Qt Wykorzystaj zaawansowane funkcje Qt!

15
Eлектронна книга

Blender 3D Printing by Example. Learn to use Blender's modeling tools for 3D printing by creating 4 projects

Vicky Somma

Blender is an open-source modeling and animation program popular in the 3D printing community. 3D printing brings along different considerations than animation and virtual reality.This book walks you through four projects to learn using Blender for 3D Printing, giving you information that you need to know to create high-quality 3D printed objects.The book starts with two jewelry projects-- a pendant of a silhouette and a bracelet with custom text. We then explore architectural modeling as you learn to makes a figurine from photos of a home. The final project, a human hand, illustrates how Blender can be used for organic models and how colors can be added to the design.You will learn modeling for 3D printing with the help of these projects. Whether you plan to print at-home or use a service bureau, you’ll start by understanding design requirements. The book begins with simple projects to get you started with 3D modeling basics and the tools available in Blender. As the book progresses, you’ll get exposed to more robust mesh modeling techniques, modifiers, and Blender shortcuts. By the time you reach your final project, you’ll be ready for organic modeling and learning how to add colors. In the final section, you’ll learn how to check for and correct common modeling issues to ensure the 3D printer can make your idea a reality!

16
Eлектронна книга

Blueprints Visual Scripting for Unreal Engine 5. Unleash the true power of Blueprints to create impressive games and applications in UE5 - Third Edition

Marcos Romero, Brenden Sewell, Luis Cataldi

Unreal Engine's Blueprint visual scripting system enables designers to script their games and programmers to create base elements that can be extended by designers. With this book, you'll explore all the features of the Blueprint Editor, along with expert tips, shortcuts, and best practices.The book guides you through using variables, macros, and functions, and helps you learn about object-oriented programming (OOP). You'll discover the Gameplay Framework and advance to learning how Blueprint Communication allows one Blueprint to access information from another Blueprint. Later chapters focus on building a fully functional game step by step. You'll start with a basic first-person shooter (FPS) template, and each chapter will build on the prototype to create an increasingly complex and robust game experience. You'll then progress from creating basic shooting mechanics to more complex systems such as user interface elements and intelligent enemy behavior. The book demonstrates how to use arrays, maps, enums, and vector operations and introduces the elements needed for VR game development. In the final chapters, you’ll learn how to implement procedural generation and create a product configurator.By the end of this book, you'll have learned how to build a fully functional game and have the skills required to develop an entertaining experience for your audience.