下载 >  操作系统 >  Linux > Advanced Linux Programming (New Riders, 2001)

Advanced Linux Programming (New Riders, 2001)

Advanced Linux Programming (New Riders, 2001) pdf (English version)
2009-06-10 上传大小:3.69MB
想读
分享
收藏 举报
Advanced Linux Programming

New Riders - Advanced Linux Programming.chm

立即下载
Advanced Programming in the UNIX Environment(3rd) 无水印pdf

Advanced Programming in the UNIX Environment(3rd) 英文无水印pdf 第3版 pdf所有页面使用FoxitReader和PDF-XChangeViewer测试都可以打开 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系上传者或csdn删除

立即下载
Advanced.C++.Programming.Styles.and.Idioms (Advanced C++中文版)

假定读者已经具备C++基本知识,本书通过展示C++语言风格和习惯用法,帮助读者提升C++的程序设计经验。这些方法是围绕C++支持的抽象机制实施的:抽象数据类型,继承结构中的组合类型,面向对象程序设计以及多重继承。本书还展示了C++语言间接支持的核心习惯用法,诸如虚拟构造函数、原型对象以及高级垃圾收集技术。 本书要点: .展示了使用C++高级技术所获得的好处和潜在的缺陷。 .用少而精的例子展示如何有效地组合C++抽象机制。 .提供了大量面向对象设计转换成C++实现的准则。 .展示了如何用模板支持可重用性。 .描述了重要的大型系统开发问题,包括库结构的设计、异常处理和分布式处理。 . 本书是C++系统程序员或应用程序员工作的必备手册。 James Coplien先在威斯康星大学获得电气与计算机工程学士学位,后又在该大学获得计算机科学硕士学位。他在贝尔实验室的软件产品研发部门工作,在这个部门从一开始就使用 C++程序设计语言。近年来致力于大型面向对象系统的开发环境、交付平台以及故障检测他现在是大型面向对象技术项日的顾问。

立即下载
Bitter_LabView-Advanced+Programming+Techniques+2nd+ed

Bitter_LabView-Advanced+Programming+Techniques+2nd+ed 国外大牛写的LabView书籍 高清pdf 亲自验证 国内尚没有纸质版本 比起国内那些教材好的不知道要到哪里去了 学习LabView的一定不要错过 由于文件比较大 而上传文件大小限制 分为两次压缩 下载后解压放到一起 再解压即可

立即下载
Advanced Programming in the UNIX Environment 3rd 原版pdf by Stevens & Rago

It’s been almost eight years since I first updated Advanced Programming in the UNIX Environment, and already so much has changed. • Before the second edition was published, The Open Group created a 2004 edition of the Single UNIX Specification, folding in the changes from two sets of corrigenda. In 2008, The Open Group created a new version of the Single UNIX Specification, updating the base definitions, adding new interfaces, and removing obsolete ones. This was called the 2008 version of POSIX.1, which included version 7 of the Base Specification and was published in 2009. In 2010, this was bundled with an updated curses interface and reissued as version 4 of the Single UNIX Specification. • Versions 10.5, 10.6, and 10.8 of the Mac OS X operating system, running on Intel processors, have been certified to be UNIX® systems by The Open Group. • Apple Computer discontinued development of Mac OS X for the PowerPC platform. From Release 10.6 (Snow Leopard) onward, new operating system versions are released for the x86 platform only. • The Solaris operating system was released in open source form to try to compete with the popularity of the open source model followed by FreeBSD, Linux, and Mac OS X. After Oracle Corporation bought Sun Microsystems in 2010, it discontinued the development of OpenSolaris. Instead, the Solaris community formed the Illumos project to continue open source development based on OpenSolaris. For more information, see http://www.illumos.org.

立即下载
Advanced Linux Programming 高级Linux编程

高级Linux编程,英文原版,文字版pdf。

立即下载
Advanced_Linux_Programming.pdf

Advanced_Linux_Programming.pdf 高级linux编程书

立即下载
Types and Programming Languages PDF 英文

《类型与编程语言》 学FP的同学可能需要这本书

立即下载
Mathematica programming: an advanced introduction

At the end of the day, there is nothing that can be done in Mathematica and absolutely can not be done in other programming environments. For many problems however, especially those involving symbolic programming, solving a problem in a language such as C or C++ will be eventually equivalent to reimplementing a subset of Mathematica (or other system for symbolic manipulations) needed to solve the problem. The point is that many things are done in Mathematica with less or a lot less effort and time, because a lot of both generic and specific functionality is already built in Mathematica. And because it is so general, I expect this statement to be true for almost any field where some computations, prototype or program design and development, simulations etc are used. Mathematica seems to be an ideal tool for development of toy - models, prototypes, or just ideas. While Mathematica may be also quite useful for validating some ideas or solutions, as well as to power some quite complex technologies also in their final form, my feeling is that it may be most useful as a tool of experimental research (or programming), where the answer (or design) is not known in advance.

立即下载
Advanced.C++.Programming.Styles.and.Idioms--中文版.pdf

Advanced.C++.Programming.Styles.and.Idioms--中文版.pdf 个人收集电子书,仅用学习使用,不可用于商业用途,如有版权问题,请联系删除!

立即下载
Advanced Mac OS X Programming The Big Nerd Ranch Guide 无水印pdf

Advanced Mac OS X Programming The Big Nerd Ranch Guide 英文无水印pdf pdf所有页面使用FoxitReader和PDF-XChangeViewer测试都可以打开 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系上传者或csdn删除

立即下载
inside xslt

new riders - inside xslt.chm

立即下载
Inside Xml (2000) Shareconnector [New Riders].chm

Inside Xml (2000) Shareconnector [New Riders].chm Inside Xml (2000) Shareconnector [New Riders].chm

立即下载
LabView-Advanced Programming Techniques

