Từ 1 tới 3 trên tổng số 3 kết quả

Đề tài: help mình lỗi load file.bmp trong vs2005

  1. #1
    Ngày gia nhập
    11 2008
    Bài viết
    5

    Mặc định help mình lỗi load file.bmp trong vs2005

    mọi người cho mình hỏi cái lỗi này cái,chẳng biết sai chỗ nào nữa

    còn đây là code,mọi người xem thử xem còn lỗi sửa giùm luôn nha,cảm ơn tất cả trước !
    Code:
    #include <windows.h>
    #include <stdlib.h>
    #include <stdio.h>
    #include "glut.h"
    #include "gl/glaux.h"
    bool keys[256];
    bool active=TRUE;
    bool fullscreen=TRUE;
    GLfloat xrot;
    GLfloat yrot;
    GLfloat zrot;
    #define NUM_TEXTURES 1
    GLuint texture[NUM_TEXTURES];
    char* texNames[NUM_TEXTURES] = {" tex/Riverrock.bmp"};
    AUX_RGBImageRec *LoadBMP( char *Filename )
    {
    	FILE *File=NULL;
    	if(!Filename)
    	{
    	return NULL;
    	}
    	File=fopen(Filename,"r");
    	if(File)
    	{
    		fclose(File);
    		return auxDIBImageLoad(Filename);
    	}
    	return NULL;
    }
    int LoadGLTextures()
    {
    	AUX_RGBImageRec *TextureImage [NUM_TEXTURES] ;
    	memset(TextureImage,0,sizeof(void *)*NUM_TEXTURES) ;
    	int i = 0 ;
    	glGenTextures(NUM_TEXTURES,texture);
    	while(i<NUM_TEXTURES)
    	{
    		TextureImage[i]=LoadBMP(texNames[i]);
    		glBindTexture(GL_TEXTURE_2D,texture[i]);
    		glTexImage2D(GL_TEXTURE_2D,0,3,TextureImage[i]->sizeX,TextureImage[i]->sizeY,0,GL_RGB,GL_UNSIGNED_BYTE,TextureImage[i]->data);
    		glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
    		glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
    		free(TextureImage[i]->data);
    		free(TextureImage[i]);
    		++i;
    	}
    	if(i!=NUM_TEXTURES)
    		return false;
    	return true;
    }
    GLvoid	resize(GLsizei width,GLsizei height)
    {
    	if(height==0)
    		height=1;
    	glViewport(0,0,width,height);
    	glMatrixMode(GL_PROJECTION);
    	glLoadIdentity();
    	gluPerspective(45.0f,(GLfloat)width/(GLfloat)height,0.1f,100.0f);
    	glMatrixMode(GL_MODELVIEW);
    	glLoadIdentity();
    
    	
    }
    void init(GLvoid)
    {
    	if(!LoadGLTextures())
    		return;
    	glEnable(GL_TEXTURE_2D);
    	glShadeModel(GL_SMOOTH);
    	glClearColor(0.0f,0.0f,0.0f,0.55f);
    	glClearDepth(1.0f);
    	glEnable(GL_DEPTH_TEST);
    	glDepthFunc(GL_LEQUAL);
    	glHint(GL_PERSPECTIVE_CORRECTION_HINT,GL_NICEST);
    
    }
    void renderScene_1(GLvoid)
    {
    	glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    	glLoadIdentity();
    	glPushMatrix();
    	glTranslatef(0.0f,0.0f,-5.0f);
    	glRotatef(xrot,1.0f,0.0f,0.0f);
    	glRotatef(yrot,0.0f,1.0f,0.0f);
    	glRotatef(zrot,0.0f,0.0f,1.0f);
    	glBindTexture(GL_TEXTURE_2D,texture[0]);
    	glBegin(GL_QUADS);//font face
    		glTexCoord2d(0.0f,0.0f);glVertex3f(-1.0f,-1.0f,1.0f);
    		glTexCoord2d(1.0f,0.0f);glVertex3f(1.0f,-1.0f,1.0f);
    		glTexCoord2d(1.0f,1.0f);glVertex3f(1.0f,1.0f,1.0f);
    		glTexCoord2d(0.0f,1.0f);glVertex3f(-1.0f,1.0f,1.0f);
    	glEnd();
    	glBegin(GL_QUADS);//back face
    		glTexCoord2d(1.0f,0.0f);glVertex3f(-1.0f,-1.0f,-1.0f);
    		glTexCoord2d(1.0f,1.0f);glVertex3f(-1.0f,1.0f,-1.0f);
    		glTexCoord2d(0.0f,1.0f);glVertex3f(1.0f,1.0f,-1.0f);
    		glTexCoord2d(0.0f,0.0f);glVertex3f(1.0f,-1.0f,-1.0f);
    	glEnd();
    	glBegin(GL_QUADS);//top face
    		glTexCoord2d(0.0f,1.0f);glVertex3f(-1.0f,1.0f,-1.0f);
    		glTexCoord2d(0.0f,0.0f);glVertex3f(-1.0f,1.0f,1.0f);
    		glTexCoord2d(1.0f,0.0f);glVertex3f(1.0f,1.0f,1.0f);
    		glTexCoord2d(1.0f,1.0f);glVertex3f(1.0f,1.0f,-1.0f);
    	glEnd();
    	glBegin(GL_QUADS);//bottom face
    		glTexCoord2d(1.0f,1.0f);glVertex3f(-1.0f,-1.0f,-1.0f);
    		glTexCoord2d(0.0f,1.0f);glVertex3f(-1.0f,-1.0f,-1.0f);
    		glTexCoord2d(0.0f,0.0f);glVertex3f(1.0f,-1.0f,1.0f);
    		glTexCoord2d(1.0f,0.0f);glVertex3f(-1.0f,-1.0f,1.0f);
    	glEnd();
    	glBegin(GL_QUADS);//right face
    		glTexCoord2d(1.0f,0.0f);glVertex3f(1.0f,-1.0f,-1.0f);
    		glTexCoord2d(1.0f,1.0f);glVertex3f(1.0f,1.0f,-1.0f);
    		glTexCoord2d(0.0f,1.0f);glVertex3f(1.0f,1.0f,1.0f);
    		glTexCoord2d(0.0f,0.0f);glVertex3f(1.0f,-1.0f,1.0f);
    	glEnd();
    	glBegin(GL_QUADS);//left face
    		glTexCoord2d(0.0f,0.0f);glVertex3f(-1.0f,-1.0f,-1.0f);
    		glTexCoord2d(1.0f,0.0f);glVertex3f(-1.0f,-1.0f,1.0f);
    		glTexCoord2d(1.0f,1.0f);glVertex3f(-1.0f,1.0f,1.0f);
    		glTexCoord2d(0.0f,1.0f);glVertex3f(-1.0f,1.0f,-1.0f);
    	glEnd();
    	xrot+=0.3f;
    	yrot+=0.2f;
    	zrot+=0.4f;
    	glutSwapBuffers();
    }void reshape(int w, int h)
    {
    	glViewport(0,0,w,h);
    	glMatrixMode(GL_PROJECTION);
    	glLoadIdentity();
    	if(h==0)
    		gluPerspective(80,(float)w,1.0,5000.0);
    	else
    		gluPerspective(80,(float)w/(float)h,1.0,5000.0);
    		glMatrixMode(GL_MODELVIEW);
    		glLoadIdentity();
    }
    void keyboard(unsigned char key,int x,int y)
    {
    	switch(key)
    	{
    		case 27:
    			exit(0);
    			break ;
    		default:
    			break ;
    	}
    }
    int main ( int argc , char**argv )
    {
    	glutInit(&argc,argv);
    	glutInitDisplayMode (GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH ) ;
    	glutInitWindowSize(500,500);
    	glutCreateWindow( "Lab 7" ) ;
    	glutDisplayFunc(renderScene_1);
    	glutReshapeFunc(reshape);
    	glutKeyboardFunc(keyboard);
    	glutIdleFunc(renderScene_1 ) ;
    	init();
    	glutMainLoop ( ) ;
    	return 0;
    }
    Đã được chỉnh sửa lần cuối bởi vetinhdotham : 17-11-2008 lúc 12:27 AM. Lý do: thêm code :D

  2. #2
    Ngày gia nhập
    09 2008
    Bài viết
    28

    Để tránh bị lỗi này bạn nên thêm các files sau:

    opengl32.lib
    glu32.lib
    glaux.lib

    vào mục Project->Properties->Linker->Input->Additional Dependencies

    Bạn có thể xem hình minh họa đính kèm.
    Attached Thumbnails Attached Thumbnails OpenGL_Config_in_VC.jpg  

  3. #3
    Ngày gia nhập
    11 2008
    Bài viết
    5

    cảm ơn bạn nhiều,mình add vào và đã chạy được

Các đề tài tương tự

  1. Trả lời: 4
    Bài viết cuối: 04-09-2013, 06:39 AM
  2. Load tên file và thông tin file vào Listview trong C#?
    Gửi bởi brian56 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 3
    Bài viết cuối: 14-05-2013, 11:44 PM
  3. Trả lời: 3
    Bài viết cuối: 10-04-2013, 08:06 AM
  4. ADO.NET Gặp lỗi "Could not load file or assembly..." khi load Project trong C#.Cách giải quyết như thế nào ?
    Gửi bởi tranloanspkt trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 0
    Bài viết cuối: 01-12-2011, 09:33 AM
  5. Hỏi về Class Wizard trong VS2005
    Gửi bởi halohcm trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 3
    Bài viết cuối: 26-10-2008, 11:28 AM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn