You are previewing Networked Graphics.
O'Reilly logo
Networked Graphics

Book Description

This broad-ranging book equips programmers and designers with a thorough grounding in the techniques used to create truly network-enabled computer graphics and games. Written for graphics/game/VE developers and students, it assumes no prior knowledge of networking. The text offers a broad view of what types of different architectural patterns can be found in current systems, and readers will learn the tradeoffs in achieving system requirements on the Internet.

The book explains the foundations of networked graphics, then explores real systems in depth, and finally considers standards and extensions. Numerous case studies and examples with working code are featured throughout the text, covering groundbreaking academic research and military simulation systems, as well as industry-leading game designs.



  • Everything designers need to know when developing networked graphics and games is covered in one volume - no need to consult multiple sources.
  • The many examples throughout the text feature real simulation code in C++ and Java that developers can use in their own design experiments.
  • Case studies describing real-world systems show how requirements and constraints can be managed.

Table of Contents

  1. Cover image
  2. Table of Contents
  3. Copyright
  4. Chapter 1. Introduction
  5. 1.1. What are NVEs and NGs?
  6. 1.2. The Illusion of a Shared Virtual Environment
  7. 1.3. Some History
  8. 1.4. Scoping the Software Architecture
  9. 1.5. Structure
  10. Chapter 2. One on one (101)
  11. 2.1. Boids
  12. 2.2. Distributed Boids: Concepts
  13. 2.3. Distributed Boids: Implementation
  14. 2.4. Reflection
  15. Chapter 3. Overview of the Internet
  16. 3.1. The Internet
  17. 3.2. Application Layer
  18. 3.3. Transport Layer
  19. 3.4. Network Layer
  20. 3.5. Link and Physical Layer
  21. 3.6. Further Network Facilities
  22. 3.7. Summary
  23. Chapter 4. More than two
  24. 4.1. Boids
  25. 4.2. Simple Peer to Peer
  26. 4.3. Peer to Peer with Master
  27. 4.4. Peer to Peer with Rendezvous Server
  28. 4.5. Client/Server
  29. 4.6. Multicast
  30. 4.7. Extensions
  31. 4.8. Conclusions
  32. Part II. Foundations
  33. Chapter 5. Issues in networking graphics
  34. 5.1. Architecture of the Individual System
  35. 5.2. Role of the Network
  36. 5.3. Initialization
  37. 5.4. Server and Peer Responsibilities
  38. 5.5. Critical and Noncritical
  39. 5.6. Synchronized or Unsynchronized
  40. 5.7. Ownership and Locking
  41. 5.8. Persistency
  42. 5.9. Latency and Bandwidth
  43. 5.10. Conclusions
  44. Chapter 6. Sockets and middleware
  45. 6.1. Role of Middleware
  46. 6.2. Low-Level Socket APIs
  47. 6.3. C and C++ Middleware for Networking
  48. 6.4. Conclusion
  49. Chapter 7. Middleware and message-based systems
  50. 7.1. Message-Based Systems
  51. 7.2. DIS
  52. 7.3. X3D and DIS
  53. 7.4. X3D, HawkNL and DIS
  54. 7.5. Conclusions
  55. Chapter 8. Middleware and object-sharing systems
  56. 8.1. Object-Sharing Systems
  57. 8.2. RakNet
  58. 8.3. Boids Using Object-Sharing
  59. 8.4. General Object-Sharing
  60. 8.5. Ownership
  61. 8.6. Scene-Graphs, Object-Sharing and Messages
  62. 8.7. Conclusions
  63. Chapter 9. Other networking components
  64. 9.1. Remote Method Call
  65. 9.2. DIVE
  66. 9.3. System Architectures
  67. 9.4. Conclusions
  68. Part III. Real Systems
  69. Chapter 10. Requirements
  70. 10.1. Consistency
  71. 10.2. Latency and Jitter
  72. 10.3. Bandwidth
  73. 10.4. State of the Internet
  74. 10.5. Connectivity
  75. 10.6. Case Study: Burnoutâ„¢ Paradise
  76. 10.7. Conclusions
  77. Chapter 11. Latency and consistency
  78. 11.1. Latency Impact
  79. 11.2. Dumb Client and Lockstep Synchronization
  80. 11.3. Conservative Simulations
  81. 11.4. Time
  82. 11.5. Optimistic Algorithms
  83. 11.6. Client Predict Ahead
  84. 11.7. Extrapolation Algorithms
  85. 11.8. Interpolation, Playout Delays and Local Lag
  86. 11.9. Local Perception Filters
  87. 11.10. Revealing Latency
  88. 11.11. Conclusions
  89. Chapter 12. Scalability
  90. 12.1. Service Architectures
  91. 12.2. Overview of Interest Management
  92. 12.3. Spatial Models
  93. 12.4. Interest Specification and Interest Management
  94. 12.5. Separating Interest Management from Network Architecture
  95. 12.6. Server Partitioning
  96. 12.7. Group Communication Services
  97. 12.8. Peer to Peer
  98. 12.9. Conclusions
  99. Chapter 13. Application support issues
  100. 13.1. Security and Cheating
  101. 13.2. Binary Protocols and Compression
  102. 13.3. Streaming
  103. 13.4. Revisiting the Protocol Decision
  104. 13.5. Persistent and Tiered Services
  105. 13.6. Clusters
  106. 13.7. Thin Clients
  107. 13.8. Conclusions
  108. Index