Labview 高级编程技巧 Chapter 1 Introduction to LabVIEW....................................................................1 1.1 Virtual Instruments...........................................................................................1 1.1.1 The Front Panel....................................................................................2 1.1.2 Block Diagram .....................................................................................2 1.1.3 Executing VIs.......................................................................................3 1.1.4 LabVIEW File Extensions ...................................................................5 1.2 LabVIEW Projects ...........................................................................................5 1.3 Help ..................................................................................................................6 1.3.1 Built-in Help ........................................................................................7 1.3.2 Websites................................................................................................8 1.4 Data Flow Programming..................................................................................8 1.5 Menus and Palettes ..........................................................................................9 1.6 Front Panel Controls ......................................................................................11 1.6.1 User Control Sets ...............................................................................12 1.6.1.1 Numeric...............................................................................13 1.6.1.2 Boolean ...............................................................................15 1.6.1.3 String & Path ......................................................................16 1.6.1.4 Ring & Enum, List & Table...............................................18 1.6.1.5 Array, Cluster, and Matrix..................................................20 1.6.1.6 Graphs and Charts ..............................................................22 1.6.1.7 String & Path and I/O ........................................................24 1.7 Block Diagram Functions ..............................................................................26 1.7.1 Structures............................................................................................26 1.7.1.1 Sequence Structure .............................................................27 1.7.1.2 Case Structure.....................................................................30 1.7.1.3 For Loop .............................................................................32 1.7.1.4 While Loop .........................................................................37 1.7.1.5 Event Structure ...................................................................38 1.7.1.6 Disable Structure ................................................................38 1.7.1.7 Timed Structure ..................................................................39 1.7.1.8 Formula Node .....................................................................41 1.7.2 Numeric, Boolean, String, and Comparison .....................................42 1.7.3 Array and Cluster...............................................................................45 1.7.4 Timing ................................................................................................47 1.7.5 Dialog and User Interface..................................................................48 1.7.6 File I/O ...............................................................................................49 1.7.7 Instrument I/O, Connectivity, and Communication ..........................51 1.7.8 Creating Connectors...........................................................................52 1.7.9 Editing Icons ......................................................................................54 1.7.10 Using SubVIs .....................................................................................56 1.7.11 VI Setup .............................................................................................56 1.8 Setting Options...............................................................................................61 1.8.1 Paths ...................................................................................................61 1.8.2 Block Diagram ...................................................................................62 1.8.3 Environment .......................................................................................63 1.8.4 Revision History.................................................................................63 1.8.5 VI Server and Web Server .................................................................64 1.8.6 Controls/Functions Palettes................................................................65 Chapter 2 LabVIEW Features ............................................................................69 2.1 Global and Local Variables............................................................................69 2.2 Shared Variables.............................................................................................72 2.3 Customizing Controls ....................................................................................74 2.3.1 Custom Controls ................................................................................74 2.3.2 Type Definitions .................................................................................76 2.3.3 Strict Type Definitions .......................................................................77 2.4 Property Nodes...............................................................................................78 2.5 Reentrant VIs..................................................................................................81 2.6 Libraries (.LLB) .............................................................................................83 2.7 Web Server .....................................................................................................86 2.8 Web Publishing Tool......................................................................................89 2.9 Instrument Driver Tools .................................................................................90 2.10 Profile Functions ............................................................................................94 2.10.1 VI Profiler ..........................................................................................94 2.10.2 Buffer Allocations ..............................................................................97 2.10.3 VI Metrics ..........................................................................................97 2.11 Auto SubVI Creation .....................................................................................98 2.12 Graphical Comparison Tools .......................................................................100 2.12.1 Compare VIs ....................................................................................101 2.12.2 Compare VI Hierarchies ..................................................................102 2.12.3 SCC Compare Files .........................................................................103 2.13 Report Generation Palette ............................................................................104 2.14 Application Builder......................................................................................106 2.15 Sound VIs.....................................................................................................107 2.16 Application Control......................................................................................109 2.16.1 VI Server VIs ...................................................................................109 2.16.2 Menu VIs..........................................................................................113 2.16.3 Help VIs ...........................................................................................117 2.16.4 Other Application Control VIs.........................................................118 2.17 Advanced Functions.....................................................................................118 2.17.1 Data Manipulation............................................................................118 2.17.2 Calling External Code......................................................................119 2.17.3 Synchronization................................................................................119 2.18 Source Code Control....................................................................................121 2.18.1 Configuration....................................................................................121 2.18.2 Adding and Modifying Files ...........................................................122 2.18.3 Advanced Features ...........................................................................123 2.19 Graphs ..........................................................................................................124 2.19.1 Standard Graphs...............................................................................124 2.19.2 3-D Graphs.......................................................................................125 2.19.3 Digital and Mixed Signal Graphs....................................................126 2.19.4 Picture Graphs..................................................................................126 2.20 Data Logging................................................................................................126 2.21 Find and Replace .........................................................................................127 2.22 Print Documentation ....................................................................................129 2.23 VI History ....................................................................................................130 2.24 Key Navigation ............................................................................................131 2.25 Express VIs ..................................................................................................132 2.26 Navigation Window......................................................................................133 2.27 Splitter Bar ...................................................................................................133 Bibliography ..........................................................................................................134 Chapter 3 State Machines .................................................................................135 3.1 Introduction ..................................................................................................135 3.1.1 State Machines in LabVIEW...........................................................136 3.1.2 When to Use a State Machine .........................................................136 3.1.3 Types of State Machines..................................................................137 3.2 Enumerated Types and Type Definitions.....................................................137 3.2.1 Type Definitions Used with State Machines ...................................138 3.2.2 Creating Enumerated Constants and Type Definitions ...................139 3.2.3 Converting between Enumerated Types and Strings.......................139 3.2.4 Drawbacks to Using Type Definitions and Enumerated Controls ............................................................................................140 3.3 Sequence-Style State Machine.....................................................................140 3.3.1 When to Use a Sequence-Style State Machine...............................141 3.3.2 Example............................................................................................142 3.4 Test Executive-Style State Machine ............................................................144 3.4.1 The LabVIEW Template Standard State Machine..........................145 3.4.2 When to Use a Test Executive-Style State Machine.......................147 3.4.3 Recommended States for a Test Executive-Style State Machine............................................................................................147 3.4.4 Determining States for Test Executive-Style State Machines.........148 3.4.5 Example............................................................................................149 3.5 Classical-Style State Machine .....................................................................151 3.5.1 When to Use a Classical-Style State Machine................................152 3.5.2 Example............................................................................................152 3.6 Queued-Style State Machine .......................................................................161 3.6.1 When to Use the Queued-Style State Machine...............................162 3.6.2 Example Using LabVIEW Queue Functions ..................................162 3.6.3 Example Using an Input Array........................................................164 3.7 Drawbacks to Using State Machines...........................................................164 3.8 Recommendations and Suggestions.............................................................166 3.8.1 Documentation .................................................................................166 3.8.2 Ensure Proper Setup.........................................................................166 3.8.3 Error, Open, and Close States..........................................................166 3.8.4 Status of Shift Registers ..................................................................167 3.8.5 Typecasting an Index to an Enumerated Type ................................167 3.8.6 Make Sure You Have a Way Out.....................................................168 3.9 Problems/Examples......................................................................................168 3.9.1 The Blackjack Example ...................................................................168 3.9.2 The Test Sequencer Example...........................................................171 3.9.3 The PC Calculator Example ............................................................176 Bibliography ..........................................................................................................179 Chapter 4 Application Structure .......................................................................181 4.1 Planning........................................................................................................181 4.2 Purpose of Structure.....................................................................................182 4.3 Software Models ..........................................................................................183 4.3.1 The Waterfall Model ........................................................................184 4.3.2 The Spiral Model .............................................................................185 4.3.3 Block Diagrams................................................................................186 4.3.4 Description of Logic ........................................................................186 4.4 Project Administration .................................................................................187 4.5 Documentation .............................................................................................188 4.5.1 LabVIEW Documentation ...............................................................188 4.5.2 Printing LabVIEW Documentation .................................................189 4.5.3 VI History ........................................................................................189 4.6 The Three-Tiered Structure..........................................................................189 4.7 Main Level ...................................................................................................192 4.7.1 User Interface...................................................................................192 4.7.1.1 User Interface Design .......................................................192 4.7.1.2 Property Node Examples..................................................194 4.7.1.3 Customizing Menus..........................................................197 4.7.2 Exception-Handling at the Main Level ...........................................199 4.8 Second Level — Test Level.........................................................................199 4.9 Bottom Level — Drivers .............................................................................201 4.10 Style Tips......................................................................................................203 4.10.1 Sequence Structures .........................................................................203 4.10.2 Nested Structures .............................................................................204 4.10.3 Drivers ..............................................................................................205 4.10.4 Polling Loops ...................................................................................205 4.10.5 Array Handling ................................................................................206 4.11 The LabVIEW Project .................................................................................207 4.11.1 Project Overview..............................................................................207 4.11.2 Project File Operations ....................................................................209 4.11.3 Project Library .................................................................................210 4.11.4 Project File Organization .................................................................212 4.11.5 Build Specifications .........................................................................213 4.11.6 Source Code Management...............................................................215 4.12 Summary ......................................................................................................215 Bibliography ..........................................................................................................218 Chapter 5 Drivers ..............................................................................................219 5.1 Communication Standards ...........................................................................219 5.1.1 GPIB.................................................................................................219 5.1.2 Serial Communications ....................................................................221 5.1.3 VXI...................................................................................................223 5.1.4 LXI ...................................................................................................224 5.1.5 VISA Definition ...............................................................................224 5.1.6 DDE..................................................................................................226 5.1.7 OLE..................................................................................................227 5.1.8 TCP/IP..............................................................................................227 5.1.9 DataSocket........................................................................................228 5.1.10 Traditional DAQ...............................................................................229 5.1.11 NI-DAQmx.......................................................................................231 5.1.12 File I/O .............................................................................................235 5.1.13 Code Interface Node and Call Library Function ............................239 5.2 Driver Classifications ...................................................................................240 5.2.1 Configuration Drivers.......................................................................241 5.2.2 Measurement Drivers .......................................................................241 5.2.3 Status Drivers ...................................................................................241 5.3 Inputs/Outputs ..............................................................................................241 5.4 Error Handling .............................................................................................242 5.5 NI Spy ..........................................................................................................244 5.5.1 NI Spy Introduction .........................................................................244 5.5.2 Configuring NI Spy..........................................................................244 5.5.3 Running NI Spy ...............................................................................246 5.6 Driver Guidelines .........................................................................................247 5.7 Reuse and Development Reduction.............................................................247 5.8 Driver Example ............................................................................................248 5.9 Instrument I/O Assistant ..............................................................................250 5.10 IVI Drivers ...................................................................................................251 5.10.1 Classes of IVI Drivers .....................................................................251 5.10.2 Interchangeability.............................................................................252 5.10.3 Simulation ........................................................................................252 5.10.4 State Management............................................................................253 5.10.5 IVI Driver Installation......................................................................253 5.10.6 IVI Configuration.............................................................................254 5.10.7 How to Use IVI Drivers...................................................................255 5.10.8 Soft Panels........................................................................................256 5.10.9 IVI Driver Example .........................................................................256 Bibliography ..........................................................................................................260 Chapter 6 Exception Handling..........................................................................261 6.1 Exception Handling Defined........................................................................261 6.2 Types of Errors.............................................................................................263 6.2.1 I/O Errors .........................................................................................263 6.2.2 Logical Errors ..................................................................................264 6.3 Built-in Error Handling................................................................................265 6.3.1 Error Cluster.....................................................................................265 6.3.2 Error Codes ......................................................................................268 6.3.3 VISA Error Handling.......................................................................268 6.3.4 Simple Error Handler.......................................................................270 6.3.5 General Error Handler .....................................................................270 6.3.6 Find First Error ................................................................................271 6.3.7 Clear Error........................................................................................272 6.4 Performing Exception Handling ..................................................................272 6.4.1 When?...............................................................................................272 6.4.2 Exception-Handling at Main Level .................................................273 6.4.3 Programmer-Defined Errors.............................................................273 6.4.4 Managing Errors ..............................................................................274 6.4.5 State Machine Exception Handling .................................................276 6.4.6 Logging Errors .................................................................................277 6.4.7 External Error Handler.....................................................................277 6.4.8 Proper Exit Procedure......................................................................280 6.4.9 Exception Handling Example ..........................................................281 6.5 Debugging Code...........................................................................................286 6.5.1 Error List ..........................................................................................286 6.5.2 Execution Highlighting ....................................................................287 6.5.3 Single-Stepping ................................................................................287 6.5.4 Probe Tool ........................................................................................288 6.5.5 Breakpoint Tool................................................................................290 6.5.6 Suspending Execution......................................................................291 6.5.7 Data Logging....................................................................................291 6.5.8 NI Spy/GPIB Spy.............................................................................292 6.5.9 Utilization of Debugging Tools .......................................................293 6.5.10 Evaluating Race Conditions.............................................................295 6.6 Summary ......................................................................................................296 Bibliography ..........................................................................................................297 Chapter 7 Shared Variable ................................................................................299 7.1 Overview of Shared Variables .....................................................................299 7.1.1 Single Process Variables ..................................................................300 7.1.2 Network Published Variable.............................................................300 7.2 Shared Variable Engine................................................................................301 7.2.1 Accessing the Shared Variable Engine ............................................301 7.2.1.1 Shared Variable Manager..................................................301 7.2.1.2 Windows Event Viewer ....................................................302 7.2.1.3 Windows Performance Monitor .......................................302 7.2.1.4 Windows Task Manager ...................................................304 7.3 Shared Variable Processes and Services......................................................304 7.4 Shared Variable Networking ........................................................................306 7.5 Shared Variable Domains.............................................................................308 7.6 Pitfalls of Distributed Applications .............................................................312 7.7 Shared Variables and Network Security ......................................................313 7.7.1 LabVIEW Specific Security Issues..................................................316 Bibliography ..........................................................................................................317 Chapter 8 .NET, ActiveX, and COM................................................................319 8.1 Introduction to OLE, COM, and ActiveX...................................................320 8.1.1 Definition of Related Terms.............................................................320 8.1.1.1 Properties and Methods ....................................................320 8.1.1.2 Interfaces...........................................................................321 8.1.1.3 Clients and Servers ...........................................................321 8.1.1.4 In-Process and Out-of-Process .........................................321 8.1.1.5 The Variant........................................................................322 8.2 COM.............................................................................................................322 8.3 OLE..............................................................................................................323 8.4 ActiveX.........................................................................................................323 8.4.1 Description of ActiveX ....................................................................323 8.4.2 ActiveX Definitions .........................................................................324 8.4.3 ActiveX Technologies ......................................................................324 8.4.3.1 ActiveX Terminology .......................................................325 8.4.4 Events ...............................................................................................326 8.4.5 Containers.........................................................................................326 8.4.6 How ActiveX Controls Are Used ....................................................327 8.5 .NET .............................................................................................................327 8.5.1 Description of .NET.........................................................................328 8.5.2 Common Language Runtime...........................................................328 8.5.3 Intermediate Language.....................................................................329 8.5.4 Web Protocols ..................................................................................329 8.5.5 Assembly..........................................................................................329 8.5.6 Global Assembly Cache...................................................................329 8.6 LabVIEW and ActiveX................................................................................330 8.6.1 The LabVIEW ActiveX Container ..................................................330 8.6.1.1 Embedding Objects...........................................................330 8.6.1.2 Inserting ActiveX Controls and Documents ....................332 8.6.2 The ActiveX Palette .........................................................................334 8.6.2.1 Automation Open and Close ............................................334 8.6.2.2 The Property Node ...........................................................335 8.6.2.3 The Invoke Node ..............................................................336 8.6.2.4 Variant to Data Function ..................................................339 8.6.3 Using the Container versus Automation..........................................340 8.6.4 Event Support in LabVIEW ............................................................340 8.6.4.1 Register Event...................................................................341 8.6.4.2 Event Callback..................................................................341 8.6.5 LabVIEW as ActiveX Server...........................................................343 8.7 LabVIEW and .NET ....................................................................................344 8.7.1 .NET Containers...............................................................................344 8.7.2 .NET Palette .....................................................................................347 8.8 The VI Server...............................................................................................348 8.9 ActiveX and .NET Examples ......................................................................350 8.9.1 Common Dialog Control .................................................................350 8.9.2 Progress Bar Control........................................................................351 8.9.3 Microsoft Calendar Control .............................................................353 8.9.4 Web Browser Control ......................................................................354 8.9.5 Microsoft Scripting Control.............................................................358 8.9.6 Microsoft System Information Control ...........................................360 8.9.7 Microsoft Status Bar Control...........................................................362 8.9.8 Microsoft Tree View Control...........................................................365 8.9.9 Microsoft Agent ...............................................................................368 8.9.9.1 Request Objects — First Tier...........................................369 8.9.9.2 Other First-Tier Controls ..................................................369 8.9.9.3 The Characters Object ......................................................369 8.9.9.4 The Character Control ......................................................370 8.9.10 Registry Editing Control ..................................................................375 8.9.11 Controlling Microsoft Word.............................................................377 8.9.12 Microsoft Access Control ................................................................379 8.9.13 Instrument Control Using ActiveX..................................................383 8.9.14 Instrument Control Using .NET ......................................................384 8.9.15 Controlling LabVIEW from Other Applications.............................387 8.9.16 Understanding ActiveX Error Codes ...............................................391 8.9.17 Advanced ActiveX details................................................................393 Bibliography ..........................................................................................................395 Chapter 9 Multithreading in LabVIEW............................................................397 9.1 Multithreading Terminology ........................................................................398 9.1.1 Win32 ...............................................................................................398 9.1.2 UNIX................................................................................................398 9.1.3 Multitasking .....................................................................................398 9.1.3.1 Preemptive Multithreading ...............................................399 9.1.4 Kernel Objects..................................................................................400 9.1.5 Thread...............................................................................................400 9.1.6 Process..............................................................................................401 9.1.7 Application .......................................................................................401 9.1.8 Priority..............................................................................................402 9.1.8.1 How Operating Systems Determine which Threads........402 9.1.9 Security.............................................................................................402 9.1.10 Thread Safe ......................................................................................402 9.2 Thread Mechanics ........................................................................................403 9.2.1 Thread States....................................................................................404 9.2.2 Scheduling Threads..........................................................................404 9.2.3 Context Switching............................................................................404 9.3 Win32 Multithreading ..................................................................................405 9.4 Pthreads ........................................................................................................406 9.5 Multithreading Problems..............................................................................407 9.5.1 Race Conditions ...............................................................................408 9.5.2 Priority Inversion..............................................................................408 9.5.3 Starvation..........................................................................................409 9.5.4 Deadlocking .....................................................................................409 9.5.5 Operating System Solutions.............................................................410 9.6 Multithreading Myths ..................................................................................410 9.6.1 The More Threads, the Merrier .......................................................410 9.6.2 More Threads, More Speed .............................................................411 9.6.3 Makes Applications More Robust ...................................................411 9.6.4 Conclusion on Myths.......................................................................412 9.7 Hyper-Threading ..........................................................................................412 9.8 Multithreaded LabVIEW .............................................................................413 9.8.1 Execution Subsystems......................................................................414 9.8.2 The Run Queue ................................................................................417 9.8.3 DLLs in Multithreaded LabVIEW ..................................................418 9.8.4 Customizing the Thread Configuration ...........................................421 9.9 Thread Count Estimation for LabVIEW .....................................................423 9.9.1 Same as Caller or Single Subsystem Applications .........................426 9.9.2 Multiple Subsystem Applications ....................................................427 9.9.3 Optimizing VIs for Threading .........................................................428 9.9.4 Using VI Priorities ...........................................................................432 9.10 Subroutines in LabVIEW.............................................................................434 9.10.1 Express VIs ......................................................................................435 9.10.2 LabVIEW Data Types......................................................................435 9.10.3 When to Use Subroutines ................................................................437 9.11 Summary ......................................................................................................441 Bibliography ..........................................................................................................441 Chapter 10 Object-Oriented Programming in LabVIEW ..................................443 10.1 What Is Object-Oriented? ............................................................................444 10.1.1 The Class..........................................................................................444 10.1.2 Encapsulation ...................................................................................445 10.1.3 Aggregation ......................................................................................446 10.1.4 Inheritance ........................................................................................447 10.1.5 Polymorphism ..................................................................................448 10.2 Objects and Classes .....................................................................................448 10.2.1 Methods............................................................................................449 10.2.1.1 Special Method — Constructor........................................449 10.2.1.2 Special Method — Destructor..........................................450 10.2.2 Properties..........................................................................................450 10.3 Object Analysis ............................................................................................451 10.4 Object Design...............................................................................................459 10.4.1 Container Classes.............................................................................460 10.4.2 Abstract Classes ...............................................................................460 10.5 Object Programming ....................................................................................464 10.6 Developing Objects in LabVIEW................................................................465 10.6.1 Properties..........................................................................................466 10.6.2 Constructors .....................................................................................467 10.6.3 Destructors .......................................................................................471 10.6.4 Methods............................................................................................472 10.6.4.1 Public Methods .................................................................472 10.6.4.2 Private Methods ................................................................472 10.7 Examples in Developing Instrument Drivers...............................................473 10.7.1 Complex Instrument Designs...........................................................476 10.8 Object Template ...........................................................................................487 10.9 Exercises.......................................................................................................489 Bibliography ..........................................................................................................489

