MediaPlane/IMPLEMENTATION_GUIDE.md

4.9 KiB

Maya Image Plane Node - Implementation Guide

Getting Started

This guide helps the development team begin work on the Maya Image Plane Node project.

Team Assignments

Developer 1 (FFmpeg & Maya Node)

  • Implement FFmpeg video decoder class
  • Create Maya MPxNode plugin
  • Implement video frame caching
  • Handle thread-safe frame delivery

Developer 2 (Viewport & Post-effects)

  • Implement MHWRender::MPxDrawOverride
  • Add frame rate synchronization
  • Implement user-adjustable playback rate
  • Create post-effects (crop, resize, flip)

QA Engineer

  • Create test plan
  • Create and execute test cases
  • Verify functionality and report bugs

Development Setup

Prerequisites

  • Maya 2023 installed
  • Visual Studio 2017 (matching Maya 2023's compiler)
  • CMake 3.14+
  • FFmpeg development libraries (or use vcpkg)

Build Instructions

  1. Clone/download the repository
  2. Ensure MAYA_LOCATION environment variable is set to Maya 2023 installation
  3. Run CMake to generate project files:
    mkdir build
    cd build
    cmake .. -G "Visual Studio 15 2017"
    
  4. Build the solution in Visual Studio
  5. The plugin will be output as MayaImagePlaneNode.mll

Working with Specifications

All detailed technical specifications are available in the docs/ directory:

  • FFmpeg_Integration_Spec.md
  • Maya_Node_Implementation_Spec.md
  • Viewport_2_0_Integration_Spec.md
  • Frame_Rate_Synchronization_Spec.md
  • User_Adjustable_Playback_Rate_Spec.md
  • Post_Effects_Spec.md
  • Video_Frame_Caching_Spec.md
  • Module_Packaging_Spec.md

First Steps

Developer 1

  1. Review FFmpeg_Integration_Spec.md
  2. Begin implementing the FFmpeg video decoder class
  3. Set up basic Maya MPxNode structure

Developer 2

  1. Review Viewport_2_0_Integration_Spec.md
  2. Begin implementing MHWRender::MPxDrawOverride base class
  3. Set up OpenGL texture management system

QA Engineer

  1. Review all specifications to understand test requirements
  2. Create test plan document
  3. Begin creating test cases for plugin loading

Communication

  • Update your task status in the todo list regularly
  • Report any blockers or questions immediately
  • Share progress updates in team communications
  • Consult specifications before implementing features

Notes

  • Follow Maya API best practices
  • Ensure thread safety between decoding and main thread
  • Handle errors gracefully with appropriate logging
  • Maintain clean, readable code with comments
  • Test frequently as you implement features

Good luck with the implementation!

Getting Started

This guide helps the development team begin work on the Maya Image Plane Node project.

Team Assignments

Developer 1 (FFmpeg & Maya Node)

  • Implement FFmpeg video decoder class
  • Create Maya MPxNode plugin
  • Implement video frame caching
  • Handle thread-safe frame delivery

Developer 2 (Viewport & Post-effects)

  • Implement MHWRender::MPxDrawOverride
  • Add frame rate synchronization
  • Implement user-adjustable playback rate
  • Create post-effects (crop, resize, flip)

QA Engineer

  • Create test plan
  • Create and execute test cases
  • Verify functionality and report bugs

Development Setup

Prerequisites

  • Maya 2023 installed
  • Visual Studio 2017 (matching Maya 2023's compiler)
  • CMake 3.14+
  • FFmpeg development libraries (or use vcpkg)

Build Instructions

  1. Clone/download the repository
  2. Ensure MAYA_LOCATION environment variable is set to Maya 2023 installation
  3. Run CMake to generate project files:
    mkdir build
    cd build
    cmake .. -G "Visual Studio 15 2017"
    
  4. Build the solution in Visual Studio
  5. The plugin will be output as MayaImagePlaneNode.mll

Working with Specifications

All detailed technical specifications are available in the docs/ directory:

  • FFmpeg_Integration_Spec.md
  • Maya_Node_Implementation_Spec.md
  • Viewport_2_0_Integration_Spec.md
  • Frame_Rate_Synchronization_Spec.md
  • User_Adjustable_Playback_Rate_Spec.md
  • Post_Effects_Spec.md
  • Video_Frame_Caching_Spec.md
  • Module_Packaging_Spec.md

First Steps

Developer 1

  1. Review FFmpeg_Integration_Spec.md
  2. Begin implementing the FFmpeg video decoder class
  3. Set up basic Maya MPxNode structure

Developer 2

  1. Review Viewport_2_0_Integration_Spec.md
  2. Begin implementing MHWRender::MPxDrawOverride base class
  3. Set up OpenGL texture management system

QA Engineer

  1. Review all specifications to understand test requirements
  2. Create test plan document
  3. Begin creating test cases for plugin loading

Communication

  • Update your task status in the todo list regularly
  • Report any blockers or questions immediately
  • Share progress updates in team communications
  • Consult specifications before implementing features

Notes

  • Follow Maya API best practices
  • Ensure thread safety between decoding and main thread
  • Handle errors gracefully with appropriate logging
  • Maintain clean, readable code with comments
  • Test frequently as you implement features

Good luck with the implementation!