Description
This assignment will introduce you to rendering with texture maps (filtered and not) in OpenGL. You will create two meshshop plugins that cooperate to draw meshes with user controlled texture projections. A filter plugin will analyze the mesh and calculate texture coordinates for each vertex and store them in a property of the mesh called "vertex_texture_coordinates". This plugin should be able to apply some standard projections and some of your own invention. Next, a display plugin will render the meshes using the mapping stored in the mesh (if it exists). You will accomplish this by loading a user selected texture from disk and binding it to an OpenGL texture ID. You should make the appropriate calls to enable texturing with the settings the user selects. Your drawing loop should submit texture coordinates for each vertex of each triangle.
Resources
You must use the latest version of the meshshop base code in order to complete this assignment. Check it out with svn.
Recommended plugin options:
filter plugin options projection spherical planar your_projection_1 your_projection_2 scale slider for scale values display plugin options texture name select texture filename texturing on and off minification filter (many texels in one pixel) GL_NEAREST GL_LINEAR GL_NEAREST_MIPMAP_NEAREST GL_NEAREST_MIPMAP_LINEAR GL_LINEAR_MIPMAP_NEAREST GL_LINEAR_MIPMAP_LINEAR magnification filter (one texel over many pixels) GL_NEAREST GL_LINEAR