立即下载
Advanced Graphics Programming Using OpenGL

深入的OpenGL编程电子书,很不错<br><br>CHAPTER 1<br>Geometry Representation and Modeling 3<br>1.1 Polygonal Representation 3<br>1.2 Decomposition and Tessellation 4<br>1.3 Shading Normals 8<br>1.3.1 Smooth Shading 9<br>1.3.2 Vertex Winding Order 11<br>1.4 Triangle Stripping 12<br>1.4.1 Greedy Tri-stripping 13<br>1.5 Vertices and Vertex Arrays 14<br>1.5.1 Vertex Buffer Objects 15<br>1.5.2 Triangle Lists 16<br>1.6 Modeling vs. Rendering Revisited 17<br>vi<br>TEAM LinG<br>Contents vii<br>CHAPTER 2<br>3D Transformations 19<br>2.1 Data Representation 19<br>2.2 Overview of the Transformation Pipeline 20<br>2.2.1 Object Space and the Modelview Transform 20<br>2.2.2 Eye Space and Projection Transform 21<br>2.2.3 Clip Space and Perspective Divide 22<br>2.2.4 NDC Space and the Viewport Transform 22<br>2.2.5 Window Space 23<br>2.3 Normal Transformation 23<br>2.4 Texture Coordinate Generation and Transformation 25<br>2.4.1 Texture Matrix 25<br>2.4.2 Texture Coordinate Generation 25<br>2.5 Modeling Transforms 27<br>2.6 Visualizing Transform Sequences 28<br>2.7 Projection Transform 30<br>2.8 The Z Coordinate and Perspective Projection 30<br>2.8.1 Z Coordinates and Fog 32<br>2.9 Vertex Programs 32<br>2.10 Summary 34<br>CHAPTER 3<br>Color, Shading, and Lighting 35<br>3.1 Representing Color 35<br>3.1.1 Resolution and Dynamic Range 36<br>3.1.2 Gamma 37<br>3.1.3 Alpha 39<br>3.1.4 Color Index 39<br>3.2 Shading 40<br>3.3 Lighting 43<br>3.3.1 Intensities, Colors, and Materials 46<br>3.3.2 Light Source Properties 47<br>TEAM LinG<br>viii Contents<br>3.3.3 Material Properties 49<br>3.3.4 Vertex and Fragment Lighting 50<br>3.4 Fixed-Point and Floating-Point Arithmetic 53<br>3.4.1 Biased Arithmetic 54<br>3.5 Summary 56<br>CHAPTER 4<br>Digital Images and Image Manipulation 57<br>4.1 Image Representation 57<br>4.2 Digital Filtering 60<br>4.3 Convolution 62<br>4.4 Images in OpenGL 63<br>4.5 Positioning Images 65<br>4.6 Pixel Store Operations 65<br>4.7 Pixel Transfer Operations 67<br>4.7.1 Scale and Bias 67<br>4.7.2 Pixel Mapping Operations 67<br>4.8 ARB Imaging Subset 68<br>4.8.1 Convolution 68<br>4.8.2 Color Matrix Transform 68<br>4.8.3 Histogram 69<br>4.8.4 MinMax 70<br>4.8.5 Color Tables 70<br>4.8.6 Blend Equation and Constant Color Blending 71<br>4.9 Off-Screen Processing 72<br>4.10 Summary 72<br>CHAPTER 5<br>Texture Mapping 73<br>5.1 Loading Texture Images 73<br>5.1.1 Texture Borders 74<br>5.1.2 Internal Texture Formats 75<br>TEAM LinG<br>Contents ix<br>5.1.3 Compressed Textures 76<br>5.1.4 Proxy Textures 77<br>5.2 Texture Coordinates 77<br>5.2.1 Texture Coordinate Generation and Transformation 79<br>5.3 Loading Texture Images from the Frame Buffer 79<br>5.4 Environment Mapping 80<br>5.4.1 Generating Environment Map Texture Coordinates 81<br>5.4.2 Texture Maps Used in Environment Mapping 82<br>5.4.3 Cube Mapping 83<br>5.4.4 Sphere Mapping 85<br>5.5 3D Texture 88<br>5.5.1 Using 3D Textures to Render Solid Materials 89<br>5.6 Filtering 90<br>5.7 Additional Control of Texture Level of Detail 91<br>5.8 Texture Objects 93<br>5.9 Multitexture 95<br>5.9.1 Multitexture Model 96<br>5.9.2 Multitexture Texture Environments 97<br>5.10 Texture Environment 98<br>5.10.1 Advanced Texture Environment Functionality 99<br>5.10.2 Fragment Programs 100<br>5.11 Summary 102<br>CHAPTER 6<br>Rasterization and Fragment Processing 103<br>6.1 Rasterization 104<br>6.1.1 Rasterization Consistency 105<br>6.1.2 Z-Fighting 105<br>6.1.3 Bitmaps and Pixel Rectangles 107<br>6.1.4 Texture, Color, and Depth Interpolation 108<br>6.1.5 w Buffering 109<br>6.2 Fragment Operations 110<br>6.2.1 Multisample Operations 111<br>6.2.2 Alpha Test 111<br>6.2.3 Stencil Test 111<br>TEAM LinG<br>x Contents<br>6.2.4 Blending 112<br>6.2.5 Logic Op 114<br>6.3 Framebuffer Operations 115<br>6.3.1 Accumulation Buffer 116<br>6.4 Summary 117<br>CHAPTER 7<br>Window System and Platform Integration 119<br>7.1 Renderer and Window State 120<br>7.2 Address Space and Threads 121<br>7.3 Anatomy of a Window 122<br>7.3.1 Overlay and Underlay Windows 122<br>7.3.2 Multiple Displays 123<br>7.4 Off-Screen Rendering 124<br>7.4.1 GLX Pbuffers 125<br>7.4.2 WGL Pbuffers 126<br>7.5 Rendering to Texture Maps 126<br>7.6 Direct and Indirect Rendering 127<br>CHAPTER 8<br>OpenGL Implementations 129<br>8.1 OpenGL Versions 129<br>8.2 OpenGL Extensions 131<br>8.3 OpenGL ES for Embedded Systems 131<br>8.3.1 Embedded Profiles 132<br>8.3.2 Common and Common-Lite Profiles 133<br>8.3.3 Safety Critical Profile 136<br>8.3.4 OpenGL ES Revisions 136<br>8.4 OpenGL Pipeline Evolution 137<br>8.5 Hardware Implementations of the Pipeline 138<br>8.5.1 Rasterization Acceleration 138<br>8.5.2 Primitive Setup Acceleration 141<br>8.5.3 Transform and Lighting Acceleration 141<br>8.5.4 Pipeline Balance 142<br>TEAM LinG<br>Contents xi<br>8.5.5 Parallelism Opportunities 142<br>8.5.6 Reordering the Pipeline 149<br>8.5.7 Mixed Software and Hardware Implementations 150<br>8.6 The Future 151<br>PART II<br>Basic Techniques 153<br>CHAPTER 9<br>Multiple Rendering Passes 155<br>9.1 Invariance 155<br>9.2 Multipass Overview 156<br>9.3 The Multipass Toolbox 159<br>9.3.1 Arithmetic Operations 159<br>9.3.2 Arbitrary Functions 160<br>9.3.3 Conditionals 161<br>9.3.4 Variables 162<br>9.3.5 Parameters 163<br>9.4 Multipass Limitations 165<br>9.5 Multipass vs. Micropass 165<br>9.5.1 Multitexture 166<br>9.6 Deferred Shading 167<br>9.7 Summary 167<br>CHAPTER 10<br>Antialiasing 169<br>10.1 Full-Scene Antialiasing 170<br>10.2 Supersampling 171<br>10.2.1 Supersampling by Overdrawing 172<br>10.2.2 Supersampling with the Accumulation Buffer 173<br>10.2.3 Multisample Antialiasing 175<br>10.2.4 Drawbacks 176<br>TEAM LinG<br>xii Contents<br>10.3 Area Sampling 177<br>10.4 Line and Point Antialiasing 178<br>10.5 Antialiasing with Textures 180<br>10.6 Polygon Antialiasing 181<br>10.7 Temporal Antialiasing 182<br>10.7.1 Motion Blur 183<br>10.8 Summary 184<br>CHAPTER 1 1<br>Compositing, Blending, and Transparency 185<br>11.1 Combining Two Images 185<br>11.1.1 Compositing 186<br>11.1.2 Compositing Multiple Images 187<br>11.1.3 Alpha Division 190<br>11.2 Other Compositing Operators 190<br>11.3 Keying and Matting 192<br>11.4 Blending Artifacts 192<br>11.4.1 Arithmetic Errors 192<br>11.4.2 Blending with the Accumulation Buffer 193<br>11.4.3 Approximation Errors 193<br>11.4.4 Gamma Correction Errors 193<br>11.5 Compositing Images with Depth 194<br>11.6 Other Blending Operations 195<br>11.7 Dissolves 196<br>11.8 Transparency 199<br>11.9 Alpha-Blended Transparency 200<br>11.9.1 Dynamic Object Transparency 202<br>11.9.2 Transparency Mapping 203<br>11.9.3 Transparency Sorting 204<br>11.9.4 Depth Peeling 205<br>11.10 Screen-Door Transparency 205<br>11.10.1 Multisample Transparency 207<br>11.11 Summary 208<br>TEAM LinG<br>Contents xiii<br>CHAPTER 12<br>Image Processing Techniques 211<br>12.1 OpenGL Imaging Support 211<br>12.2 Image Storage 212<br>12.3 Point Operations 213<br>12.3.1 Color Adjustment 213<br>12.3.2 Interpolation and Extrapolation 213<br>12.3.3 Scale and Bias 215<br>12.3.4 Thresholding 215<br>12.3.5 Conversion to Luminance 216<br>12.3.6 Manipulating Saturation 216<br>12.3.7 Rotating Hue 218<br>12.3.8 Color Space Conversion 219<br>12.4 Region-based Operations 223<br>12.4.1 Contrast Stretching 224<br>12.4.2 Histogram Equalization 224<br>12.5 Reduction Operations 225<br>12.6 Convolution 227<br>12.6.1 Separable Filters 227<br>12.6.2 Convolutions Using the Accumulation Buffer 228<br>12.6.3 Convolution Using Extensions 230<br>12.6.4 Useful Convolution Filters 230<br>12.6.5 Correlation and Feature Detection 233<br>12.7 Geometric Operations 235<br>12.7.1 Pixel Zoom 235<br>12.7.2 Scaling Using Texture Mapping 236<br>12.7.3 Rotation Using Texture Mapping 237<br>12.7.4 Distortion Correction 237<br>12.8 Image-Based Depth of Field 238<br>12.9 High Dynamic Range Imaging 241<br>12.9.1 Dynamic Range 241<br>12.9.2 Tone Mapping 242<br>12.9.3 Modeling Adaptation 245<br>12.10 Summary 245<br>TEAM LinG<br>xiv Contents<br>CHAPTER 1 3<br>Basic Transform Techniques 247<br>13.1 Computing Inverse Transforms Efficiently 247<br>13.2 Stereo Viewing 249<br>13.3 Depth of Field 252<br>13.4 Image Tiling 254<br>13.5 Billboarding Geometry 257<br>13.6 Texture Coordinate vs. Geometric Transformations 261<br>13.6.1 Direct Vertex to Texture Coordinate Mapping 263<br>13.6.2 Overlaying an Entire Scene with a Texture 263<br>13.6.3 Overlaying a Scene with an Independent Texture<br>Projection 264<br>13.7 Interpolating Vertex Components through a Perspective<br>Transformation 265<br>13.7.1 Transforming Vertices in the Application 265<br>13.7.2 Interpolating Vertex Components 266<br>13.7.3 Computing LOD 267<br>13.8 Summary 268<br>CHAPTER 14<br>Texture Mapping Techniques 269<br>14.1 Loading Texture Images into a Framebuffer 270<br>14.2 Optimizing Texture Coordinate Assignment 270<br>14.3 3D Textures 271<br>14.4 Texture Mosaics 274<br>14.5 Texture Tiling 277<br>14.6 Texture Paging 279<br>14.6.1 Texture Subimage Loading 282<br>14.6.2 Paging Images in System Memory 285<br>14.6.3 Hardware Support for Texture Paging 286<br>14.7 Prefiltered Textures 287<br>14.7.1 Computing Texel Aspect Ratios 288<br>TEAM LinG<br>Contents xv<br>14.8 Dual-Paraboloid Environment Mapping 291<br>14.8.1 The Mathematics of Dual-Paraboloid Maps 291<br>14.8.2 Using Dual-Paraboloid Maps 294<br>14.8.3 OpenGL Dual-Paraboloid Support 296<br>14.9 Texture Projection 296<br>14.10 Texture Color Coding and Contouring 298<br>14.11 2D Image Warping 300<br>14.12 Texture Animation 302<br>14.13 Detail Textures 306<br>14.13.1 Signed Intensity Detail Textures 309<br>14.13.2 Creating Detail Textures 311<br>14.14 Texture Sharpening 312<br>14.15 Mipmap Generation 313<br>14.16 Texture Map Limits 315<br>14.17 Summary 316<br>CHAPTER 15<br>Lighting Techniques 317<br>15.1 Limitations in Vertex Lighting 317<br>15.1.1 Static and Adaptive Tessellation 319<br>15.1.2 Local Light and Spotlight Attenuation 320<br>15.2 Fragment Lighting Using Texture Mapping 321<br>15.3 Spotlight Effects Using Projective Textures 322<br>15.4 Specular Lighting Using Environment Maps 325<br>15.4.1 Multitexture 326<br>15.5 Light Maps 327<br>15.5.1 2D Texture Light Maps 327<br>15.5.2 3D Texture Light Maps 330<br>15.6 BRDF-based Lighting 332<br>15.7 Reflectance Maps 332<br>15.7.1 Gloss Maps 332<br>15.7.2 Emission Maps 334<br>TEAM LinG<br>xvi Contents<br>15.8 Per-fragment Lighting Computations 334<br>15.9 Other Lighting Models 335<br>15.9.1 Fresnel Reflection 335<br>15.9.2 Gaussian Reflection 336<br>15.9.3 Anisotropic Lighting 337<br>15.9.4 Oren-Nayar Model 340<br>15.9.5 Cook-Torrance Model 342<br>15.10 Bump Mapping with Textures 343<br>15.10.1 Approximating Bump Mapping Using Texture 345<br>15.10.2 Tangent Space 346<br>15.10.3 Forward Differencing 347<br>15.10.4 Limitations 351<br>15.11 Normal Maps 352<br>15.11.1 Vector Normalization 352<br>15.12 Bump-mapped Reflections 353<br>15.13 High Dynamic Range Lighting 354<br>15.13.1 Bloom and Glare Effects 354<br>15.14 Global Illumination 355<br>15.14.1 Virtual Light Technique 355<br>15.14.2 Combining OpenGL Lighting with Radiosity 356<br>15.14.3 Ambient Occlusion 357<br>15.15 Summary 359<br>PART III<br>Advanced Techniques 361<br>CHAPTER 16<br>CAD and Modeling Techniques 363<br>16.1 Picking and Highlighting 363<br>16.1.1 OpenGL Selection 364<br>16.1.2 Object Tagging in the Color Buffer 365<br>16.1.3 Proxy Geometry 366<br>16.1.4 Mapping from Window to Object Coordinates 367<br>16.1.5 Other Picking Methods 367<br>16.1.6 Highlighting 367<br>TEAM LinG<br>Contents xvii<br>16.1.7 XOR Highlighting 368<br>16.1.8 Foreground Object Manipulation 369<br>16.2 Culling Techniques 369<br>16.3 Occlusion Culling 370<br>16.3.1 Choosing Occluders 371<br>16.3.2 Building the Occlusion Map 371<br>16.3.3 Building the Depth Estimation Buffer 372<br>16.3.4 Occlusion Testing 372<br>16.3.5 Other Occlusion Testing Methods 373<br>16.4 Geometric Level of Detail 373<br>16.4.1 Changing Detail 374<br>16.4.2 Transition Techniques 375<br>16.5 Visualizing Surface Orientation 377<br>16.6 Visualizing Surface Curvature 379<br>16.7 Line Rendering Techniques 380<br>16.7.1 Wireframe Models 381<br>16.7.2 Hidden Lines 382<br>16.7.3 Polygon Offset 384<br>16.7.4 Depth Range 384<br>16.7.5 Haloed Lines 385<br>16.7.6 Silhouette Edges 386<br>16.7.7 Preventing Antialiasing Artifacts 389<br>16.7.8 End Caps on Wide Lines 390<br>16.8 Coplanar Polygons and Decaling 390<br>16.9 Capping Clipped Solids 392<br>16.10 Constructive Solid Geometry 393<br>CHAPTER 1 7<br>Scene Realism 403<br>17.1 Reflections 404<br>17.1.1 Object vs. Image Techniques 404<br>17.1.2 Planar Reflectors 407<br>17.1.3 Curved Reflectors 411<br>17.1.4 Interreflections 419<br>17.1.5 Imperfect Reflectors 422<br>TEAM LinG<br>xviii Contents<br>17.2 Refraction 424<br>17.2.1 Refraction Equation 424<br>17.2.2 Planar Refraction 426<br>17.2.3 Texture Mapped Refraction 428<br>17.2.4 Environment Mapped Refraction 429<br>17.2.5 Modeling Multiple Refraction Boundaries 430<br>17.2.6 Clipping Refracted Objects 431<br>17.3 Creating Environment Maps 432<br>17.3.1 Creating Environment Maps with Ray Casting 433<br>17.3.2 Creating Environment Maps with Texture Warping 434<br>17.3.3 Cube Map Textures 437<br>17.3.4 Sphere Map Textures 440<br>17.3.5 Dual-paraboloid Maps 443<br>17.3.6 Updating Environment Maps Dynamically 448<br>17.4 Shadows 449<br>17.4.1 Projective Shadows 450<br>17.4.2 Shadow Volumes 452<br>17.4.3 Shadow Maps 459<br>17.4.4 Creating Soft Shadows 463<br>17.5 Summary 465<br>CHAPTER 18<br>Natural Detail 467<br>18.1 Particle Systems 467<br>18.1.1 Representing Particles 469<br>18.1.2 Number of Particles 473<br>18.1.3 Modeling Particle Interactions 473<br>18.1.4 Updating and Rendering Particles 475<br>18.1.5 Applications 478<br>18.2 Dynamic Meshes 484<br>18.3 Procedural Texture Generation 487<br>18.3.1 Filtered Noise Functions 487<br>18.3.2 Generating Noise Functions 489<br>18.3.3 Filtering Using Texture Convolution 490<br>18.3.4 Optimizing the Convolution Process 492<br>18.3.5 Spectral Synthesis 495<br>18.3.6 Turbulence 496<br>TEAM LinG<br>Contents xix<br>18.3.7 Random Image Warping 498<br>18.3.8 Generating 3D Noise 498<br>18.4 Summary 500<br>CHAPTER 19<br>Illustration and Artistic Techniques 501<br>19.1 Projections for Illustration 501<br>19.1.1 Axonometric Projection 502<br>19.1.2 Oblique Projection 503<br>19.2 Nonphotorealistic Lighting Models 505<br>19.2.1 Matte Surfaces 505<br>19.2.2 Metallic Surfaces 506<br>19.3 Edge Lines 507<br>19.4 Cutaway Views 508<br>19.4.1 Surface Texture 510<br>19.5 Depth Cuing 511<br>19.6 Patterns and Hatching 512<br>19.6.1 Cross Hatching and 3D Halftones 513<br>19.6.2 Halftoning 515<br>19.7 2D Drawing Techniques 516<br>19.7.1 Accuracy in 2D Drawing 516<br>19.7.2 Line Joins 517<br>19.7.3 2D Trim Curves 518<br>19.8 Text Rendering 520<br>19.8.1 Image-based Text 520<br>19.8.2 Geometry-based Text 523<br>19.9 Drawing and Painting 525<br>19.9.1 Undo and Resolution Independence 527<br>19.9.2 Painting in 3D 527<br>19.9.3 Painting on Images 529<br>19.10 Summary 530<br>CHAPTER 20<br>Scientific Visualization 531<br>20.1 Mapping Numbers to Pictures 531<br>TEAM LinG<br>xx Contents<br>20.2 Visual Cues and Perception 531<br>20.3 Data Characterization 532<br>20.4 Point Data Visualization 534<br>20.4.1 Scatter Plots 534<br>20.4.2 Iconographic Display 535<br>20.4.3 Andrews Plots 536<br>20.4.4 Histograms and Charts 537<br>20.5 Scalar Field Visualization 538<br>20.5.1 Line Graphs 538<br>20.5.2 Contour Lines 539<br>20.5.3 Annotating Metrics 539<br>20.5.4 Image Display 540<br>20.5.5 Surface Display 543<br>20.5.6 Isosurfaces 545<br>20.5.7 Volume Slicing 546<br>20.5.8 Volume Rendering 547<br>20.5.9 Texture Slicing 549<br>20.5.10 Splatting 556<br>20.5.11 Creating Volume Data 559<br>20.6 Vector Field Visualization 560<br>20.6.1 Icons 561<br>20.6.2 Particle Tracing 561<br>20.6.3 Stream Lines 563<br>20.6.4 Illuminated Stream Lines 563<br>20.6.5 Line Integral Convolution 564<br>20.7 Tensor Field Visualization 568<br>20.7.1 Hyperstreamlines 569<br>20.8 Summary 570<br>CHAPTER 21<br>Structuring Applications for Performance 571<br>21.1 Structuring Graphics Processing 571<br>21.1.1 Scene Graphs 572<br>21.1.2 Vertex Updates 575<br>21.1.3 Texture Updates 576<br>21.2 Managing Frame Time 577<br>21.2.1 Input Phase 579<br>TEAM LinG<br>Contents xxi<br>21.2.2 Rendering Phase 579<br>21.2.3 Computation Phase 580<br>21.2.4 The Safety Margin 581<br>21.3 Application Performance Tuning 581<br>21.3.1 Locating Bottlenecks 581<br>21.3.2 Finding Application Bottlenecks 583<br>21.3.3 Measuring Performance 587<br>21.3.4 Measuring Depth Complexity 589<br>21.3.5 Pipeline Interleaving 591<br>21.4 Summary 592<br>APPENDIX A<br>Using OpenGL Extensions 593<br>A.1 How OpenGL Extensions are Documented 593<br>A.2 Finding OpenGL Extension Specifications 594<br>A.3 How to Read an OpenGL Extension Specification 594<br>A.3.1 ARB Extensions 598<br>A.4 Portable Use of OpenGL Extensions 599<br>A.5 Using Extension Function Pointers 602<br>APPENDIX B<br>Equations 605<br>B.1 3D Vectors 605<br>B.1.1 Spherical Coordinates 606<br>B.1.2 Linear Interpolation of 3D Vectors 606<br>B.1.3 Barycentric Coordinates 607<br>B.2 Projection Matrices 607<br>B.2.1 Orthographic Projection 607<br>B.2.2 Perspective Projection 607<br>B.2.3 Perspective z-Coordinate Transformations 608<br>B.2.4 Alternative Perspective Projection 608<br>B.3 Viewing Transforms 608<br>B.4 Modeling Transforms 609<br>B.4.1 Scaling 609<br>TEAM LinG<br>xxii Contents<br>B.4.2 Translation 609<br>B.4.3 Rotation 609<br>B.5 Parallel and Perpendicular Vectors 610<br>B.6 Reflection Vector 610<br>B.7 Lighting Equations 610<br>B.8 Function Approximations 612<br>B.8.1 Taylor Series Expansion 612<br>B.8.2 Newton-Raphson Method 612<br>B.8.3 Hypotenuse 613<br>Bibliography 615<br>Subject Index 629<br>

