Directx 9 Graphics : the Definitive Guide to Direct3d / by Alan Thorn

Total Page:16

File Type:pdf, Size:1020Kb

Directx 9 Graphics : the Definitive Guide to Direct3d / by Alan Thorn DirectX® 9 Graphics: The Definitive Guide to Direct3D® Alan Thorn Wordware Publishing, Inc. Library of Congress Cataloging-in-Publication Data Thorn, Alan. DirectX 9 graphics : the definitive guide to Direct3D / by Alan Thorn. p. cm. Includes bibliographical references and index. ISBN-13: 978-1-55622-229-7 ISBN-10: 1-55622-229-7 (pbk.) 1. Computer graphics. 2. DirectX. I. Title. T385.T49576 2005 006.6'93--dc22 2005003234 CIP © 2005, Wordware Publishing, Inc. All Rights Reserved 2320 Los Rios Boulevard 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-13: 978-1-55622-229-7 ISBN-10: 1-55622-229-7 10987654321 0503 DirectX and Direct3D are registered trademarks of Microsoft Corporation in the United States and/or other countries. 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. nor its dealers or distributors shall be liable to the purchaser or any other person or entity with respect to any liability,loss, or damage caused or alleged to have been caused directly or indirectly by this book. All inquiries for volume purchases of this book should be addressed to Wordware Publishing, Inc., at the above address. Telephone inquiries may be made by calling: (972) 423-0090 To Jean and Bill Mills, Peter Thorn, and Reginald Stokes This page intentionally left blank. Contents Acknowledgments ..........................xi Introduction .............................xiii Chapter 1 Getting Started with DirectX.................1 What Is DirectX? ...........................2 A More Precise Definition of DirectX ................4 Obtaining DirectX ...........................5 Installing DirectX ...........................5 Configuring DirectX..........................6 Exploring DirectX...........................7 DirectX Utilities............................9 Conclusion ..............................13 Chapter 2 Starting DirectX — Your First Program ...........15 Getting Started ...........................16 Step 1 — Create a Window .....................17 Step 2 — Create a Direct3D Object .................19 Step 3 — Create a Direct3D Device.................20 Creating a Device ........................21 More on Direct3D Devices ...................27 Step 4 — Configure the Message Loop ...............28 The Game Loop .........................29 Step 5 — Render and Display a Scene ...............30 Direct3D Surfaces — IDirect3DSurface9 ............31 Preparing to Present a Scene ..................32 Beginning and Ending a Scene .................34 Step 6 — Shut Down Direct3D ...................36 More on Surfaces ..........................37 Creating Surfaces ........................37 Loading Images onto Surfaces..................40 Copying Surfaces ........................42 Presenting Images with the Back Buffer ............44 Lost Devices .............................46 Conclusion ..............................49 v Contents Chapter 3 3D Mathematics......................51 Coordinate Systems .........................52 One-Dimensional (1D) Coordinate Systems ..........52 Two-Dimensional (2D) Coordinate Systems ..........53 More on 2D Coordinate Systems ................54 Three-Dimensional (3D) Coordinate Systems .........56 Geometric Transformations .....................57 Translation ............................58 Rotation .............................58 Scaling ..............................60 Vectors ................................61 Length of the Diagonal (Magnitude)...............63 Vector Addition..........................64 Vector Subtraction ........................65 Vector Multiplication.......................66 Vector Normalization ......................67 Vector Dot Product .......................67 Vector Cross Product ......................68 Matrices ...............................70 Matrix Components .......................71 Matrix Addition .........................72 Matrix Subtraction ........................72 Matrix Multiplication (Scalar) ..................72 Matrix by Matrix Multiplication .................73 Identity Matrix ..........................74 Inverse Matrix ..........................75 Matrices for Geometric Transformations ..............76 Matrix Translation ........................76 Matrix Rotation .........................78 Matrix Scaling ..........................81 Combining Transformations ...................82 Planes ................................83 Creating Planes from Three Points ...............84 Creating Planes from Point and Normal .............85 Classifying Points in 3D Using Planes..............86 Plane and Line Intersection ...................87 Conclusion ..............................89 Chapter 4 Direct3D for 3D Graphics .................91 Getting Started ...........................92 Create and Define a Vertex Format .................93 Using Vertices ..........................94 Create a Vertex Buffer ........................95 Fill the Vertex Buffer ......................97 Rendering the Triangle .......................99 View, Projection, and Transform Matrices............99 vi Contents Transformation Matrix ..................100 View Matrix .......................102 Projection Matrix .....................103 Setting the Stream Source ...................104 Setting the FVF ........................106 Drawing a Primitive ......................106 Animating the Triangle .......................109 Drawing Other Primitives .....................109 Indexed Primitives .........................111 Setting Up Index Buffers ....................113 Drawing Indexed Primitives ..................115 Conclusion .............................118 Chapter 5 Materials, Lights, and Textures ..............119 Lighting ...............................120 Turning the Lights On and Off .................121 More on Lights .........................122 Setting the Ambient Lighting ..............122 Getting Started with Direct Lights............123 Direct3D Shading Modes....................123 Materials ..............................124 Direct Lighting Types .......................126 Textures ..............................131 Creating Textures .......................132 Creating Blank Textures .................132 Creating Textures from Image Files ...........134 Texture Mapping ........................135 Setting the Active Texture ...................137 Texture Filtering ........................138 Texture Addressing Modes...................141 Texture Alpha Blending ....................144 2D Texturing ..........................145 ID3DXSprite — Drawing Textures in 2D .............147 Conclusion .............................150 Chapter 6 X Files — Loading and Saving Data............151 Introduction to X Files .......................152 Structural Overview ........................154 Header .............................154 Templates............................154 Data Objects ..........................156 Parent and Child Objects ....................157 Data Objects and References..................157 Standard Templates.........................159 Custom Templates .........................169 Reading X Files Using DirectX...................170 vii Contents Preparing ............................170 Registering Templates .....................171 Opening a File .........................173 Enumerating Top Objects ...................174 Enumerating Child Objects...................175 Processing Child Objects....................176 Enumeration Overview ....................176 Getting Object Data ......................178 Object Names.......................178 Object Types .......................179 Object Data ........................181 Saving Data to X Files — Save Object ...............182 Preparing ............................183 Saving Data ...........................184 Building the Tree ........................185 Committing the Data ......................186 Conclusion .............................186 Chapter 7 Meshes .........................187 What Are Meshes? .........................188 How to Make Meshes .......................188 How to Export Meshes.......................189 Testing Your Mesh .........................190 Meshes in Direct3D ........................191 Loading Meshes from X Files .................191 Loading Meshes from X File Data Objects...........193 Mesh Materials and Textures .................196 Rendering Meshes .......................199 Cleaning Up Meshes ......................200 More on Meshes ..........................201 Meshes and Vertex Buffers ..................201 Meshes and FVFs .......................202 Bounding Boxes and Spheres ...................204 Rays Intersecting Meshes .....................209 Vertex Interpolation ........................212 Conclusion .............................214 Chapter 8 Cameras — First-Person and More ............215
Recommended publications
  • (RUNTIME) a Salud Total
    Windows 7 Developer Guide Published October 2008 For more information, press only: Rapid Response Team Waggener Edstrom Worldwide (503) 443-7070 [email protected] Downloaded from www.WillyDev.NET The information contained in this document represents the current view of Microsoft Corp. on the issues discussed as of the date of publication. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information presented after the date of publication. This guide is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY. Complying with all applicable copyright laws is the responsibility of the user. Without limiting the rights under copyright, no part of this document may be reproduced, stored in or introduced into a retrieval system, or transmitted in any form, by any means (electronic, mechanical, photocopying, recording or otherwise), or for any purpose, without the express written permission of Microsoft. Microsoft may have patents, patent applications, trademarks, copyrights or other intellectual property rights covering subject matter in this document. Except as expressly provided in any written license agreement from Microsoft, the furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other intellectual property. Unless otherwise noted, the example companies, organizations, products, domain names, e-mail addresses, logos, people, places and events depicted herein are fictitious, and no association with any real company, organization, product, domain name, e-mail address, logo, person, place or event is intended or should be inferred.
    [Show full text]
  • Summary Both the Desktop Graphics And
    Summary Both the desktop graphics and animated film industries are striving to create spectacular, lifelike worlds. Film quality realism requires complicated per-pixel operations, previously impractical for desktop graphics which must render frames as fast as 60 times per second. The 3D Blaster GeForce2 GTS is the first Graphics Processing Unit (GPU) with the 3D performance and enhanced feature set necessary to approach this distinct level of realism. The 3D Blaster GeForce2 GTS is a State of the Art 3D Graphics Accelerator. The combination between Nvidia’s 2nd Generation Transform & Lighting (T&L) Architecture and the Nvidia Shading Rasterizer (NSR) produces one of the most stunning and realistic visuals ever seen on screen. The integrated NSR makes advanced per-pixel shading capabilities possible. This breakthrough technology has the ability to process seven pixel operations in a single pass on each of four pixel pipelines, simultaneously. The end result of this is to allow individual pixel control of colour, shadow, light, reflectivity, emissivity, specularity, loss, dirt, and other visual and material components used to create amazingly realistic objects and environments. Per-pixel shading delivers the next-generation of visual realism by going beyond the limited texture mapping techniques of previous graphics processors. • New HyperTexel architecture delivers 1.6 gigatexels per second for staggering frame rates and high- performance anti-aliasing • New NVIDIA Shading Rasterizer (NSR) delivers per pixel shading and lighting for rich,
    [Show full text]
  • Beginning .NET Game Programming in En
    Beginning .NET Game Programming in en DAVID WELLER, ALEXANDRE SANTOS LOBAo, AND ELLEN HATTON APress Media, LLC Beginning .NET Game Programming in C# Copyright @2004 by David Weller, Alexandre Santos Lobao, and Ellen Hatton Originally published by APress in 2004 All rights reserved. No part of this work 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 the prior written permission of the copyright owner and the publisher. ISBN 978-1-59059-319-6 ISBN 978-1-4302-0721-4 (eBook) DOI 10.1007/978-1-4302-0721-4 Trademarked names may appear in this book. Rather than use a trademark symbol with every occurrence of a trademarked name, we use the names only in an editorial fashion and to the benefit of the trademark owner, with no intention of infringement of the trademark. Technical Reviewers: Andrew Jenks, Kent Sharkey, Tom Miller Editorial Board: Steve Anglin, Dan Appleman, Gary Cornell, James Cox, Tony Davis, John Franklin, Chris Mills, Steve Rycroft, Dominic Shakeshaft, Julian Skinner, Jim Sumser, Karen Watterson, Gavin Wray, John Zukowski Assistant Publisher: Grace Wong Project Manager: Sofia Marchant Copy Editor: Ami Knox Production Manager: Kari Brooks Production Editor: JanetVail Proofreader: Patrick Vincent Compositor: ContentWorks Indexer: Rebecca Plunkett Artist: Kinetic Publishing Services, LLC Cover Designer: Kurt Krames Manufacturing Manager: Tom Debolski The information in this book is distributed on an "as is" basis, without warranty. Although every precaution has been taken in the preparation of this work, neither the author(s) nor Apress shall have any liability to any person or entity with respect to any loss or damage caused or alleged to be caused directly or indirectly by the information contained in this work.
    [Show full text]
  • Directx 11 Extended to the Implementation of Compute Shader
    DirectX 1 DirectX About the Tutorial Microsoft DirectX is considered as a collection of application programming interfaces (APIs) for managing tasks related to multimedia, especially with respect to game programming and video which are designed on Microsoft platforms. Direct3D which is a renowned product of DirectX is also used by other software applications for visualization and graphics tasks such as CAD/CAM engineering. Audience This tutorial has been prepared for developers and programmers in multimedia industry who are interested to pursue their career in DirectX. Prerequisites Before proceeding with this tutorial, it is expected that reader should have knowledge of multimedia, graphics and game programming basics. This includes mathematical foundations as well. Copyright & Disclaimer Copyright 2019 by Tutorials Point (I) Pvt. Ltd. All the content and graphics published in this e-book are the property of Tutorials Point (I) Pvt. Ltd. The user of this e-book is prohibited to reuse, retain, copy, distribute or republish any contents or a part of contents of this e-book in any manner without written consent of the publisher. We strive to update the contents of our website and tutorials as timely and as precisely as possible, however, the contents may contain inaccuracies or errors. Tutorials Point (I) Pvt. Ltd. provides no guarantee regarding the accuracy, timeliness or completeness of our website or its contents including this tutorial. If you discover any errors on our website or in this tutorial, please notify us at [email protected]
    [Show full text]
  • NET Technology Guide for Business Applications // 1
    .NET Technology Guide for Business Applications Professional Cesar de la Torre David Carmona Visit us today at microsoftpressstore.com • Hundreds of titles available – Books, eBooks, and online resources from industry experts • Free U.S. shipping • eBooks in multiple formats – Read on your computer, tablet, mobile device, or e-reader • Print & eBook Best Value Packs • eBook Deal of the Week – Save up to 60% on featured titles • Newsletter and special offers – Be the first to hear about new releases, specials, and more • Register your book – Get additional benefits Hear about it first. Get the latest news from Microsoft Press sent to your inbox. • New and upcoming books • Special offers • Free eBooks • How-to articles Sign up today at MicrosoftPressStore.com/Newsletters Wait, there’s more... Find more great content and resources in the Microsoft Press Guided Tours app. The Microsoft Press Guided Tours app provides insightful tours by Microsoft Press authors of new and evolving Microsoft technologies. • Share text, code, illustrations, videos, and links with peers and friends • Create and manage highlights and notes • View resources and download code samples • Tag resources as favorites or to read later • Watch explanatory videos • Copy complete code listings and scripts Download from Windows Store Free ebooks From technical overviews to drilldowns on special topics, get free ebooks from Microsoft Press at: www.microsoftvirtualacademy.com/ebooks Download your free ebooks in PDF, EPUB, and/or Mobi for Kindle formats. Look for other great resources at Microsoft Virtual Academy, where you can learn new skills and help advance your career with free Microsoft training delivered by experts.
    [Show full text]
  • 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]
  • Dell C8621QT Dell Display Manager User's Guide
    Dell C8621QT Dell Display Manager User’s Guide Model: C8621QT Regulatory model: C8621QTt NOTE: A NOTE indicates important information that helps you make better use of your computer. Copyright © 2020 Dell Inc. or its subsidiaries. All rights reserved. Dell, EMC, and other trademarks are trademarks of Dell Inc. or its subsidiaries. Other trademarks may be trademarks of their respective owners. 2020 – 03 Rev. A00 Contents Overview .........................................4 Using the Quick Settings Dialog........................5 Setting Basic Display Functions........................6 Assigning Preset Modes to Applications .................7 Organizing Windows with Easy Arrange..................8 Managing Multiple Video Inputs.......................10 Restoring Application Positions ....................... 11 Applying Energy Conservation Features ................12 Other Shortcut Keys ...............................13 Attach DDM To Active Window (Only Window 10) .........14 Troubleshooting ...................................15 Contents | 3 Overview Dell Display Manager is a Microsoft Windows application used to manage a display or a group of displays. It enables manual adjustment of the displayed image, assignment of automatic settings, energy management, window organization, image rotation, and other features on selected Dell displays. After installed, Dell Display Manager runs each time the system starts and places its icon in the notification tray. Information about displays connected to the system is available when hovering over the notification-tray icon. Dell C8621QT - Standard NOTE: Dell Display Manager uses DDC/CI channel to communicate with your display. Ensure that DDC/CI is enabled in the menu as below. Dell 86 Monitor Brightness/Contrast Display Info Input Source DDC/CI On Color HDMI CEC O Display LCD Conditioning Audio Firmware Menu IP Address Personalize Service Tag Others Reset Others Factory Reset 4 | Overview Using the Quick Settings Dialog Clicking Dell Display Manager’s notification tray icon to open the Quick Settings dialog box.
    [Show full text]
  • Windows Programming Overview
    WINDOWS PROGRAMMING OVERVIEW IEEE Computer Society INTRODUCTION • Frank Hubbell • Hubbell Consulting • 585-392-5293 • [email protected][email protected] WINDOWS PRESENTATION FOUNDATION • Latest Windows Development Environment • Replaces Windows Forms? • Better Graphics • Better Multimedia Support • Different Kinds of Applications • Desktop • Web page • Web Application • Silverlight • Foundation For Other Environments WPF FEATURES Windows Windows Windows PDF Forms/ Direct3D WPF Forms Media Player GDI+ Graphical interface, e.g., forms and X X controls On-screen documents X X Fixed-format documents X X Images X X Video and audio X X Two-dimensional graphics X X Three-dimensional graphics X X MICROSOFT WINDOWS OPERATING SYSTEMS • 1985 Windows 1.0 • 1987 Windows 2.0 • 1990 Windows 3 • 1993 Windows NT • 1995 Windows 95 • 1998 Windows 98 • 1999 Windows 98SE • 2000 Windows ME • 2001 Windows XP • 2005 Windows Vista • 2009 Windows 7 MICROSOFT WINDOWS DEVELOPMENT PLATFORMS • WIN16 API • WIN32 API • Window Foundation Class (WFC) • .NET Window Forms (WinForms) • .NET Window Presentation Foundation (WPF) WINDOWS PROGRAMMING LANGUAGES • 1985 C or VB Windows Application Program Interface (API) • 1992 C++ or VB Microsoft Foundation Class (MFC) library • 2001 C# or C++ Windows Forms (.NET Framework) or VB • 2006 C# or VB Windows Presentation Foundation (WPF) VISUAL BASIC • Are you now, or have you ever been a basic programmer? MICROSOFT ARCHITECTURE FIRST DEMONSTRATION • Creating a default application in Visual Studio 2010 • Half Code, Half XAML
    [Show full text]
  • Make Your Game Friendly for Graphics Debugging and Optimization
    Make Your Game Friendly for Graphics Debugging and Optimization Adam Sawicki Developer Technology Engineer AMD 1 | DIGITAL DRAGONS | 2019 • Introduction AGENDA • Basics • Advanced • Conclusion 2 | DIGITAL DRAGONS | 2019 Introduction 3 | DIGITAL DRAGONS | 2019 Iteration time is critically important Good engine is not about awesome renderer. It’s about tools – like convenient editor. • Shorter iteration time • Good tools 4 | DIGITAL DRAGONS | 2019 Everyone benefits Easier to search for bugs and performance optimizations – benefit for: • developers • QA • external partners 5 | DIGITAL DRAGONS | 2019 Part 1 Basics 6 | DIGITAL DRAGONS | 2019 Options (1) Provide configuration options: • resolution • display mode: Windowed / Borderless / Exclusive fullscreen • V-sync On/Off 7 | DIGITAL DRAGONS | 2019 Options (2) • texture resolution: important for GPUs with little memory • texture filtering quality (linear vs anisotropic): impacts performance • MSAA Disabled/2x/4x/… • (extra) resolution scaling 8 | DIGITAL DRAGONS | 2019 Ways to provide options Some may be visible to end users. • in-game menu • launcher window (e.g. Unity) or separate app Some may be hidden. • in-game developer/cheat panel • in-game console (e.g. Unreal Engine) • command line options • configuration file, Windows registry 9 | DIGITAL DRAGONS | 2019 Options The Talos Principle – in-game options 10 | DIGITAL DRAGONS | 2019 Options Unity launcher window 11 | DIGITAL DRAGONS | 2019 Options War Thunder – custom launcher app 12 | DIGITAL DRAGONS | 2019 Options Unreal Engine – in-game
    [Show full text]
  • Graphical Interfaces for C#*
    Graphical Interfaces for C#* Milan FrankF, Ivo HanákH, Tomáš SmlsalS, Václav Skala@ Department of Computer Science and Engineering University of West Bohemia Plzeň, Czech Republic Abstract 1.1 The Basic Idea The .NET Framework seemed to be very interesting for A new environment called .NET was recently introduced people from the area of computer graphics that we to wide public. However, this environment does not decided to implement some of the well-known graphical contain libraries for advanced graphical output. interfaces in it. The VTK, OpenGL and DirectX have Therefore it is necessary to make such libraries available been taken into account. These interfaces are widespread to .NET. This paper describes our implementation of and having them prepared in the .NET Framework, it is graphical library interfaces. The implementation allows easy to extend our old working algorithms with new cooperation of graphical interfaces with .NET. We have features and functionality. For example, a developer used dealt with interfaces of libraries such as OpenGL, to write a code for OpenGL can simply continue with a DirectX, and Visualization Toolkit (also known as VTK). development with it, build it in .NET Framework and A short description of libraries is included as well as a easily add whatever other network functionality he short introduction to .NET environment. We also present wants. results, advantages, and disadvantages of our We have implemented the VTK, OpenGL and implementation. This paper contains neither comparison DirectX interfaces for use within the .NET Framework. It of the graphical libraries nor comparison of .NET fulfills well our objectives given at the early beginning.
    [Show full text]
  • NVWMI V2.22 API Reference Documentation NVIDIA
    NVWMI v2.22 API Reference Documentation NVIDIA Dec 2015 Main Page Related Pages Classes Programmer's Guide 2.22 Copyright(c) 2010-2015 NVIDIA Corporation. All rights reserved. Introduction NVWMI compatibility Version-specific Implementation Details Cooler and Thermal Events NVIDIA Performance Counters Using NVWMI Using NVWMI with the PowerShell Using NVWMI with the WMIC tool Logging and tracing NVWMI activity Introduction 1. General Purpose NVWMI provider allows WMI clients to query and to monitor parameters of NVIDIA hardware. It is implemented as a decoupled WMI provider in a system service (nvwmi.exe in 32-bit or nvwmi64.exe in 64-bit flavors of Windows). 2. General Requirements NVIDIA hardware operational NVIDIA display driver installed NVWMI provider 3. Version-specific For detailed information about version-specific changes, please refer to the implementation Version-specific Implementation Details. 4. OS-specific Windows XP has limited support. Supported classes are: System Gpu Board Cooler ThermalProbe CoolerEvent ThermalEvent NVWMI Performance counter provider does not support Windows XP. 5. General Implementation Details NVWMI implements several WMI providers inside \\.\root\cimv2\nv namespace: instance provider method provider property provider event provider performance counters provider All classes are statically defined in the MOF file, there are no dynamically defined classes (e.g. no class provider). Static vs. dynamic instances. In WMI, there are two separate types of object instances - singletons and dynamic instances. If the MOF class is declared as a singleton, it has just one instance. The path to such an instance is always known to the WBEM engine. Therefore the exact path to the instance is not required to address the instance.
    [Show full text]
  • Programming Windows Presentation Foundation by Ian Griffiths, Chris Sells
    Programming Windows Presentation Foundation By Ian Griffiths, Chris Sells ............................................... Publisher: O'Reilly Pub Date: September 2005 ISBN: 0-596-10113-9 Pages: 447 Slots: 1.0 Table of Contents | Index Windows Presentation Foundation (WPF) (formerly known by its code name "Avalon") is a brand-new presentation framework for Windows XP and Windows Vista, the next version of the Windows client operating system. For developers, WPF is a cornucopia of new technologies, including a new graphics engine that supports 3-D graphics, animation, and more; an XML-based markup language (XAML) for declaring the structure of your Windows UI; and a radical new model for controls. Programming Windows Presentation Foundation is the book you need to get up to speed on WPF. By page two, you'll have written your first WPF application, and by the end of Chapter 1, "Hello WPF," you'll have completed a rapid tour of the framework and its major elements. These include the XAML markup language and the mapping of XAML markup to WinFX code; the WPF content model; layout; controls, styles, and templates; graphics and animation; and, finally, deployment. Programming Windows Presentation Foundation features: ● Scores of C# and XAML examples that show you what it takes to get a WPF application up and running, from a simple "Hello, Avalon" program to a tic-tac-toe game ● Insightful discussions of the powerful new programming styles that WPF brings to Windows development, especially its new model for controls ● A color insert to better illustrate WPF support for 3-D, color, and other graphics effects ● A tutorial on XAML, the new HTML-like markup language for declaring Windows UI ● An explanation and comparison of the features that support interoperability with Windows Forms and other Windows legacy applications The next generation of Windows applications is going to blaze a trail into the unknown.
    [Show full text]