万本电子书0元读

万本电子书0元读

顶部广告

C++ Game Development By Example电子书

售       价:¥

1人正在读 | 0人评论 9.8

作       者:Siddharth Shekar

出  版  社:Packt Publishing

出版时间:2019-05-03

字       数:43.0万

所属分类: 进口书 > 外文原版书 > 电脑/网络

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
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.
目录展开

Dedication

About Packt

Why subscribe?

Packt.com

Contributors

About the author

About the reviewers

Packt is searching for authors like you

Preface

Who this book is for

What this book covers

To get the most out of this book

Download the example code files

Download the color images

Conventions used

Get in touch

Reviews

Section 1: Basic Concepts

C++ Concepts

Program basics

Variables

Strings

Operators

Statements

Iteration

Jump statements

Switch statement

Functions

Scope of variables

Arrays

Pointers

Structs

Enums

Classes

Inheritance

Summary

Mathematics and Graphics Concepts

3D coordinate system

Points

Vectors

Vector operations

Vector magnitude

Unit vector

Dot product

Cross product

Matrices

Matrix Addition and Subtraction

Matrix multiplication

Identity matrix

Matrix transpose

Matrix inverse

GLM OpenGL mathematics

OpenGL data types

Space transformations

Local/object space

World space

View space

Projection space

Screen space

Render pipeline

Vertex specification

Vertex shader

Vertex post-processing

Primitive assembly

Rasterization

Fragment shader

Per-sample operation

Framebuffer

Summary

Section 2: SFML 2D Game Development

Setting Up Your Game

An overview of SFML

Downloading SFML and configuring Visual Studio

Creating a window

Drawing shapes

Adding sprites

Keyboard input

Handing player movement

Summary

Creating Your Game

Starting afresh

Creating the hero class

Creating the enemy class

Adding enemies

Creating a rocket class

Adding rockets

Collision detection

Summary

Finalizing Your Game

Finishing the Gameloop and adding scoring

Adding text

Adding audio

Adding player animations

Summary

Section 3: Modern OpenGL 3D Game Development

Getting Started with OpenGL

What is OpenGL?

Creating our first OpenGL project

Creating a window and ClearScreen

Creating a Mesh class

Creating a Camera class

The ShaderLoader class

The Light Renderer class

Drawing the object

Summary

Building on the Game Objects

Creating a MeshRenderer class

Creating the TextureLoader class

Adding Bullet Physics

Adding rigid bodies

Summary

Enhancing Your Game with Collision, Loop, and Lighting

Adding a RigidBody name

Adding an enemy

Moving the enemy

Checking collision

Adding keyboard controls

Game loop and scoring

Text rendering

Adding lighting

Summary

Section 4: Rendering 3D Objects with Vulkan

Getting Started with Vulkan

About Vulkan

Configuring Visual Studio

Vulkan validation layers and extensions

Vulkan instances

The Vulkan Context class

Creating the window surface

Picking a physical device and creating a logical device

Summary

Preparing the Clear Screen

Creating the SwapChain

Creating the Renderpass

Using render targets and Framebuffers

Creating CommandBuffer

Begining and ending Renderpass

Creating the clear screen

Summary

Creating Object Resources

Updating the Mesh class for Vulkan

Creating the ObjectBuffers class

Creating the Descriptor class

Creating the SPIR-V shader binary

Summary

Drawing Vulkan Objects

Preparing the graphics pipeline class

Shader stage create info

Vertex input state create info

Input assembly create info

Rasterization state create info

MultiSample state create info

Depth and stencil create info

Color blend state create info

Dynamic state info

Viewport state create info

Graphics pipeline create info

Object renderer class

Changes to the VulkanContext class

Camera class

Drawing the object

Synchronizing the object

References

Summary

Other Books You May Enjoy

Leave a review - let other readers know what you think

累计评论(0条) 0个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部