立即下载
Advanced Programming in the UNIX Environment 3e-2013

Advanced Programming in the UNIX Environment 3e-2013 Advanced Programming in the UNIX Environment 3e-2013

立即下载
Go语言高级编程(Advanced Go Programming)

Go语言高级编程(Advanced Go Programming)Go Web 开发 Go Web 开发 Go Web 开发

立即下载
Advanced Linux Programming - Pthreads

Advanced Linux Programming - Pthreads

立即下载
Ebook Advanced Linux Programming

Ebook Advanced Linux Programming

立即下载
Advanced MFC Programming

TOOL BAR AND DIALOG BAR 1.1. Adding an Extra Docking Tool Bar Default Tool Bar Tool Bar Implementation Message Mapping Adding New Tool Bar Resource Declaring New Member Variable Creating New Tool Bar Command Message Mapping 1.2. Imitating the Behavior of Radio Buttons Radio Button & Check Box Sample 1.3. Check Box Implementation Using Boolean Type Variables Function CButton::SetButtonInfo(…) 1.4. Message Mapping for a Contiguous Range of Command IDs Contiguous IDs Modifying an ID 1.5. Fixing the Size of Tool Bar 1.6. Adding Combo Box to Tool Bar 1.7. Modifying the Default Styles of Tool Bar 1.8. Dialog Bar 1.9. Resizable Dialog Bar Deriving New Class from CDialogBar Resizing Edit Control Dynamic Layout Using the New Class 1.10. Adding Flyby and Tool Tip 1.11. Toggling Control Bars On/Off Summary: MENU.......................学习MFC的好资料

