Jump to content

  • Log In with Google      Sign In   
  • Create Account

Banner advertising on our site currently available from just $5!


1. Learn about the promo. 2. Sign up for GDNet+. 3. Set up your advert!


JoaoPaneto

Member Since 07 Dec 2011
Offline Last Active Dec 13 2011 06:35 PM

Posts I've Made

In Topic: Lesson 06

08 December 2011 - 06:45 AM

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;  
}

PARTNERS