Sanjay Madhav. -- Addison-Wesley, -- [2018], --

所蔵

所蔵は 1 件です。

所蔵館 所蔵場所 資料区分 請求記号 資料コード 所蔵状態 資料の利用
配架日 協力貸出 利用状況 返却予定日 資料取扱 予約数 付録注記 備考
中央 書庫 一般洋図書 F/007.6/M18/G 7112992313 Digital BookShelf
2020/10/06 可能 利用可   0

Eメールによる郵送複写申込みは、「東京都在住」の登録利用者の方が対象です。

    • 統合検索
      都内図書館の所蔵を
      横断検索します。
      類似資料 AI Shelf
      この資料に類似した資料を
      AIが紹介します。

資料詳細 閉じる

ISBN 0134597206 (paperback)
ISBN13桁 9780134597201 (paperback)
テキストの言語 英語                  
分類:NDC10版 007.64
個人著者標目 Madhav, Sanjay.
本タイトル Game programming in C++ :
タイトル関連情報 creating 3D games /
著者名 Sanjay Madhav.
その他のタイトル Game programming in Cplusplus
出版地・頒布地 Boston :
出版者・頒布者名 Addison-Wesley,
出版年・頒布年 [2018],
数量 xxii, 499 pages :
他の形態的事項 illustrations ;
大きさ 23 cm.
書誌注記 Includes bibliographical references and index.
内容注記 Setting Up a Development Environment -- Microsoft Windows -- Apple macOS -- Getting This Book's Source Code -- Beyond the C++ Standard Library -- The Game Loop and Game Class -- Anatomy of a Frame -- Implementing a Skeleton Game Class -- Main Function -- Basic Input Processing -- Basic 2D Graphics -- The Color Buffer -- Double Buffering -- Implementing Basic 2D Graphics -- Drawing Walls, a Ball, and a Paddle -- Updating the Game -- Real Time and Game Time -- Logic as a Function of Delta Time -- Updating the Paddle's Position -- Updating the Ball's Position -- Game Project -- Summary -- Additional Reading -- Exercises -- Exercise 1.1 -- Exercise 1.2 -- Game Objects -- Types of Game Objects -- Game Object Models -- Integrating Game Objects into the Game Loop -- Sprites -- Loading Image Files -- Drawing Sprites -- Animating Sprites -- Scrolling Backgrounds -- Game Project -- Summary -- Additional Reading -- Exercises -- Exercise 2.1. -- Exercise 2.2 -- Exercise 2.3 -- Vectors -- Getting a Vector between Two Points: Subtraction -- Scaling a Vector: Scalar Multiplication -- Combining Two Vectors: Addition -- Determining a Distance: Length -- Determining Directions: Unit Vectors and Normalization -- Converting from an Angle to a Forward Vector -- Converting a Forward Vector to an Angle: Arctangent -- Determining the Angle between Two Vectors: Dot Product -- Calculating a Normal: Cross Product -- Basic Movement -- Creating a Basic MoveComponent Class -- Creating an InputComponent Class -- Newtonian Physics -- Linear Mechanics Overview -- Computing Positions with Euler Integration -- Issues with Variable Time Steps -- Basic Collision Detection -- Circle-Versus-Circle Intersection -- Creating a CircleComponent Subclass -- Game Project -- Summary -- Additional Reading -- Exercises -- Exercise 3.1 -- Exercise 3.2 -- Exercise 3.3 -- State Machine Behaviors -- Designing a State Machine -- Basic State Machine Implementation -- States as Classes -- Pathfinding -- Graphs -- Breadth-First Search -- Heuristics -- Greedy Best-First Search -- A Search -- Dijkstra's Algorithm -- Following a Path -- Other Graph Representations -- Game Trees -- Minimax -- Handling Incomplete Game Trees -- Alpha-Beta Pruning -- Game Project -- Summary -- Additional Reading -- Exercises -- Exercise 4.1 -- Exercise 4.2 -- Initializing OpenGL -- Setting Up the OpenGL Window -- The OpenGL Context and Initializing GLEW -- Rendering a Frame -- Triangle Basics -- Why Polygons? -- Normalized Device Coordinates -- Vertex and Index Buffers -- Shaders -- Vertex Shaders -- Fragment Shaders -- Writing Basic Shaders -- Loading Shaders -- Drawing Triangles -- Transformation Basics -- Object Space -- World Space -- Transforming to World Space -- Matrices and Transformations -- Matrix Multiplication -- Transforming a Point by Using a Matrix -- Transforming to World Space, Revisited -- Adding World Transforms to Actor -- Transforming from World Space to Clip Space -- Updating Shaders to Use Transform Matrices -- Texture Mapping -- Loading the Texture -- Updating the Vertex Format -- Updating the Shaders -- Alpha Blending -- Game Project -- Summary -- Additional Reading -- Exercises -- Exercise 5.1 -- Exercise 5.2 -- The Actor Transform in 3D -- Transform Matrices for 3D -- Euler Angles -- Quaternions -- New Actor Transform in Action -- Loading 3D Models -- Choosing a Model Format -- Updating the Vertex Attributes -- Loading a gpmesh File -- Drawing 3D Meshes -- Transforming to Clip Space, Revisited -- Out with the Painter's Algorithm, in with Z-Buffering -- The BasicMesh Shader -- The MeshComponent Class -- Lighting -- Revisiting Vertex Attributes -- Types of Lights -- Phong Reflection Model -- Implementing Lighting -- Game Project -- Summary -- Additional Reading -- Exercises -- Exercise 6.1. -- Exercise 6.2 -- Bootstrapping Audio -- FMOD -- Installing FMOD -- Creating an Audio System -- Banks and Events -- The SoundEvent Class -- 3D Positional Audio -- Setting Up a Basic Listener -- Adding Positional Functionality to SoundEvent -- Creating an AudioComponent to Associate Actors -- with Sound Events -- The Listener in a Third-Person Game -- The Doppler Effect -- Mixing and Effects -- Buses -- Snapshots -- Occlusion -- Game Project -- Summary -- Additional Reading -- Exercises -- Exercise 7.1 -- Exercise 7.2 -- Input Devices -- Polling -- Positive and Negative Edges -- Events -- Basic InputSystem Architecture -- Keyboard Input -- Mouse Input -- Buttons and Position -- Relative Motion -- Scroll Wheel -- Controller Input -- Enabling a Single Controller -- Buttons -- Analog Sticks and Triggers -- Filtering Analog Sticks in Two Dimensions -- Supporting Multiple Controllers -- Input Mappings -- Game Project -- Summary -- Additional Reading -- Exercises -- Exercise 8.1 -- Exercise 8.2 -- First-Person Camera -- Basic First-Person Movement -- Camera (Without Pitch) -- Adding Pitch -- First-Person Model -- Follow Camera -- Basic Follow Camera -- Adding a Spring -- Orbit Camera -- Spline Camera -- Unprojection -- Game Project -- Summary -- Additional Reading -- Exercises -- Exercise 9.1 -- Exercise 9.2 -- Geometric Types -- Line Segments -- Planes -- Bounding Volumes -- Intersection Tests -- Contains Point Tests -- Bounding Volume Tests -- Line Segment Tests -- Dynamic Objects -- Adding Collisions to Game Code -- The BoxComponent Class -- The PhysWorld Class -- Ball Collisions with SegmentCast -- Testing Box Collisions in PhysWorld -- Player Collision Against the Walls -- Game Project -- Summary -- Additional Reading -- Exercises -- Exercise 10.1 -- Exercise 10.2 -- Exercise 10.3 -- Font Rendering -- UI Screens -- The UI Screen Stack -- The Pause Menu -- Buttons -- Dialog Boxes -- HUD Elements -- Adding an Aiming Reticule -- Adding Radar -- Localization -- Working with Unicode -- Adding a Text Map -- Other Localization Concerns -- Supporting Multiple Resolutions -- Game Project -- Summary -- Additional Reading -- Exercises -- Exercise 11.1 -- Exercise 11.2 -- Exercise 11.3 -- Foundations of Skeletal Animation -- Skeletons and Poses -- The Inverse Bind Pose Matrix -- Animation Data -- Skinning -- Implementing Skeletal Animation -- Drawing with Skinning Vertex Attributes -- Loading a Skeleton -- Loading the Animation Data -- The Skinning Vertex Shader -- Updating Animations -- Game Project -- Summary -- Additional Reading -- Exercises -- Exercise 12.1 -- Exercise 12.2 -- Improving Texture Quality -- Texture Sampling, Revisited -- Mipmapping -- Anisotropic Filtering -- Rendering to Textures -- Creating the Texture -- Creating a Framebuffer Object -- Rendering to a Framebuffer Object -- Drawing the Mirror Texture in the HUD -- Deferred Shading - Creating a G-Buffer Class -- Writing to the G-buffer -- Global Lighting -- Adding Point Lights -- Improvements and Issues -- Game Project -- Summary -- Additional Reading -- Exercises -- Exercise 13.1 -- Exercise 13.2 -- Level File Loading -- Loading Global Properties -- Loading Actors -- Loading Components -- Saving Level Files -- Saving Global Properties -- Saving Actors and Components -- Binary Data -- Saving a Binary Mesh File -- Loading a Binary Mesh File -- Game Project -- Summary -- Additional Reading -- Exercises -- Exercise 14.1 -- Exercise 14.2.
要約、抄録、注釈等 "The #1 Language at Top Game Studios Worldwide C++ remains the key language at many leading game development studios. Since it's used throughout their enormous code bases, studios use it to maintain and improve their games, and look for it constantly when hiring new developers. Game Programming in C++ is a practical, hands-on approach to programming 3D video games in C++. Modeled on Sanjay Madhav's game programming courses at USC, it's fun, easy, practical, hands-on, and complete. Step by step, you'll learn to use C++ in all facets of real-world game programming, including 2D and 3D graphics, physics, AI, audio, user interfaces, and much more. You'll hone real-world skills through practical exercises, and deepen your expertise through start-to-finish projects that grow in complexity as you build your skills. Throughout, Madhav pays special attention to demystifying the math that all professional game developers need to know. Set up your C++ development tools quickly, and get started Implement basic 2D graphics, game updates, vectors, and game physics Build more intelligent games with widely used AI algorithms Implement 3D graphics with OpenGL, shaders, matrices, and transformations Integrate and mix audio, including 3D positional audio Detect collisions of objects in a 3D environment Efficiently respond to player input Build user interfaces, including Head-Up Displays (HUDs) Improve graphics quality with anisotropic filtering and deferred shading Load and save levels and binary game data Whether you're a working developer or a student with prior knowledge of C++ and data structures, Game Programming in C++ will prepare you to solve real problems with C++ in roles throughout the game development lifecycle. You'll master the language that top studios are hiring for-and that's a proven route to success."--ONIX annotation.
統一タイトル(シリーズ副出標目) Addison-Wesley game design and development series.
シリーズ名・巻次 Addison-Wesley game design and development series 
一般件名 C++ (Computer program language)
Computer games -- Programming.
資料情報1 『Game programming in C++ : creating 3D games /』(Addison-Wesley game design and development series) Sanjay Madhav. Addison-Wesley, [2018], (所蔵館:中央  請求記号:F/007.6/M18/G  資料コード:7112992313)
URL https://catalog.library.metro.tokyo.lg.jp/winj/opac/switch-detail.do?lang=ja&bibid=1352043434