立即下载
关闭
img

spring mvc+mybatis+mysql+maven+bootstrap 整合实现增删查改简单实例.zip

资源所需积分/C币 当前拥有积分 当前拥有C币
5 0 0
点击完成任务获取下载码
输入下载码
为了良好体验,不建议使用迅雷下载
img

Advanced Linux Programming (New Riders, 2001)

会员到期时间: 剩余下载个数: 剩余C币: 剩余积分:0
为了良好体验,不建议使用迅雷下载
VIP下载
您今日下载次数已达上限(为了良好下载体验及使用,每位用户24小时之内最多可下载20个资源)

积分不足!

资源所需积分/C币 当前拥有积分
您可以选择
开通VIP
4000万
程序员的必选
600万
绿色安全资源
现在开通
立省522元
或者
购买C币兑换积分 C币抽奖
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 4 45
为了良好体验,不建议使用迅雷下载
确认下载
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 0 0
为了良好体验,不建议使用迅雷下载
VIP和C币套餐优惠
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 4 45
您的积分不足,将扣除 10 C币
为了良好体验,不建议使用迅雷下载
确认下载
下载
您还未下载过该资源
无法举报自己的资源

兑换成功

你当前的下载分为234开始下载资源
你还不是VIP会员
开通VIP会员权限,免积分下载
立即开通

你下载资源过于频繁,请输入验证码

您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:webmaster@csdn.net!

举报

若举报审核通过,可返还被扣除的积分

  • 举报人:
  • 被举报人:
  • *类型:
    • *投诉人姓名:
    • *投诉人联系方式:
    • *版权证明:
  • *详细原因: