Draw Together
Multiuser collaboration tool with shared whiteboard and 3D mesh painting
Tech Stack
Overview
Creative collaboration often requires shared visual canvases. Draw Together explored two modes of multiuser creative expression: a synchronized shared whiteboard for 2D sketching, and a collaborative 3D mesh painting tool that lets multiple users paint directly onto 3D model surfaces in real time. Both modes were built with networking support for simultaneous multi-user interaction.
Process & Approach
The whiteboard system synchronizes brush strokes as vector data across the network, allowing real-time co-drawing with minimal bandwidth. The mesh painting system required a different approach — painting directly onto UV-mapped 3D models while keeping texture state synchronized between users. I experimented with different synchronization strategies, from streaming full texture updates to transmitting only brush stroke parameters and replaying them locally on each client.
Key Features
- Real-time shared whiteboard with networked drawing
- Collaborative 3D mesh painting on shared models
- Multiple brush types and color selection
- Low-bandwidth stroke synchronization
- Support for simultaneous multi-user editing
Technical Challenges
The mesh painting system's main challenge was maintaining texture consistency across clients when multiple users paint the same region simultaneously. Conflict resolution for overlapping strokes and efficient texture synchronization without excessive bandwidth usage required careful architectural decisions around authority and state management.
Impact & Learnings
The project explored the design space of shared creative tools beyond traditional 2D canvases, demonstrating that 3D collaborative painting is feasible with consumer networking infrastructure. The whiteboard component proved useful as a reusable module in subsequent VR collaboration projects.