In this example, we will learn how to apply different types of filtering effects such as point sampling, bilinear interpolation, and trilinear interpolation to the textures we use in OpenGL.
Again, we will use the previous example and add a light near the spinning cube. Open up
mainwindow.cpp
and add the following code to theinitializeGL()
function:// Trilinear interpolation glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR); glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); glTexParameteri(GL_TEXTURE_2D, GL_GENERATE_MIPMAP, GL_TRUE); glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, texture.width(), texture.height(), 0, GL_RGBA, GL_UNSIGNED_BYTE, texture.bits()); // Enable smooth shading glShadeModel(GL_SMOOTH); // Lighting glEnable(GL_LIGHT1); GLfloat lightAmbient[]= { 0.5f, 0.5f, 0.5f, 1.0f }; GLfloat lightDiffuse[]= { 1.0f, 1.0f, 1.0f, 1.0f }; GLfloat lightPosition[]= { 3.0f, 3.0f, -5.0f, 1.0f ...