Real-Time Rendering Tricks and Techniques in Directx by Kelly

Total Page:16

File Type:pdf, Size:1020Kb

Real-Time Rendering Tricks and Techniques in Directx by Kelly Real-Time Rendering Tricks and Techniques in DirectX by Kelly Dempski ISBN:1931841276 Premier Press © 2002 (821 pages) Provides a clear path to detailing frequently requested DirectX features. CD Content Table of Contents Back Cover Comments Table of Contents Real-Time Rendering Tricks and Techniques in DirectX Foreword Introduction Part I - First Things First Chapter 1 - 3D Graphics: A Historical Perspective Chapter 2 - A Refresher Course in Vectors Chapter 3 - A Refresher Course in Matrices Chapter 4 - A Look at Colors and Lighting Chapter 5 - A Look at the Graphics Pipeline Part II - Building the Sandbox Chapter 6 - Setting Up the Environment and Simple Win32 App Chapter 7 - Creating and Managing the Direct3D Device Part III - Let the Rendering Begin Chapter 8 - Everything Starts with the Vertex Chapter 9 - Using Transformations Chapter 10 - From Vertices to Geometry Chapter 11 - Fixed Function Lighting Chapter 12 - Introduction to Textures Chapter 13 - Texture Stage States Chapter 14 - Depth Testing and Alpha Blending Part IV - Shaders Chapter 15 - Vertex Shaders Chapter 16 - Pixel Shaders Part V - Vertex Shader Techniques 1 Chapter 17 - Using Shaders with Meshes Simple and Complex Geometric Manipulation with Vertex Chapter 18 - Shaders Chapter 19 - Billboards and Vertex Shaders Chapter 20 - Working Outside of Cartesian Coordinates Chapter 21 - Bezier Patches Chapter 22 - Character Animation—Matrix Palette Skinning Chapter 23 - Simple Color Manipulation Chapter 24 - Do-It-Yourself Lighting in a Vertex Shader Chapter 25 - Cartoon Shading Chapter 26 - Reflection and Refraction Chapter 27 - Shadows Part 1—Planar Shadows Chapter 28 - Shadows Part 2—Shadow Volumes Chapter 29 - Shadows Part 3—Shadow Maps Part VI - Pixel Shader Techniques Chapter 30 - Per-Pixel Lighting Chapter 31 - Per-Pixel Lighting—Bump Mapping Chapter 32 - Per-Vertex Techniques Done per Pixel Part VII - Other Useful Techniques Chapter 33 - Rendering to a Texture—Full-Screen Motion Blur Chapter 34 - 2D Rendering—Just Drop a “D” Chapter 35 - DirectShow: Using Video as a Texture Chapter 36 - Image Processing with Pixel Shaders Chapter 37 - A Much Better Way to Draw Text Chapter 38 - Perfect Timing Chapter 39 - The Stencil Buffer Chapter 40 - Picking: A Plethora of Practical Picking Procedures In Conclusion… Index List of Figures List of Tables List of Sidebars 2 CD Content Real-Time Rendering Tricks and Techniques in DirectX Kelly Dempski © 2002 by Premier Press. All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording, or by any information storage or retrieval system without written permission from Premier Press, except for the inclusion of brief quotations in a review. Premier Press, Inc. is a registered trademark of Premier Press, Inc. Publisher: Stacy L. Hiquet Marketing Manager: Heather Buzzingham Managing Editor: Sandy Doell Acquisitions Editor: Mitzi Foster Series Editor: André LaMothe Senior Project Editor: Heather Talbot Technical Reviewer: André LaMothe Microsoft and DirectX are registered trademarks of Microsoft Corporation in the United States and/or other countries. NVIDIA, the NVIDIA logo, nForce, GeForce, GeForce2, and GeForce3 are registered trademarks or trademarks of NVIDIA Corporation in the United States and/or other countries. All other trademarks are the property of their respective owners. Important: Premier Press cannot provide software support. Please contact the appropriate software manufacturer’s technical support line or Web site for assistance. Premier Press and the author have attempted throughout this book to distinguish proprietary trademarks from descriptive terms by following the capitalization style used by the manufacturer. Information contained in this book has been obtained by Premier Press from sources believed to be reliable. However, because of the possibility of human or mechanical error by our sources, Premier 3 Press, or others, the Publisher does not guarantee the accuracy, adequacy, or completeness of any information and is not responsible for any errors or omissions or the results obtained from use of such information. Readers should be particularly aware of the fact that the Internet is an ever-changing entity. Some facts may have changed since this book went to press. ISBN: 1-931841-27-6 Library of Congress Catalog Card Number: 2001097326 Printed in the United States of America 02 03 04 05 06 RI 10 9 8 7 6 5 4 3 2 1 Technical Reviewer: Andre LaMothe Copy Editor: Laura R. Gabler Interior Layout: Scribe Tribe Cover Design: Mike Tanamachi CD-ROM Producer: Arlie Hartman Indexer: Sharon Shock For Rachel Acknowledgments I can’t thank my wife Rachel enough. She has graciously put up with six frantic months of writing. Her contributions ranged anywhere from simple emotional support to helping me debug pixel shaders in the early hours of the morning. This book would not have been possible without her patience and support. I’d like to thank all my friends and family for their support. I’ve had less time to spend with the people who are important to me. Thank you for your patience these past months. Thanks to Stan Taylor, Anatole Gershman, Edy Liongosari, and everyone at Accenture Technology Labs for their support. Many thanks to Scott Kurth for proofreading, suggestions, and the occasional reality check. Also, many thanks to Mitu Singh for taking the time to help me with many of the images and equations. I have the privilege of working with a fantastic group of people. Also, I’d like to thank all the other people who worked on this book. I really appreciate the help of Emi Smith, Mitzi Foster, Heather Talbot, Kris Simmons, and André LaMothe. Thanks to all of you for walking me through my first book. Finally, I need to thank Philip Taylor (Microsoft), Jason Mitchell (ATI), Sim Dietrich (nVidia), and many other presenters from each of these three companies. Much of what I have learned comes from their 4 excellent presentations and online materials. Their direct and indirect help is greatly appreciated. Also, I’d like to thank Sim Dietrich for taking the time and effort to write the foreword. All the people mentioned above contributed in some way to the better aspects of this book. I deeply appreciate their contributions. About the Author Kelly Dempski has been a researcher at Accenture’s Technology Labs for seven years. His research work has been in the areas of multimedia, Virtual Reality, Augmented Reality, and Interactive TV, with a strong focus on photo-realistic rendering and interactive techniques. He has authored several papers and one of his projects is part of the Smithsonian Institution’s permanent collection on Information Technology. Letter from the Series Editor Let me start by saying, buy this book! Real-Time Rendering Tricks and Techniques in DirectX is simply the most advanced DirectX book on the market—period! The material in this book will be found in no other book, and that’s all there is to it. I am certain that the author Kelly Dempski is an alien from another world since there’s no way a human could know this much about advanced DirectX. I know since I am from another planet <SMILE>. This book covers all the topics you have always heard about, but never knew exactly how to implement in real time. In recent times, Direct3D has become a very complex and powerful API that leverages hardware to the max. The programmers at Microsoft are not playing games with it and Direct3D is in sync with the hardware that it supports, meaning if there is hardware out there that does something, you can be sure that Direct3D can take advantage of it. In fact, Direct3D has support for operations that don’t exist. Makes me wonder if Bill has a time machine. The only downfall to all this technology and functionality is that the learning curve is many months to years—and that’s no joke. Try learning Direct3D on your own, and it will take you 1–2 years to master it. The days of just figuring things out are over, you need a master to teach you, and then you can advance from there. Real-Time Rendering Tricks and Techniques in DirectX starts off making no assumptions about what you know. The first part of the book covers mathematics, matrices, and more. After that groundwork is laid, general Direct3D is covered in l, so we are all on the same page. The coverage of Direct3D alone is worth the price of the book. However, after the basic Direct3D coverage, the book starts into special effects programming using various advanced techniques like vertex shaders and pixel shaders. This stuff is completely voodoo. It’s not like it’s hard, but you simply would have no idea where to start if you were to read the DirectX SDK. Kelly knows where to start, where to end, and what goes in the middle. Now, I don’t want to get you too excited, but if you read this book you WILL know how to perform such operations as advanced texture blending, lighting, shadow mapping, refraction, reflection, fog, and a bazillion other cool effects such as “cartoon” shading. What I like about this book is that it really does 5 live up to its title, and the material is extremely advanced, but at the same time very easy to understand. The author makes things like refraction seem so easy. He’s like, “a dot product here, change the angle there, texture index, and output it, and whammo done!”—and you’re like sitting there going “wow, it works!”. The point is that something like refraction or reflection seems easy theoretically, but when you try to do it, knowing where to begin is the problem. With Real-Time Rendering Tricks and Techniques in DirectX, you don’t have to worry about that; you will learn the best approaches to every advanced rendering technique known to humanity and be able to skip the learning and experimentation that comes with trial and error.
Recommended publications
  • As of Directx 8, Directdraw (2D) and Direct3d (3D) Have Been Combined
    GAM666 – Introduction To Game Programming Basic 3D Using DirectX 9 ● As of DirectX 8, DirectDraw (2D) and Direct3D (3D) have been combined into DirectX Graphics (still often called Direct3D, however) ● DirectX Graphics includes a library of 3D math helper functions, d3dx9math.h, the use of which is entirely optional but has gained wide acceptance GAM666 – Introduction To Game Programming Basic 3D Using DirectX 9 DirectX 9 COM Object Pointers: ● LPDIRECT3D9 – main Direct3D control object used to create others ● LPDIRECT3DDEVICE9 – device onto which 3D is rendered ● LPDIRECT3DVERTEXBUFFER9 – list of vertices describing a shape to be rendered ● LP3DXFONT – font for rendering text onto a 3D scene GAM666 – Introduction To Game Programming Basic 3D Using DirectX 9 Basic frame rendering logic: ● Clear the display target's backbuffer using Direct3DDevice Clear() ● Call Direct3DDevice BeginScene() ● Render primitives [shapes] using Direct3DDevice DrawPrimitive() and text using Direct3DXFont DrawText() ● Call Direct3DDevice EndScene() ● Flip backbuffer to screen with Direct3DDevice Present() GAM666 – Introduction To Game Programming 3D Setup ● Direct3DCreate9() to create Direct3D object ● Enumeration in DirectX Graphics is easier than in DirectDraw7 (no enumeration callback function needs to be supplied, rather call a query function in your own loop) ● Direct3D CreateDevice() to create Direct3DDevice ● Direct3DDevice CreateVertexBuffer() to allocate vertex buffers ● D3DXCreateFont() to make 3D font GAM666 – Introduction To Game Programming Critical
    [Show full text]
  • High Performance Visualization Through Graphics Hardware and Integration Issues in an Electric Power Grid Computer-Aided-Design Application
    UNIVERSITY OF A CORUÑA FACULTY OF INFORMATICS Department of Computer Science Ph.D. Thesis High performance visualization through graphics hardware and integration issues in an electric power grid Computer-Aided-Design application Author: Javier Novo Rodríguez Advisors: Elena Hernández Pereira Mariano Cabrero Canosa A Coruña, June, 2015 August 27, 2015 UNIVERSITY OF A CORUÑA FACULTY OF INFORMATICS Campus de Elviña s/n 15071 - A Coruña (Spain) Copyright notice: No part of this publication may be reproduced, stored in a re- trieval system, or transmitted in any form or by any means, electronic, mechanical, photocopying, recording and/or other- wise without the prior permission of the authors. Acknowledgements I would like to thank Gas Natural Fenosa, particularly Ignacio Manotas, for their long term commitment to the University of A Coru˜na. This research is a result of their funding during almost five years through which they carefully balanced business-driven objectives with the freedom to pursue more academic goals. I would also like to express my most profound gratitude to my thesis advisors, Elena Hern´andez and Mariano Cabrero. Elena has also done an incredible job being the lead coordinator of this collaboration between Gas Natural Fenosa and the University of A Coru˜na. I regard them as friends, just like my other colleagues at LIDIA, with whom I have spent so many great moments. Thank you all for that. Last but not least, I must also thank my family – to whom I owe everything – and friends. I have been unbelievably lucky to meet so many awesome people in my life; every single one of them is part of who I am and contributes to whatever I may achieve.
    [Show full text]
  • Advanced 3D Game Programming with Directx 10.0 / by Peter Walsh
    Advanced 3D Game Programming with DirectX® 10.0 Peter Walsh Wordware Publishing, Inc. Library of Congress Cataloging-in-Publication Data Walsh, Peter, 1980- Advanced 3D game programming with DirectX 10.0 / by Peter Walsh. p. cm. Includes index. ISBN 10: 1-59822-054-3 ISBN 13: 978-1-59822-054-4 1. Computer games--Programming. 2. DirectX. I. Title. QA76.76.C672W3823 2007 794.8'1526--dc22 2007041625 © 2008, Wordware Publishing, Inc. All Rights Reserved 1100 Summit Avenue, Suite 102 Plano, Texas 75074 No part of this book may be reproduced in any form or by any means without permission in writing from Wordware Publishing, Inc. Printed in the United States of America ISBN 10: 1-59822-054-3 ISBN 13: 978-1-59822-054-4 10987654321 0712 DirectX is a registered trademark of Microsoft Corporation in the United States and/or other counties. Other brand names and product names mentioned in this book are trademarks or service marks of their respective companies. Any omission or misuse (of any kind) of service marks or trademarks should not be regarded as intent to infringe on the property of others. The publisher recognizes and respects all marks used by companies, manufacturers, and developers as a means to distinguish their products. This book is sold as is, without warranty of any kind, either express or implied, respecting the contents of this book and any disks or programs that may accompany it, including but not limited to implied warranties for the book’s quality,performance, merchantability,or fitness for any particular purpose. Neither Wordware Publishing, Inc.
    [Show full text]
  • Introduction to Direct 3D
    Introduction to Direct 3D by John Tsiombikas [email protected] What is Direct3D? 3D graphics API (Application Programming Interface) Similar to OpenGL Takes advantage of available graphics hardware Usable through C++ Based on COM objects and OOP paradigm Direct3D vs OpenGL Controlled completely by MS Controlled by ARB Object oriented design Procedural interface, functions that affect Usable through C++ only the state of the OpenGL state machine Even the most recent features are fully Usable through C or C++ integrated into the core of the API Most very recent features are provided Frequent revisions / volatile interface through an extension mechanism Only available on MS Windows Slow major revisions / stable interface Cross-platform (UNIX, Windows, MacOS etc.) Direct3D Initialization Steps Win32 API: create window, handle events, etc. Initialize Direct3D Device (see example below) IDirect3D8 *d3d = Direct3DCreate8(D3D_SDK_VERSION); D3DDISPLAYMODE d3ddm; d3d->GetAdapterDisplayMode(D3DADAPTER_DEFAULT, &d3ddm); D3DPRESENT_PARAMETERS d3dpp; memset(&d3dpp, 0, sizeof(D3DPRESENT_PARAMETERS)); d3dpp.Windowed = true; d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD; d3dpp.BackBufferFormat = d3ddm.Format; IDirect3DDevice *d3ddevice; d3d->CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, window, D3DCREATE_HARDWARE_VERTEXPROCESSING, &d3dpp, &d3ddevice); Direct3D rendering pipeline local (model) space d3ddevice->SetTransform(D3DTS_WORLD, matrix); world space d3ddevice->SetTransform(D3DTS_VIEW, matrix); camera (view) space d3ddevice->SetTransform(D3DTS_PROJECTION,
    [Show full text]
  • 22 Debugging
    Chapter 22 Debugging \He that assures himself he never errs will always err." Joseph Glanville: The Vanity of Dogmatizing, XXIII, 1661 (Cf. Nordern, ante, 1607) \Blue is true, Yellow's jealous, Green's forsaken, Red's brazen, White is love, And black is death." Author unidenti¯ed 22.1 Overview Debugging ordinary programs is often a di±cult and frustrating task. Direct3D programs can be even more di±cult to debug and lead to even more frustration. This chapter covers techniques and advice for debugging Windows programs in general and Direct3D programs in particular. The best way to debug a program is to write a program with no bugs. Naturally, this is almost impossible for all but the simplest of programs. How- ever, there are techniques you can use to avoid common mistakes. First, we will discuss techniques for avoiding some of the most common pitfalls of C++ applications. The Windows operating system also provides some facilities for debugging of applications. Using these facilities can help you obtain information about your program while it is running and can also be used to provide information about the execution context of your program when it encounters a fatal error. Next, we will discuss the debugging facilities in Visual C++ 6. Detailed information on the debugger is found in the Visual C++ documentation, while we provide suggestions and tips for using the debugger with Direct3D applications. 789 790 CHAPTER 22. DEBUGGING Finally, we will conclude with debugging techniques speci¯c to Direct3D programs and the unique challenges they present in debugging. 22.2 Version Control Systems One of the most frustrating mistakes we can make is to accidentally delete the very code we have been struggling to write.
    [Show full text]
  • Beginning Direct3d Game Programming, 2Nd Edition
    Beginning Direct3D® Game Programming 2nd Edition Beginning Direct3D® Game Programming 2nd Edition Wolfgang F. Engel © 2003 by Premier Press, a division of Course Technology. All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording, or by any information storage or retrieval system without written permission from Premier Press, except for the inclusion of brief quotations in a review. The Premier Press logo and related trade dress are trademarks of Premier Press and may not be used without written permission. Publisher: Stacy L. Hiquet Senior Marketing Manager: Martine Edwards Marketing Manager: Heather Hurley Associate Marketing Manager: Kristin Eisenzopf Manager of Editorial Services: Heather Talbot Acquisitions Editor: Mitzi Foster-Koontz Project Editor/Copy Editor: Cathleen D. Snyder Technical Reviewer: André LaMothe Retail Market Coordinator: Sarah Dubois Interior Layout: Shawn Morningstar Cover Designer: Mike Tanamachi CD-ROM Producer: Brandon Penticuff Indexer: Katherine Stimson Proofreader: Lorraine Gunter DirectDraw, DirectMusic, DirectPlay, DirectSound, DirectX, Microsoft, Visual Basic, Visual C++, Windows, Windows NT, Xbox, and/or other Microsoft products are registered trademarks or trade- marks of Microsoft Corporation in the U.S. and/or other countries. All other trademarks are the property of their respective owners. Important: Premier Press cannot provide software support. Please contact the appropriate software manufacturer’s technical support line or Web site for assistance. Premier Press and the author have attempted throughout this book to distinguish proprietary trade- marks from descriptive terms by following the capitalization style used by the manufacturer. Information contained in this book has been obtained by Premier Press from sources believed to be reliable.
    [Show full text]
  • Displacement Mapping
    Advanced Visual Effects with Direct3D® Presenters: Cem Cebenoyan, Sim Dietrich, Richard Huddy, Greg James, Jason Mitchell, Ashu Rege, Guennadi Riguer, Alex Vlachos and Matthias Wloka Today’s Agenda • DirectX® 9 Features – Jason Mitchell & Cem Cebenoyan Coffee break – 11:00 – 11:15 • DirectX 9 Shader Models – Sim Dietrich & Jason L. Mitchell Lunch break – 12:30 – 2:00 • D3DX Effects & High-Level Shading Language – Guennadi Riguer & Ashu Rege • Optimization for DirectX 9 Graphics – Matthias Wloka & Richard Huddy Coffee break – 4:00 – 4:15 • Special Effects – Alex Vlachos & Greg James • Conclusion and Call to Action DirectX® 9 Features Jason Mitchell Cem Cebenoyan [email protected] [email protected] Outline • Feeding Geometry to the GPU – Vertex stream offset and VB indexing – Vertex declarations – Presampled displacement mapping • Pixel processing – New surface formats – Multiple render targets – Depth bias with slope scale – Auto mipmap generation – Multisampling – Multihead – sRGB / gamma – Two-sided stencil • Miscellaneous – Asynchronous notification / occlusion query Feeding the GPU In response to ISV requests, some key changes were made to DirectX 9: • Addition of new stream component types • Stream Offset • Separation of Vertex Declarations from Vertex Shader Functions • BaseVertexIndex change to DIP() New stream component types • D3DDECLTYPE_UBYTE4N – Each of 4 bytes is normalized by dividing by 255.0 • D3DDECLTYPE_SHORT2N – 2D signed short normalized (v[0]/32767.0,v[1]/32767.0,0,1) • D3DDECLTYPE_SHORT4N – 4D signed short normalized
    [Show full text]
  • Introduction
    Chapter 1 Introduction \The beginnings of all things are weak and tender. We must therefore be clear-sighted in beginnings, for, as in their budding we discern not the danger, so in their full growth we perceive not the remedy." Michel de Montaigne: Essays, III, 1588 1.1 Overview This book describes the Direct3D graphics pipeline, from presentation of scene data to pixels appearing on the screen. The book is organized sequentially following the data flow through the pipeline from the application to the image displayed on the monitor. Each major section of the pipeline is treated by a part of the book, with chapters and subsections detailing each discrete stage of the pipeline. This section summarizes the contents of the book. Part I begins with a review of basic concepts used in 3D computer graphics and their representations in Direct3D. The IDirect3D9 interface is introduced and device selection is described. The IDirect3DDevice9 interface is introduced and an overview of device methods and internal state is given. Finally, a basic framework is given for a 2D application. Chapter 1 begins with an overview of the entire book. A review is given of display technology and the important concept of gamma correction. The representation of color in Direct3D and the macros for manipulating color values are described. The relevant mathematics of vectors, geometry and matrices are reviewed and summarized. A summary of COM and the IUnknown interface is COM: Component Object given. Finally, the coding style conventions followed in this book are presented Model along with some useful C++ coding techniques.
    [Show full text]
  • Automated Malware Analysis Report for RFQ.Exe
    ID: 295709 Sample Name: RFQ.exe Cookbook: default.jbs Time: 11:10:56 Date: 09/10/2020 Version: 30.0.0 Red Diamond Table of Contents Table of Contents 2 Analysis Report RFQ.exe 4 Overview 4 General Information 4 Detection 4 Signatures 4 Classification 4 Startup 5 Malware Configuration 5 Yara Overview 5 Memory Dumps 5 Unpacked PEs 6 Sigma Overview 6 Signature Overview 6 AV Detection: 6 Networking: 6 System Summary: 6 Data Obfuscation: 7 Malware Analysis System Evasion: 7 HIPS / PFW / Operating System Protection Evasion: 7 Stealing of Sensitive Information: 7 Remote Access Functionality: 7 Mitre Att&ck Matrix 7 Behavior Graph 8 Screenshots 8 Thumbnails 8 Antivirus, Machine Learning and Genetic Malware Detection 9 Initial Sample 9 Dropped Files 9 Unpacked PE Files 9 Domains 9 URLs 9 Domains and IPs 11 Contacted Domains 11 Contacted URLs 11 URLs from Memory and Binaries 11 Contacted IPs 14 Public 14 General Information 14 Simulations 16 Behavior and APIs 16 Joe Sandbox View / Context 16 IPs 16 Domains 16 ASN 17 JA3 Fingerprints 17 Dropped Files 17 Created / dropped Files 17 Static File Info 18 General 18 File Icon 19 Static PE Info 19 General 19 Entrypoint Preview 19 Data Directories 21 Sections 21 Copyright null 2020 Page 2 of 34 Resources 21 Imports 21 Version Infos 21 Network Behavior 22 Network Port Distribution 22 TCP Packets 22 UDP Packets 22 DNS Queries 23 DNS Answers 23 HTTP Request Dependency Graph 24 HTTP Packets 24 Code Manipulations 25 Statistics 25 Behavior 25 System Behavior 25 Analysis Process: RFQ.exe PID: 3148 Parent PID: 5684
    [Show full text]
  • Direct3d 11 with Windows 8 Metro Applications
    Direct3D 11 with Windows 8 Metro Applications Frank Luna May 11, 2012 www.d3dcoder.net Direct3D 11 is the official 3D rendering API for Windows 8 Metro styled applications. The API is the same for both desktop and Metro styled applications. Therefore, while the book Introduction to 3D Game Programming with DirectX 11 is not Metro specific, all the core Direct3D concepts apply. However, the book’s sample projects will not compile as Metro applications for a couple of reasons: The samples do not use the Metro API for creating windows (i.e., the sample applications were not written as Metro styled applications). The samples use the Effects framework and the D3DX library for texture loading, which are not supported by Metro styled applications. The samples should compile and run just fine as desktop applications on Windows 8 because Windows 8 maintains compatibility with non-Metro styled applications. (Instructions for getting the book demos working on Win8 and Visual Studio 2012 (VS12) are available at http://d3dcoder.net/WordPress/?p=17 and also the forums http://www.d3dcoder.net/phpBB/viewforum.php?f=4). This tutorial shows how to port the “Textured Columns” exercise from Chapter 8 to a Metro styled application. With this tutorial, you should feel comfortable applying the concepts in Introduction to 3D Game Programming with DirectX 11 to Metro styled applications. We have three main topics to tackle: Managing constant buffers. In the book, we mostly let the Effects framework handle this for us. Because we cannot use the Effects framework with Metro styled applications, we must update constant buffers ourselves and bind them to the pipeline ourselves.
    [Show full text]
  • Advanced Animation with Directx.Pdf
    Table of Contents Advanced Animation with DirectX..................................................................................................................1 Introduction.........................................................................................................................................................4 Part One: Preparations.....................................................................................................................................7 Chapter 1: Preparing for the Book..................................................................................................................8 Overview.................................................................................................................................................8 Installing the DirectX SDK.....................................................................................................................8 Choosing the Debug or Retail Libraries...............................................................................................10 Configuring Your Compiler..................................................................................................................11 Setting the DirectX SDK Directories.............................................................................................11 Linking to the DirectX Libraries....................................................................................................12 Setting the Default char State.........................................................................................................14
    [Show full text]
  • Windows RT and Wine
    Windows 8/RT and Wine Admittedly not usually ARM-specific Ridiculous Terminology • MS introduced a mess of new terms for Windows 8, and I have to go through them so we don’t get confused. • Windows RT: An edition of Windows 8 that runs on ARM devices. Microsoft has not defined what RT stands for. • Formerly: Windows on ARM • Not to be confused with: WinRT • In addition to running on ARM, this version refuses to run non-MS executables on the desktop. But an easy jailbreak is available. • App container: A special security token that represents an application running as a specific user. App containers have limited permissions, will be suspended/terminated at the system’s whim, and are exempt from signing requirements. Ridiculous Terminology (part 2) • Windows Store Environment: The part of Windows 8 that isn’t the desktop. • This might not be the official name. • Alternative names: Metro, Windows Store, Touch-Optimized Interface • Immersive Process: An instance of a program that runs in the Windows 8 store environment. AFAICT these must run inside an app container. • Charms Menu: That silly thing on the right side of the screen that no one figures out they need the first time they want to turn off their Windows 8 computer. I guess this is also sort of an overview? • App Contract/Extension: Capabilities of an application that it registers with Windows and that Windows will activate under specific circumstances. • Example: The search contract allows Windows to list the application on the Search charm and activate it when the user selects it to search.
    [Show full text]