Annotations: Implement support for 2D annotations | Project Report

The project was divided into two parts:

  • Creating a new primitive for annotations
  • Rendering the primitives to the wireframe view

Creating a new primitive for annotations

  • What was basically required was a container to hold things together

Rendering the primitive on screen

  • The next part was to add support for the visualization of the primitive
  • Input for the primitive also handled through the 'in' command in the patches mentioned below

Support for the 3D->2D projection

  • Annotations always remain in the plane of the screen
  • Modifying the projection matrices for all the display managers was another task
  • Scaling the annotations was another issue
  • All of this was handled by the patches mentioned below

Project Extension

After discussions with the mentors, some extension ideas came up:

  • Functionality to set up the annotation properties for the primitive
  • Extension for the geometric shape of the annotation
  • Common functionality for the annotation and the sketch primitive in order to reduce redundancy
  • Features related to the coordinate system like the annotation scaling
  • Algorithm to provide a bounding box for the text using the relative coordinates