Eng 591 - VR Programming - Class Outline 14

General Topics: Polygons, Vertices, 3D Text ( WTK Chapters 7 & 9 )

Today's Demo: ColrCube.c Revisited

Acessing Polygons

There are lots of calls that return pointers to polygons, including
  • WTscreen_pickpoly ( discussed in outline 10 )
  • WTgeometry_getpolys ( outline 13 )
  • WTpoly_next
  • WTpoly_rayintersect

Modifying Polygons

The calls to modify polygons are very similar to their geometry counterparts:
  • WTpoly_setrgb, WTpoly_getrgb
  • WTpoly_setmatid, WTpoly_getmatid
  • WTpoly_setbothsides, WTpoly_getbothsides - Determines whether both sides of a polygon are visible or just one side.
  • WTpoly_setid, WTpoly_getid - The ID can also be set in an NFF file, making it possible to identify a particular polygon in a model after it has been loaded.

Acessing Other Polygon Information

  • WTpoly_getcg
  • WTpoly_getnormal
  • WTpoly_getgeometry
  • WTpoly_getvertex
  • WTpoly_numvertices

Creating Polygons Dynamically

Some of these calls were also discussed under dynamic geometry creation:
  • WTgeometry_beginpoly
  • WTgeometry_newvertex
  • WTpoly_addvertex
  • WTpoly_addvertexptr
  • WTpoly_close
  • WTpoly_delete

3D Text

There are three steps to creating 3-D text: Loading the font, creating the geometry from the font, and ( optionally ) destroying the font. Once the geometry is created, then any of the geometry functions can be used to modify the resulting object(s). Other functions query and/or modify font properties:
  • WTfont3d_load
  • WTgeometry_newtext3d
  • WTfont3d_delete ( When no more text is needed )
  • WTfont3d_getspacing, WTfont3d_setspacing
  • WTfont3d_getextents
  • WTfont3d_charexists

See Today's Example to see how 3-D text is used.