Lesson 06

Started by
0 comments, last by JoaoPaneto 12 years, 4 months ago
Someone can send me an example of this application?? Texturing with GLFW...

Thank you
Advertisement

Someone can send me an example of this application?? Texturing with GLFW...

Thank you


why this source is not working??


//========================================================================
// This is a small test application for GLFW.
// The program shows texture loading with mipmap generation and trilienar
// filtering.
//========================================================================

/************************************************************************
* $Id: mipmaps.c,v 1.2 2003/02/02 22:34:12 marcus256 Exp $
************************************************************************/

#include <stdio.h>
#include <glfw.h>

//========================================================================
// main()
//========================================================================

int main( void )
{
int width, height, running, frames, x, y;
double t, t0, fps;
char titlestr[ 200 ];
GLuint texid;

// Initialise GLFW
glfwInit();

// Open OpenGL window
if( !glfwOpenWindow( 640, 480, 0,0,0,0, 0,0, GLFW_WINDOW ) )
{
glfwTerminate();
return 0;
}

// Enable sticky keys
glfwEnable( GLFW_STICKY_KEYS );

// Disable vertical sync (on cards that support it)
glfwSwapInterval( 0 );

// Get and select a texture object ID
glGenTextures( 1, &texid );
glBindTexture( GL_TEXTURE_2D, texid );

// Load texture from file, and build all mipmap levels. The
// texture is automatically uploaded to texture memory.
if( !glfwLoadTexture2D( "bubble.tga", GLFW_BUILD_MIPMAPS_BIT ) )
{
glfwTerminate();
return 0;
}

// Use trilinear interpolation (GL_LINEAR_MIPMAP_LINEAR)
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER,
GL_LINEAR_MIPMAP_LINEAR );
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER,
GL_LINEAR );

// Enable texturing
glEnable( GL_TEXTURE_2D );

// Main loop
running = GL_TRUE;
frames = 0;
t0 = glfwGetTime();
while( running )
{
// Get time and mouse position
t = glfwGetTime();
glfwGetMousePos( &x, &y );

// Calculate and display FPS (frames per second)
if( (t-t0) > 1.0 || frames == 0 )
{
fps = (double)frames / (t-t0);
sprintf( titlestr, "Trilinear interpolation (%.1f FPS)", fps );
glfwSetWindowTitle( titlestr );
t0 = t;
frames = 0;
}
frames ++;

// Get window size (may be different than the requested size)
glfwGetWindowSize( &width, &height );
height = height > 0 ? height : 1;

// Set viewport
// glViewport( 0, 0, width, height );

// Clear color buffer
glClearColor( 0.0f, 0.0f, 0.0f, 0.0f);
glClear( GL_COLOR_BUFFER_BIT );

// Select and setup the projection matrix
glMatrixMode( GL_PROJECTION );
glLoadIdentity();
// gluPerspective( 65.0f, (GLfloat)width/(GLfloat)height, 1.0f,
// 50.0f );

// Select and setup the modelview matrix
glMatrixMode( GL_MODELVIEW );
glLoadIdentity();
// gluLookAt( 0.0f, 3.0f, -20.0f, // Eye-position
// 0.0f, -4.0f, -11.0f, // View-point
// 0.0f, 1.0f, 0.0f ); // Up-vector

// Draw a textured quad
glRotatef( 0.05*(GLfloat)x + (GLfloat)t*5.0f, 0.0f, 1.0f, 0.0f );
glBindTexture( GL_TEXTURE_2D, texid );
glBegin( GL_QUADS );
glTexCoord2f( -20.0f, 20.0f );
glVertex3f( -50.0f, 0.0f, -50.0f );
glTexCoord2f( 20.0f, 20.0f );
glVertex3f( 50.0f, 0.0f, -50.0f );
glTexCoord2f( 20.0f, -20.0f );
glVertex3f( 50.0f, 0.0f, 50.0f );
glTexCoord2f( -20.0f, -20.0f );
glVertex3f( -50.0f, 0.0f, 50.0f );
glEnd();

// Swap buffers
glfwSwapBuffers();

// Check if the ESC key was pressed or the window was closed
running = !glfwGetKey( GLFW_KEY_ESC ) &&
glfwGetWindowParam( GLFW_OPENED );
}

// Close OpenGL window and terminate GLFW
glfwTerminate();

return 0;
}

This topic is closed to new replies.

Advertisement