001450576 000__ 06599cam\a2200565\i\4500 001450576 001__ 1450576 001450576 003__ OCoLC 001450576 005__ 20230310004532.0 001450576 006__ m\\\\\o\\d\\\\\\\\ 001450576 007__ cr\cn\nnnunnun 001450576 008__ 221022s2022\\\\caua\\\\o\\\\\001\0\eng\d 001450576 019__ $$a1348287736 001450576 020__ $$a9781484286524$$q(electronic bk.) 001450576 020__ $$a1484286529$$q(electronic bk.) 001450576 020__ $$z1484286510 001450576 020__ $$z9781484286517 001450576 0247_ $$a10.1007/978-1-4842-8652-4$$2doi 001450576 035__ $$aSP(OCoLC)1348486576 001450576 040__ $$aEBLCP$$beng$$erda$$cEBLCP$$dORMDA$$dEBLCP$$dGW5XE$$dYDX$$dOCLCF$$dUKAHL$$dOCLCQ 001450576 049__ $$aISEA 001450576 050_4 $$aQA76.76.C672 001450576 08204 $$a794.8/1526$$223/eng/20221025 001450576 1001_ $$aIlett, Daniel,$$eauthor. 001450576 24510 $$aBuilding quality shaders for Unity® :$$busing shader graphs and HLSL shaders /$$cDaniel Ilett. 001450576 264_1 $$aBerkeley, CA :$$bApress L. P.,$$c2022. 001450576 300__ $$a1 online resource (xx, 734 pages) :$$billustrations (chiefly color) 001450576 336__ $$atext$$btxt$$2rdacontent 001450576 337__ $$acomputer$$bc$$2rdamedia 001450576 338__ $$aonline resource$$bcr$$2rdacarrier 001450576 500__ $$aDescription based upon print version of record. 001450576 500__ $$aIncludes index. 001450576 5050_ $$aIntro -- Table of Contents -- About the Author -- About the Technical Reviewer -- Acknowledgments -- Introduction -- Chapter 1: Introduction to Shaders in Unity -- Rendering -- Game Data -- The Vertex Shader -- The Fragment Shader -- Unity's Render Pipelines -- Shader Graph -- Summary -- Chapter 2: Math for Shader Development -- Vectors -- Position and Direction Vectors -- Vector Addition and Subtraction -- Scalar Multiplication -- Vector Magnitude -- Vector Normalization -- Basis Vectors and Linear Combinations -- Dot Product -- Cross Product -- Matrices -- Matrix Addition and Subtraction 001450576 5058_ $$aScalar Multiplication -- Square, Diagonal, and Identity Matrices -- Matrix Transpose -- Matrix Determinant -- Matrix Multiplication -- Matrix Inverse -- Matrix Transformations -- Scaling Matrices -- Rotation Matrices -- Translation Matrices -- Homogeneous Coordinates -- Space Transformations -- Object-to-World Space Transformation -- World-to-View Space Transformation -- View-to-Clip Space Transformation -- Perspective Divide -- Summary -- Chapter 3: Your Very First Shader -- Project Setup -- Creating a Project -- Setting Up the Scene -- Writing a Shader in Unity -- Writing ShaderLab Code 001450576 5058_ $$aAdding a SubShader -- SubShader Tags -- Adding a Pass -- Pragma Directives and Includes -- Controlling Data Flow with Structs -- The appdata Struct -- The v2f Struct -- Variables in HLSL -- The Vertex Shader -- The Fragment Shader -- The SRP Batcher and Constant Buffers -- Common Shader Syntax -- Scalar Types -- Vector Types -- Matrix Types -- Included Variables -- Transformation Matrices -- Time-Based Variables -- Summary -- Chapter 4: Shader Graph -- Shader Graph Overview -- Creating a Basic Shader in Shader Graph -- Scene Setup -- The Shader Graph Interface -- The Toolbar -- Togglable Windows 001450576 5058_ $$aThe Graph Environment -- Adding Properties -- Property Naming -- Common Property Options -- Color Property Options -- Building the Graph -- Shader Graph Features -- Adding Blocks to the Master Stack -- Redirect Node -- Preview Node -- Color Mode -- Shader Path -- Node Groups -- Sticky Notes -- Node Snapping -- Sub Graphs -- Color Invert Sub Graph -- Custom Function Node -- Color Invert Custom Function -- Custom Function String Mode -- Custom Function File Mode -- Summary -- Chapter 5: Textures and UV Coordinates -- Basic Texturing -- Texture Support in HLSL -- Adding Texture Properties 001450576 5058_ $$aTexture Coordinates -- Texture Sampling -- Texture Support in Shader Graph -- Applying Tiling and Offset Vectors -- Sampling Textures -- Mipmaps and Level of Detail -- Level of Detail -- Texture LOD in HLSL -- Texture LOD in Shader Graph -- Sampling Options -- Wrap Mode -- Filter Mode -- Sampler States -- Sampler States in HLSL -- Sampler States in Shader Graph -- Summary -- Chapter 6: Advanced Texturing -- Base Shader in HLSL -- Modifying Texture Coordinates -- UV Rotation -- UV Rotation in HLSL -- UV Rotation in Shader Graph -- Flipbook Mapping -- Flipbooks in HLSL -- Flipbooks in Shader Graph 001450576 506__ $$aAccess limited to authorized users. 001450576 520__ $$aUnderstand what shaders are and what they're used for: Shaders are often seen as mystical and difficult to develop, even by skilled programmers, artists, and developers from other game design disciplines. This book dispels that idea by building up your shader knowledge in stages, starting with fundamental shader mathematics and how shader development mindset differs from other types of art and programming, and slowly delves into topics such as vertex and fragment shaders, lighting, depth-based effects, texture mapping, and Shader Graph. This book presents each of these topics with a comprehensive breakdown, the required theory, and some practical applications for the techniques learned during each chapter. The HLSL (High Level Shading Language) code and Shader Graphs will be provided for each relevant section, as well as plenty of screenshots. By the end of this book, you will have a good understanding of the shader development pipeline and you will be fully equipped to start making your own aesthetic and performant shader effects for your own games! You Will Learn To • Use shaders across Unity's rendering pipelines • Write shaders and modify their behavior with C# scripting • Use Shader Graph for codeless development • Understand the important math behind shaders, particularly space transformations • Profile the performance of shaders to identify optimization targets Who Is This Book For This book is intended for beginners to shader development, or readers who may want to make the jump from shader code to Shader Graph. It will also include a section on shader examples for those who already know the fundamentals of shaders and are looking for specific use cases. 001450576 63000 $$aUnity (Electronic resource) 001450576 650_0 $$aComputer graphics. 001450576 650_0 $$aComputer games$$xProgramming. 001450576 650_0 $$aThree-dimensional display systems. 001450576 655_0 $$aElectronic books. 001450576 77608 $$iPrint version:$$aIlett, Daniel$$tBuilding Quality Shaders for Unity®$$dBerkeley, CA : Apress L. P.,c2022$$z9781484286517 001450576 852__ $$bebk 001450576 85640 $$3Springer Nature$$uhttps://univsouthin.idm.oclc.org/login?url=https://link.springer.com/10.1007/978-1-4842-8652-4$$zOnline Access$$91397441.1 001450576 909CO $$ooai:library.usi.edu:1450576$$pGLOBAL_SET 001450576 980__ $$aBIB 001450576 980__ $$aEBOOK 001450576 982__ $$aEbook 001450576 983__ $$aOnline 001450576 994__ $$a92$$bISE