4.9 KiB
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
- Clone/download the repository
- Ensure MAYA_LOCATION environment variable is set to Maya 2023 installation
- Run CMake to generate project files:
mkdir build cd build cmake .. -G "Visual Studio 15 2017" - Build the solution in Visual Studio
- 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
- Review FFmpeg_Integration_Spec.md
- Begin implementing the FFmpeg video decoder class
- Set up basic Maya MPxNode structure
Developer 2
- Review Viewport_2_0_Integration_Spec.md
- Begin implementing MHWRender::MPxDrawOverride base class
- Set up OpenGL texture management system
QA Engineer
- Review all specifications to understand test requirements
- Create test plan document
- 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
- Clone/download the repository
- Ensure MAYA_LOCATION environment variable is set to Maya 2023 installation
- Run CMake to generate project files:
mkdir build cd build cmake .. -G "Visual Studio 15 2017" - Build the solution in Visual Studio
- 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
- Review FFmpeg_Integration_Spec.md
- Begin implementing the FFmpeg video decoder class
- Set up basic Maya MPxNode structure
Developer 2
- Review Viewport_2_0_Integration_Spec.md
- Begin implementing MHWRender::MPxDrawOverride base class
- Set up OpenGL texture management system
QA Engineer
- Review all specifications to understand test requirements
- Create test plan document
- 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!