Take a look at our Computer Graphics books. Shulph carries a great selection of Computer Graphics books, and we are always adding more.
Get to grips with programming techniques and game development using C++ libraries and Visual Studio 2019 Key Features Learn game development and C++ with a fun, example-driven approach Build clones of popular games such as Timberman, Zombie Survival Shooter, a co-op puzzle platformer, and Space Invaders Discover tips to expand your finished games by thinking critically, technically, and creatively Book Description 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 What you will learn Set up your game development project in Visual Studio 2019 and explore C++ libraries such as SFML Explore C++ OOP by building a Pong game Understand core game concepts such as game animation, game physics, collision detection, scorekeeping, and game sound Use classes, inheritance, and references to spawn and control thousands of enemies and shoot rapid-fire machine guns Add advanced features to your game using pointers, references, and the STL Scale and reuse your game code by learning modern game programming design patterns Who this book is for This book is perfect for you if you have no C++ programming knowledge, you need a beginner-level refresher course, or you want to learn how to build games or just use games as an engaging way to learn C++. Whether you aspire to publish a game (perhaps on Steam) or just want to impress friends with your creations, you'll find this book useful.
Explore modern game programming and rendering techniques to build games using C++ programming language and its popular libraries Key Features Learn how you can build basic 2D and complex 3D games with C++ Understand shadows, texturing, lighting, and rendering in 3D game development using OpenGL Uncover modern graphics programming techniques and GPU compute methods using the Vulkan API Book Description Although numerous languages are currently being used to develop games, C++ remains the standard for fabricating expert libraries and tool chains for game development. This book introduces you to the world of game development with C++. C++ Game Development By Example starts by touching upon the basic concepts of math, programming, and computer graphics and creating a simple side-scrolling action 2D game. You'll build a solid foundation by studying basic game concepts such as creating game loops, rendering 2D game scenes using SFML, 2D sprite creation and animation, and collision detection. The book will help you advance to creating a 3D physics puzzle game using modern OpenGL and the Bullet physics engine. You'll understand the graphics pipeline, which entails creating 3D objects using vertex and index buffers and rendering them to the scene using vertex and fragment shaders. Finally, you'll create a basic project using the Vulkan library that'll help you get to grips with creating swap chains, image views, render passes, and frame buffers for building high-performance graphics in your games. By the end of this book, you'll be ready with 3 compelling projects created with SFML, the Vulkan API, and OpenGL, and you'll be able take your game and graphics programming skills to the next level. What you will learn Understand shaders and how to write a basic vertex and fragment shader Build a Visual Studio project and add SFML to it Discover how to create sprite animations and a game character class Add sound effects and background music to your game Grasp how to integrate Vulkan into Visual Studio Create shaders and convert them to the SPIR-V binary format Who this book is for If you're a developer keen to learn game development with C++ or get up to date with game development, this book is for you. Some knowledge of C++ programming is assumed.
A practical guide to building high performance systems for object detection, segmentation, video processing, smartphone applications, and more. Key Features Discover how to build, train, and serve your own deep neural networks with TensorFlow 2 and Keras Apply modern solutions to a wide range of applications such as object detection and video analysis Learn how to run your models on mobile devices and webpages and improve their performance Book Description Computer vision solutions are becoming increasingly common, making their way in fields such as health, automobile, social media, and robotics. This book will help you explore TensorFlow 2, the brand new version of Google's open source framework for machine learning. You will understand how to benefit from using convolutional neural networks (CNNs) for visual tasks. Hands-On Computer Vision with TensorFlow 2 starts with the fundamentals of computer vision and deep learning, teaching you how to build a neural network from scratch. You will discover the features that have made TensorFlow the most widely used AI library, along with its intuitive Keras interface, and move on to building, training, and deploying CNNs efficiently. Complete with concrete code examples, the book demonstrates how to classify images with modern solutions, such as Inception and ResNet, and extract specific content using You Only Look Once (YOLO), Mask R-CNN, and U-Net. You will also build Generative Adversarial Networks (GANs) and Variational Auto-Encoders (VAEs) to create and edit images, and LSTMs to analyze videos. In the process, you will acquire advanced insights into transfer learning, data augmentation, domain adaptation, and mobile and web deployment, among other key concepts. By the end of the book, you will have both the theoretical understanding and practical skills to solve advanced computer vision problems with TensorFlow 2.0. What you will learn Create your own neural networks from scratch Classify images with modern architectures including Inception and ResNet Detect and segment objects in images with YOLO, Mask R-CNN, and U-Net Tackle problems in developing self-driving cars and facial emotion recognition systems Boost your application's performance with transfer learning, GANs, and domain adaptation Use recurrent neural networks for video analysis Optimize and deploy your networks on mobile devices and in the browser Who this book is for If you're new to deep learning and have some background in Python programming and image processing, like reading/writing image files and editing pixels, this book is for you. Even if you're an expert curious about the new TensorFlow 2 features, you'll find this book useful. While some theoretical explanations require knowledge in algebra and calculus, the book covers concrete examples for learners focused on practical applications such as visual recognition for self-driving cars and smartphone apps.
Develop your own games with Unity 2D/3D Game Kit and use it for your presentations, kids education, level design, game design, proofs of concept, or even just for fun! Key Features Build your first ever video game using Unity 2D/3D Game kit Learn how to create game levels, adding props, giving behaviours to objects and working on gameplay Step by step instructions on creating your own AI enemy and interacting with it Book Description Hands-On Game Development without Coding is the first Visual Scripting book in the market. It was tailor made for a non programing audience who are wondering how a videogame is made. After reading this book you will be able to develop your own 2d and 3d videogames and use it on your presentations, to speed up your level design deliveries, test your game design ideas, work on your proofs of concept, or even doing it just for fun. The best thing about Hands-On Game Development without Coding is that you don't need any previous knowledge to read and understand the process of creating a videogame. It is our main focus to provide you with the opportunity to create a videogame as easy and fast as possible. Once you go through the book, you will be able to create player input interaction, levels, object behaviours, enemy AI, creating your own UI and finally giving life to your game by building it. It's Alive! What you will learn Understanding the Interface and kit flow. Comprehend the virtual space and its rules. Learning the behaviours and roles each component must have in order to make a videogame. Learn about videogame development Creating a videogame without the need of learning any programming language Create your own gameplay HUD to display player and Enemy information Who this book is for This book is for anyone who is interested in becoming a game developer but do not posses any coding experience or programming skills. All you need is a computer and basic software interface knowledge.
Discover how CUDA allows OpenCV to handle complex and rapidly growing image data processing in computer and machine vision by accessing the power of GPU Key Features Explore examples to leverage the GPU processing power with OpenCV and CUDA Enhance the performance of algorithms on embedded hardware platforms Discover C++ and Python libraries for GPU acceleration Book Description Computer vision has been revolutionizing a wide range of industries, and OpenCV is the most widely chosen tool for computer vision with its ability to work in multiple programming languages. Nowadays, in computer vision, there is a need to process large images in real time, which is difficult to handle for OpenCV on its own. This is where CUDA comes into the picture, allowing OpenCV to leverage powerful NVDIA GPUs. This book provides a detailed overview of integrating OpenCV with CUDA for practical applications. To start with, you'll understand GPU programming with CUDA, an essential aspect for computer vision developers who have never worked with GPUs. You'll then move on to exploring OpenCV acceleration with GPUs and CUDA by walking through some practical examples. Once you have got to grips with the core concepts, you'll familiarize yourself with deploying OpenCV applications on NVIDIA Jetson TX1, which is popular for computer vision and deep learning applications. The last chapters of the book explain PyCUDA, a Python library that leverages the power of CUDA and GPUs for accelerations and can be used by computer vision developers who use OpenCV with Python. By the end of this book, you'll have enhanced computer vision applications with the help of this book's hands-on approach. What you will learn Understand how to access GPU device properties and capabilities from CUDA programs Learn how to accelerate searching and sorting algorithms Detect shapes such as lines and circles in images Explore object tracking and detection with algorithms Process videos using different video analysis techniques in Jetson TX1 Access GPU device properties from the PyCUDA program Understand how kernel execution works Who this book is for This book is a go-to guide for you if you are a developer working with OpenCV and want to learn how to process more complex image data by exploiting GPU processing. A thorough understanding of computer vision concepts and programming languages such as C++ or Python is expected.
Learn the fundamentals of C++ programming with a fun-filled, practical guide and create your own games using Unreal Engine 4. Key Features - Gain foundational knowledge of C++ language and syntax while creating games with UE4. - Build 2D and 3D games having compelling user interfaces, game physics, and artificial intelligence. - Discover the latest trends in game development such as Virtual Reality, Augmented Reality, and AI. Book Description Learning to program in C++ requires some serious motivation. Unreal Engine 4 (UE4) is a powerful C++ engine with a full range of features used to create top-notch, exciting games by AAA studios, making it the fun way to dive into learning C++17. This book starts by installing a code editor so you can begin to write C++17 code. You will then get acquainted with important C++ aspects, such as variables and memory, if, else, and switch, looping, functions and macros, objects, classes, inheritance, and dynamic memory allocation. As we dig into more advanced C++17 concepts, you will also start to explore the functionality the UE4 engine has to offer. You will use the UE4 editor to create your own world, and then program in some seriously fun gameplay. We delve further to discuss building game features, pathfinding, behavior trees, and more, and introduce you to the basics of machine learning and neural networks. We go on to talk about improving UI feedback with UMG and audio. In this edition of the book, we add the latest VR and AR features along with procedural programming. By the end of this book, you should have a good grasp of how to program in C++17. What you will learn - Learn the basics of C++ and also basic UE4 editing. - Learn your way around the UE4 editor and the basics of using C++ and Blueprints within the engine. - Learn how to use basic C++ containers and data structures to store your game data. - Create players, NPCs, and monsters. - Give information to users using the UE4 UMG UI system. - Gain a basic understanding of how to use procedural programming to give your game more replay value. - Learn how UE4 can help you build projects using the hottest new technologies, such as VR and AR Who this book is for If you are really passionate about games and have always wanted to write your own, this book is perfect for you. It will help you get started with programming in C++ and explore the immense functionalities of UE4.
Work on practical computer vision projects covering advanced object detector techniques and modern deep learning and machine learning algorithms Key Features Learn about the new features that help unlock the full potential of OpenCV 4 Build face detection applications with a cascade classifier using face landmarks Create an optical character recognition (OCR) model using deep learning and convolutional neural networks Book Description Mastering OpenCV, now in its third edition, targets computer vision engineers taking their first steps toward mastering OpenCV. Keeping the mathematical formulations to a solid but bare minimum, the book delivers complete projects from ideation to running code, targeting current hot topics in computer vision such as face recognition, landmark detection and pose estimation, and number recognition with deep convolutional networks. You'll learn from experienced OpenCV experts how to implement computer vision products and projects both in academia and industry in a comfortable package. You'll get acquainted with API functionality and gain insights into design choices in a complete computer vision project. You'll also go beyond the basics of computer vision to implement solutions for complex image processing projects. By the end of the book, you will have created various working prototypes with the help of projects in the book and be well versed with the new features of OpenCV4. What you will learn Build real-world computer vision problems with working OpenCV code samples Uncover best practices in engineering and maintaining OpenCV projects Explore algorithmic design approaches for complex computer vision tasks Work with OpenCV's most updated API (v4.0.0) through projects Understand 3D scene reconstruction and Structure from Motion (SfM) Study camera calibration and overlay AR using the ArUco Module Who this book is for This book is for those who have a basic knowledge of OpenCV and are competent C++ programmers. You need to have an understanding of some of the more theoretical/mathematical concepts, as we move quite quickly throughout the book.
Over 70 recipes that cover advanced techniques for 3D programming such as lighting, shading, textures, particle systems, and image processing with OpenGL 4.6 Key Features Explore techniques for implementing shadows using shadow maps and shadow volumes Learn to use GLSL features such as compute, geometry, and tessellation shaders Use GLSL to create a wide variety of modern, realistic visual effects Book Description OpenGL 4 Shading Language Cookbook, Third Edition provides easy-to-follow recipes that first walk you through the theory and background behind each technique, and then proceed to showcase and explain the GLSL and OpenGL code needed to implement them. The book begins by familiarizing you with beginner-level topics such as compiling and linking shader programs, saving and loading shader binaries (including SPIR-V), and using an OpenGL function loader library. We then proceed to cover basic lighting and shading effects. After that, you'll learn to use textures, produce shadows, and use geometry and tessellation shaders. Topics such as particle systems, screen-space ambient occlusion, deferred rendering, depth-based tessellation, and physically based rendering will help you tackle advanced topics. OpenGL 4 Shading Language Cookbook, Third Edition also covers advanced topics such as shadow techniques (including the two of the most common techniques: shadow maps and shadow volumes). You will learn how to use noise in shaders and how to use compute shaders. The book provides examples of modern shading techniques that can be used as a starting point for programmers to expand upon to produce modern, interactive, 3D computer-graphics applications. What you will learn Compile, debug, and communicate with shader programs Use compute shaders for physics, animation, and general computing Learn about features such as shader storage buffer objects and image load/store Utilize noise in shaders and learn how to use shaders in animations Use textures for various effects including cube maps for reflection or refraction Understand physically based reflection models and the SPIR-V Shader binary Learn how to create shadows using shadow maps or shadow volumes Create particle systems that simulate smoke, fire, and other effects Who this book is for If you are a graphics programmer looking to learn the GLSL shading language, this book is for you. A basic understanding of 3D graphics and programming experience with C++ are required.
Over 90 recipes to help you develop widgets, forms, layouts, charts, and much more using the latest features of Python 3 Key Features Use object-oriented programming to develop impressive GUIs in Python Create interesting charts to visually represent data using Matplotlib Develop GUIs with the latest versions of tkinter, PyQt5, and wxPython frameworks Book Description Python is a multi-domain, interpreted programming language that is easy to learn and implement. With its wide support for frameworks to develop GUIs, you can build interactive and beautiful GUI-based applications easily using Python. This third edition of Python GUI Programming Cookbook follows a task-based approach to help you create effective GUIs with the smallest amount of code. Every recipe in this book builds upon the last to create an entire, real-life GUI application. These recipes also help you solve problems that you might encounter while developing GUIs. This book mainly focuses on using Python's built-in tkinter GUI framework. You'll learn how to create GUIs in Python using simple programming styles and object-oriented programming (OOP). As you add more widgets and expand your GUI, you will learn how to connect to networks, databases, and graphical libraries that greatly enhance the functionality of your GUI. You'll also learn how to use threading to ensure that your GUI doesn't become unresponsive. Toward the end, you'll learn about the versatile PyQt GUI framework, which comes along with its own visual editor that allows you to design GUIs using drag and drop features. By the end of the book, you'll be an expert in designing Python GUIs and be able to develop a variety of GUI applications with ease. What you will learn Create amazing GUIs with Python's built-in tkinter module Customize GUIs using layout managers to arrange GUI widgets Advance from the typical waterfall coding style to an OOP style using Python Develop beautiful charts using the free Matplotlib Python module Use threading in a networked environment to make GUIs responsive Discover ways to connect GUIs to a MySQL database Understand how unit tests can be created and internationalize GUI Delve into the world of GUI creation using PyQt5 Who this book is for If you're a programmer or developer looking to enhance your Python skills by writing powerful GUI applications, this book is for you. Familiarity with the Python programming language is necessary to get the most out of the book.
Get up to speed with a series of performance-enhancing coding techniques and methods that will help you improve the performance of your Unity applications Key Features Optimize graphically intensive games using the latest features of Unity such as Electronic Clearance Service (ECS) and the Burst compiler Explore techniques for solving performance issues with your VR projects Learn best practices for project organization to save time through an improved workflow Book Description Unity engine comes with a great set of features to help you build high-performance games. This Unity book is your guide to optimizing various aspects of your game development, from game characters and scripts, right through to animations. You'll explore techniques for writing better game scripts and learn how to optimize a game using Unity technologies such as ECS and the Burst compiler. The book will also help you manage third-party tooling used with the Unity ecosystem. You'll also focus on the problems in the performance of large games and virtual reality (VR) projects in Unity, gaining insights into detecting performance issues and performing root cause analysis. As you progress, you'll discover best practices for your Unity C# script code and get to grips with usage patterns. Later, you'll be able to optimize audio resources and texture files, along with effectively storing and using resource files. You'll then delve into the Rendering Pipeline and learn how to identify performance problems in the pipeline. In addition to this, you'll learn how to optimize the memory and processing unit of Unity. Finally, you'll cover tips and tricks used by Unity professionals to improve the project workflow. By the end of this book, you'll have developed the skills you need to build interactive games using Unity and its components. What you will learn Apply the Unity Profiler to find bottlenecks in your app, and discover how to resolve them Discover performance problems that are critical for VR projects and learn how to tackle them Enhance shaders in an accessible way, optimizing them with subtle yet effective performance tweaks Use the physics engine to keep scenes as dynamic as possible Organize, filter, and compress art assets to maximize performance while maintaining high quality Use the Mono framework and C# to implement low-level enhancements that maximize memory usage and prevent garbage collection Who this book is for The book is intended for intermediate Unity game developers who wants to maximize the performance of their game. The book assumes familiarity with C# programming.