game engine gems 1

1. What to Look for When Evaluating Middleware for Integration

  • 미들웨어를 살 때, 어떤 걸 확인하면 되는지 목록을 만들어 놓았다.
  • 목록
    • Integration complexity and modularity
    • memory management
    • mass storage I/O access
    • logging
    • source code availability
    • quality of source code
    • platform portability
    • licensing requirements
    • cost

2. The Game Asset Pipeline

/pnotes/assets/geg1-00.png

  • asset pipeline 작업을 하기 전에 보면 도움이 되는 아티클.
  • 강조
    • source asset에 모든 정보가 있어야 한다
    • intermediate asset 장점
    • 빠른 반복을 위해 Fast Path 제공
  • http://ohyecloudy.com/pnotes/archives/718

3. Volumetric Representation of Virtual Environments

/pnotes/assets/geg1-01.png

5. Environment Sound Culling

/pnotes/assets/geg1-02.png

  • sound grid를 사용한 culling

10. Camera Centric Engine Design for Multithreaded Rendering

/pnotes/assets/geg1-03.png

  • 커맨드 버퍼 생성을 멀티쓰레드로 한다.
  • 많은 장면으로 부터 최종 장면이 만들어지는 것에 주목.
  • 카메라 단위로 커맨드 버퍼 생성을 여러 쓰레드로 쪼갠다.
  • 간단한 형태라서 멀티쓰레드 렌더링 공부 초반에 보기 좋다.
  • http://ohyecloudy.com/pnotes/archives/699

20. A Deferred Decal Rendering Technique

23. Dynamic Code Execution Hierarchies

/pnotes/assets/geg1-04.png

  • code execution hierarchies
  • 실행 시점에 동적으로 트리를 구축.
  • tree traversal로 실행.
  • 코드로 실행 흐름을 파악하기 힘들고 디버깅이 어려운 단점이 있다.
  • 요즘 유행인 모듈 그래프 구현에 잘 맞아떨어지겠다.
    • shader, animation 그래프 에디터에 쓰는 그 모듈 그래프
  • http://cafe.naver.com/shader/1357

24. Key-Value Dictionary

/pnotes/assets/geg1-05.png

!review

Part I — Game Engine Design

  • 4. High-Level Pathfinding
  • 6. A GUI Framework and Presentation Layer
  • 7. World’s Best Palettizer
  • 8. 3D Stereoscopic Rendering: An Overview of Implementation Issues
  • 9. A Multithreaded 3D Renderer
  • 11. A GPU Managed Memory Pool
  • 12. Precomputed 3D Velocity Field for Simulating Fluid Dynamics
  • 13. Mesh Partitioning for Fun and Profit
  • 14. Moments of Inertia for Common Shapes

Part II — Rendering Techniques

  • 15. Physically-Based Outdoor Scene Lighting
  • 16. Rendering Physically-Based Skyboxes
  • 17. Motion Blur and the Velocity-Depth-Gradient Buffer
  • 18. Fast Screen-space Ambient Occlusion and Indirect Lighting
  • 19. Real-Time Character Dismemberment

Part III — Programming Methods

  • 21. Multithreaded Object Models
  • 22. Holistic Task Parallelism for Common Game Architecture Patterns
  • 25. A Basic Scheduler
  • 26. The Game State Observer Pattern
  • 27. Fast Trigonometric Operations Using CORDIC Methods
  • 28. Inter-Process Communication Based on Your Own RPC Subsystem