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

Đề tài: Lập trình openGL hiệu ứng ngọn lửa, lỗi cannot convert from 'void *' to 'BYTE *'?

  1. #1
    Ngày gia nhập
    05 2011
    Nơi ở
    Bắc Ninh
    Bài viết
    12

    Mặc định Lập trình openGL hiệu ứng ngọn lửa, lỗi cannot convert from 'void *' to 'BYTE *'?

    Chào mọi người!
    Em hiện đang làm một bài tập về hiệu ứng ngọn lửa sử dụng openGL dùng C++
    Em đã viết được code cơ bản (có chạy được) tuy nhiên hình ảnh nó không được như ý (chưa đẹp)
    Giờ em muốn dán 1 ảnh ngọn lửa vào nó. Mong mọi người chỉ dẫn giúp em, em đã thử thực hiện nhưng nó thông báo lỗi hoài, mọi người xem và giúp em với:
    1/ Chương trình ban đầu của em:

    Code:
    #include <iostream>
    #include <stdlib.h> 
    #include <GL/glut.h>
    
    bool	active=TRUE;							
    
    float t = 15.0f;
    float k = -40.0f;
    void createMenu(void);
    void menu(int value);
    static int win;                           // biến lưu cho cửa sổ window
    static int val = 0;                     // cac tao cac chuc nang
    
    GLuint col;									// bang mau
    GLuint loop;					          // tham chieu den cac hat
    
    typedef struct					// cau truc mot hat
    {
    	bool	active;					// hat con hoat dong
    	float	life;					// timelive
    	float	fade;					// toc do bien mat
    	float	r;				
    	float	g;						
    	float	b;						
    	float	x;						// x, y, z la toa do can hien thi
    	float	y;						
    	float	z;						
    	float	xi;						// huong chuyen dong
    	float	yi;						
    	float	zi;						
    	float	xg;					    // luc keo
    	float	yg;						
    	float	zg;	
    			
    }
    particles;		
    particles particle[6000];						
    
    //********************************************************************************************************
    static GLfloat colors[12][3]=	// bang mau
    {
    	{1.0f,0.0f,0.0f},{1.0f,0.75f,0.5f},{1.0f,1.0f,0.5f},{0.75f,1.0f,0.5f},
    	{0.5f,1.0f,0.5f},{0.5f,1.0f,0.75f},{0.5f,1.0f,1.0f},{0.5f,0.75f,1.0f},
    	{0.5f,0.5f,1.0f},{0.75f,0.5f,1.0f},{1.0f,0.5f,1.0f},{1.0f,0.5f,0.75f}
    	
    };
    //***********************************************************************************************************
    void initRendering() {						             //  khoi tao render
    	glEnable(GL_BLEND);									// tao che do tang hoac giam mau sac 
    	glBlendFunc(GL_SRC_ALPHA,GL_ONE);					// chon kieu cho blend, thiết lập chức năng pha trộn
    }
    //*********************************************************************************************************
    //Ham goi khi cua so window bi thay doi
    void Reshape(int w, int h) {
    
    	glViewport(0, 0, (GLsizei)w,(GLsizei) h);	                                            // tao viewport toan man hinh
    	glMatrixMode(GL_PROJECTION);                                        // dang ky ma tran chieu
    	glLoadIdentity();                                                   //reset
    	gluPerspective(45.0,(double)w / (double)h, 1.0, 200.0);                // khoi tao perspective.
    }
    void display1(){                                    
        glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);	 
      	glutSwapBuffers(); 
         }
         
    //*******************************************************************************************
    void NgonLua() {                                               // hieu ung ngon lua
    	glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);	
    	glMatrixMode(GL_MODELVIEW);                                  // thuc hien cac thao tac bien doi
    	glLoadIdentity();           
    for (loop=0;loop<7000; loop ++)
    	{
    		if (particle[loop].active)						
    		{
    			float x=particle[loop].x;						
    			float y=particle[loop].y;						
    			float z=particle[loop].z-60;			
    
    			glColor4f(particle[loop].r,particle[loop].g,particle[loop].b,particle[loop].life);
    
    			glBegin(GL_TRIANGLE_STRIP);			    		
                    glTexCoord2d(1,1); glVertex3f(x + 2.0f,y + 2.0f,z); 
    				glTexCoord2d(0,1); glVertex3f(x - 2.0f,y + 2.0f,z); 
    				glTexCoord2d(1,0); glVertex3f(x + 0.0f,y - 0.0f,z); 
    			glEnd();								
                
    			particle[loop].x+=particle[loop].xi/(1000.0f);
    			particle[loop].y+=particle[loop].yi/(1000.0f);
    			particle[loop].z+=particle[loop].zi/(1000.0f);
    
    			particle[loop].xi+=particle[loop].xg;		
    			particle[loop].yi+=particle[loop].yg;		
    			particle[loop].zi+=particle[loop].zg;		
    			particle[loop].life-=particle[loop].fade;	
    
    			if (particle[loop].life<0.0f)			
    			{
                   
    				particle[loop].life=1.0f;			
    				particle[loop].fade=float(rand()%100)/1000.0f+0.015f;
                    particle[loop].x =  0;
    				particle[loop].y =  0;
    				particle[loop].z =  0;
    				particle[loop].xi=float((rand()%50)-30.0f);	
    				particle[loop].yi=float((rand()%50)-10.0f);	
    				particle[loop].zi=float((rand()%50)-30.0f);	
    				particle[loop].r=colors[col][7];	 
    	         	particle[loop].g=colors[col][2];	 
    	        	particle[loop].b=colors[col][1];	
    			}		
    		}
        }
    	glutSwapBuffers(); 
    }
    
    
    
    //***********************************************************************************************************
    void update(int value) {	         // Ham thong bao ve lai 
    	glutPostRedisplay();             //thong bao cho truong trinh de ve lai
    	glutTimerFunc(25, update, 0);    // ve lai sau khoang thoi gian 25 mili giay
    }
    //*************************************************************************************************************
    void createMenu(void){                      // tao menu chon cho nguoi dung
    
    	glutCreateMenu(menu);	
    	glutAddMenuEntry("Hieu ung Ngon Lua", 1);
    	glutAddMenuEntry("Exit", 0);
    	glutAttachMenu(GLUT_RIGHT_BUTTON);
    }
    
    //******************************************************************************************************************
    void menu(int value){                         // thuc hien cac cong viec khi chon menu
    
    	switch(value){
              case 0 :                            // thoát chuong trinh
                   	glutDestroyWindow(win);
    	           	exit(0); 
    	           	break;
              case 1 :                            // chon hieu ứng lửa
                   for (loop=0;loop<6000;loop++)			             
        	{
        		particle[loop].active=true;								// cho hat bat dau hoat dong
        		particle[loop].life=1.0f;								// tao do sang cao nhat
    			// khoi tao toc do mo dan cua hat, random tốc độ biến mất
        		particle[loop].fade=float(rand()%100)/1000.0f+0.03f;	
        		particle[loop].xg = 0.0f;								// khoi tao cho luc keo
        		particle[loop].yg = 5.0f ;
        		particle[loop].zg = 0.0f;								
        	}
                glutDisplayFunc(NgonLua);
                break;
               
         }
    }
    
    //*****************************************************************************************************************
    int main(int argc, char** argv) {
          //khởi tạo GLUT                   
        glutInit(&argc, argv);    
    	
    	//Hàm dùng chọn chế độ hiển thị
    	glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH);     
    	
    	// Hàm xác định kích thước và vị trí, tiêu đề của  cửa sổ GLUT
    	glutInitWindowSize(640, 480); 
    	glutInitWindowPosition(0,0);
    	win = glutCreateWindow("FIRE1 ");    
    	
    	
    	createMenu();                              // chay chuc nang menu
    	initRendering();                           // khoi tao
        glutDisplayFunc(display1);                 // chay khoi display1
        glutReshapeFunc(Reshape);             // thuc hien ve lai khi cua so win thay doi kich thuoc
    	glutTimerFunc(10, update, 0);              // goi ham ve lai sau khoang thoi gian
    
    
    	glutMainLoop();
    	return 0;
    }
    2/ Sau đó em muốn dán ảnh mà bị lỗi hoài:(load 1 file jpg vào không được ,ai biết chỉ giùm em với)
    Code:
    #include <iostream>
    #include <stdlib.h> 
    #include <GL/glut.h>
    #include <stdio.h>
    #include <Windows.h>
    bool	active=TRUE;							
    
    
       
    
    void createMenu(void);
    void menu(int value);
    static int win;                           // biến lưu cho cửa sổ window
    static int val = 0;                     // cac tao cac chuc nang
    
    GLuint col;									// bang mau
    GLuint loop;					          // tham chieu den cac hat
    int width, height;
    
    
    static GLuint texture;
    typedef struct					// cau truc mot hat
    {
    	bool	active;					// hat con hoat dong
    	float	life;					// timelive
    	float	fade;					// toc do bien mat
    	float	r;				
    	float	g;						
    	float	b;						
    	float	x;						// x, y, z la toa do can hien thi
    	float	y;						
    	float	z;						
    	float	xi;						// huong chuyen dong
    	float	yi;						
    	float	zi;						
    	float	xg;					    // luc keo
    	float	yg;						
    	float	zg;	
    			
    }
    particles;		
    particles particle[6000];						
    
    //********************************************************************************************************
    static GLfloat colors[12][3]=	// bang mau
    {
    	{1.0f,0.0f,0.0f},{1.0f,0.75f,0.5f},{1.0f,1.0f,0.5f},{0.75f,1.0f,0.5f},
    	{0.5f,1.0f,0.5f},{0.5f,1.0f,0.75f},{0.5f,1.0f,1.0f},{0.5f,0.75f,1.0f},
    	{0.5f,0.5f,1.0f},{0.75f,0.5f,1.0f},{1.0f,0.5f,1.0f},{1.0f,0.5f,0.75f}
    	
    };
    //*************************************************************************************************
    GLubyte rasters[24]={
    	0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00,
    	0xc0, 0x00, 0xff, 0x00, 0xff, 0x00, 0xc0, 0x00,
    	0xc0, 0x00, 0xc0, 0x00, 0xff, 0xc0, 0xff, 0xc0
    };
    //*********************************
    void FreeTexture( GLuint texture );
    //***********************************************************************************************************
    void initRendering() {						             //  khoi tao render
    
    	glEnable(GL_BLEND);									// tao che do tang hoac giam mau sac 
    	glBlendFunc(GL_SRC_ALPHA,GL_ONE);					// chon kieu cho blend, thiết lập chức năng pha trộn
    	glPixelStorei(GL_UNPACK_ALIGNMENT,1);
    	glClearColor(0.0, 0.0, 0.0, 0.0);
    	// OpenGL animation code goes here
    
          glClearColor( 0.0f, 0.0f, 0.0f, 0.0f );
          glClear( GL_COLOR_BUFFER_BIT );
    
          // setup texture mapping
          glEnable( GL_TEXTURE_2D );
          glBindTexture( GL_TEXTURE_2D, texture );
    
          glPushMatrix();
          glRotatef( 0.0f, 0.0f, 0.0f, 1.0f );
          glBegin( GL_QUADS );
          glTexCoord2d(0.0,0.0); glVertex2d(-1.0,-1.0);
          glTexCoord2d(1.0,0.0); glVertex2d(+1.0,-1.0);
          glTexCoord2d(1.0,1.0); glVertex2d(+1.0,+1.0);
          glTexCoord2d(0.0,1.0); glVertex2d(-1.0,+1.0);
          glEnd();
          glPopMatrix();
    
    
    	/*width =256;
    	height=256;
    	// cap phat du lieu
    	data = malloc(width*height*3);
    	file= fopen(filename, "anh.jpg"
    	fread(data,width*height*3,1,file);
    	fclose(file);
    	*/
    	/* cho OpenGL kết cấu để chỉnh sửa
    	Bản đồ hình ảnh glTexImage2D kết cấu (GL_TEXTURE_2D, / / Luôn luôn GL_TEXTURE_2D 0, / / 0 giờ GL_RGB, OpenGL 
        Định dạng sử dụng cho hình ảnh-> chiều rộng, hình ảnh-> chiều cao, / / Chiều rộng và chiều cao 0, / / biên giới của các GL_RGB hình ảnh, / / GL_RGB, 
    	bởi vì điểm ảnh được lưu trữ trong GL_UNSIGNED_BYTE định dạng RGB, / GL_UNSIGNED_BYTE /, bởi vì các điểm ảnh được lưu trữ / / unsigned số hình ảnh -> pixel); / / Các điểm ảnh dữ liệu thực tế */
    	
    	
    	/* glTexEnvf(GL_TEXTURE_ENV|GL_TEXTURE_ENV_MODE|GL_MODULATE);//chon dieu chinh de ket hop texture voi mau sac cho bong
    	glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER,GL_NEAREST);
    	//khi texture co dien tich lon, bo loc bilinear ban goc
    	glTexParameterf(GL_TEXTURE_2D|GL_TEXTURE_MAG_FILTER|GL_LINEAR);
    	// TEXTURE kết thúc tốt đẹp ở các cạnh (lặp lại) 
        glTexParameterf (GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); 
        glTexParameterf (GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
    	*/
    }
    //*************
    // Tải một RGB 256x256. RAW tập tin như là một kết cấu 
      GLuint LoadTextureRAW (const char * filename, int wrap) 
      { 
          GLuint texture; 
          int width, height; 
          BYTE *data; 
          FILE *file; 
    
          // Mở kết cấu dữ liệu 
          file=fopen ("D:\\anh.jpg", "rb"); 
    
          if(file == NULL) return 0; 
    
          // Cấp phát bộ đệm 
          width = 256; 
          height = 256; 
          data = malloc (width * height * 3); 
    
          // Đọc dữ liệu kết cấu 
          fread (data, width * height * 3, 1,file); 
          fclose (file); 
    
          // Phân bổ một tên kết cấu 
    	  glGenTextures (1, & texture); 
    
          // Chọn kết cấu hiện tại của chúng tôi 
    	  glBindTexture (GL_TEXTURE_2D, texture); 
    
          // Chọn điều chỉnh để kết hợp kết cấu với màu sắc cho bóng 
          glTexEnvf (GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); 
    
          // Khi kết cấu có diện tích nhỏ, bộ lọc bilinear mipmap gần nhất 
          glTexParameterf (GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_NEAREST); 
          // Khi kết cấu có diện tích lớn, bộ lọc bilinear mipmap đầu tiên 
          glTexParameterf (GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); 
    
          // Nếu bọc là đúng, kết cấu kết thúc tốt đẹp ở các cạnh (lặp lại) 
          // ...  sai, kết cấu kết thúc ở các cạnh (kẹp) 
          glTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S,
                       wrap ? GL_REPEAT : GL_CLAMP );
          glTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_WRAP_T,
                       wrap ? GL_REPEAT : GL_CLAMP );
    
          // Xây dựng mipmaps kết cấu của  tôi 
          gluBuild2DMipmaps (GL_TEXTURE_2D, 3, width, height, 
                             GL_RGB, GL_UNSIGNED_BYTE, data); 
    
          // Bộ đệm miễn phí 
          free (data); 
    
          return texture;
      } 
      //*************************
      void FreeTexture( GLuint texture )
    {
    
      glDeleteTextures( 1, &texture );
    
    }
    
    //*********************************************************************************************************
    //Ham goi khi cua so window bi thay doi
    void Reshape(int w, int h) {
    
    	glViewport(0, 0, (GLsizei)w,(GLsizei) h);	                                            // tao viewport toan man hinh
    	glMatrixMode(GL_PROJECTION);                                        // dang ky ma tran chieu
    	glLoadIdentity();                                                   //reset
    	gluPerspective(45.0,(double)w / (double)h, 1.0, 200.0);                // khoi tao perspective.
    }
    void display1(){                                    
        glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);	 
      	glutSwapBuffers(); 
    	
    	
    
         }
         
    //*******************************************************************************************
    void NgonLua() {                                               // hieu ung ngon lua
    	glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);	
    	glMatrixMode(GL_MODELVIEW);                                  // thuc hien cac thao tac bien doi
    	glLoadIdentity();           
    for (loop=0;loop<7000; loop ++)
    	{
    		if (particle[loop].active)						
    		{
    			float x=particle[loop].x;						
    			float y=particle[loop].y;						
    			float z=particle[loop].z-40;			
    
    			glColor4f(particle[loop].r,particle[loop].g,particle[loop].b,particle[loop].life);
    			particle[loop].r=colors[loop*(12/7000)][0];        // Select Red Rainbow Color
                particle[loop].g=colors[loop*(12/7000)][1];        // Select Red Rainbow Color
                particle[loop].b=colors[loop*(12/7000)][2];        // Select Red Rainbow Color
    
    			particle[loop].xi=float((rand()%50)-26.0f)*10.0f;       // Random Speed On X Axis
                particle[loop].yi=float((rand()%50)-10.0f)*10.0f;       // Random Speed On Y Axis
                particle[loop].zi=float((rand()%50)-25.0f)*10.0f;       // Random Speed On Z Axis
    
    			particle[loop].xg=0.0f;                     // Set Horizontal Pull To Zero
                particle[loop].yg=-0.8f;                    // Set Vertical Pull Downward
                particle[loop].zg=0.0f;                     // Set Pull On Z Axis To Zero
    
    			glBegin(GL_TRIANGLE_STRIP);			    		
                    glTexCoord2d(1,1); glVertex3f(x+0.5f,y+0.5f,z); // Top Right
                    glTexCoord2d(0,1); glVertex3f(x-0.5f,y+0.5f,z); // Top Left
                    glTexCoord2d(1,0); glVertex3f(x+0.5f,y-0.5f,z); // Bottom Right
                    glTexCoord2d(0,0); glVertex3f(x-0.5f,y-0.5f,z); // Bottom Left
    			glEnd();								
                
    
    			
    			particle[loop].x+=particle[loop].xi/(2000.0f);            // cach lam cham lai hoat dong
    			particle[loop].y+=particle[loop].yi/(2000.0f);
    			particle[loop].z+=particle[loop].zi/(2000.0f);
    
    			particle[loop].xi+=particle[loop].xg;		
    			particle[loop].yi+=particle[loop].yg;		
    			particle[loop].zi+=particle[loop].zg;		
    			particle[loop].life-=particle[loop].fade;	
    
    			if (particle[loop].life<0.0f)			
    			{
                   
    				particle[loop].life=1.0f;			
    				particle[loop].fade=float(rand()%100)/1000.0f+0.015f;
                    particle[loop].x =  0;
    				particle[loop].y =  0;
    				particle[loop].z =  0;
    				particle[loop].xi=float((rand()%50)-30.0f);	
    				particle[loop].yi=float((rand()%50)-10.0f);	         // huong chuyen dong 
    				particle[loop].zi=float((rand()%50)-30.0f);	
    				particle[loop].r=colors[col][7];	 
    	         	particle[loop].g=colors[col][2];	 
    	        	particle[loop].b=colors[col][1];	
    			}		
    		}
        }
    	glutSwapBuffers(); 
    }
    
    
    //******************************************************************************************************************
    
    
    //***********************************************************************************************************
    void update(int value) {	         // Ham thong bao ve lai 
    	glutPostRedisplay();             //thong bao cho truong trinh de ve lai
    	glutTimerFunc(25, update, 0);    // ve lai sau khoang thoi gian 25 mili giay
    }
    //*************************************************************************************************************
    void createMenu(void){                      // tao menu chon cho nguoi dung
    
    	glutCreateMenu(menu);	
    	glutAddMenuEntry("Hieu ung Ngon Lua", 1);
    	glutAddMenuEntry("Exit", 0);
    	glutAttachMenu(GLUT_RIGHT_BUTTON);
    }
    
    //******************************************************************************************************************
    void menu(int value){                         // thuc hien cac cong viec khi chon menu
    
    	switch(value){
              case 0 :                            // thoát chuong trinh
                   	glutDestroyWindow(win);
    	           	exit(0); 
    	           	break;
              case 1 :                            // chon hieu ứng lửa
                   for (loop=0;loop<6000;loop++)			             
        	{
        		particle[loop].active=true;								// cho hat bat dau hoat dong
        		particle[loop].life=1.0f;								// tao do sang cao nhat
    			// khoi tao toc do mo dan cua hat, random tốc độ biến mất
        		particle[loop].fade=float(rand()%100)/1000.0f+0.03f;	
        		particle[loop].xg = 0.0f;								// khoi tao cho luc keo
        		particle[loop].yg = 5.0f ;                                 // luc keo len tren
        		particle[loop].zg = 0.0f;								
        	}
                glutDisplayFunc(NgonLua);
                break;
               
         }
    }
    
    //*****************************************************************************************************************
    int main(int argc, char** argv) {
          //khởi tạo GLUT                   
        glutInit(&argc, argv);    
    	texture = LoadTextureRAW( "anh.jpg", TRUE );
    	//Hàm dùng chọn chế độ hiển thị
    	glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH);     
    	
    	// Hàm xác định kích thước và vị trí, tiêu đề của  cửa sổ GLUT
    	glutInitWindowSize(640, 480); 
    	glutInitWindowPosition(0,0);
    	win = glutCreateWindow("FIRE1 ");    
    	
    	
    	createMenu();                              // chay chuc nang menu
    	initRendering();                           // khoi tao
        glutDisplayFunc(display1);                 // chay khoi display1
        glutReshapeFunc(Reshape);             // thuc hien ve lai khi cua so win thay doi kich thuoc
    	glutTimerFunc(10, update, 0);              // goi ham ve lai sau khoang thoi gian
    
    
    	glutMainLoop();
    	return 0;
    }
    Lõi thông báo :
    ------ Build started: Project: NgonLua, Configuration: Debug Win32 ------
    HieuUngNgonLua.cpp
    c:\documents and settings\administrator\my documents\visual studio 2010\projects\ngonlua\ngonlua\hieuungngonlua.cpp(1 21): warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
    c:\program files\microsoft visual studio 10.0\vc\include\stdio.h(234) : see declaration of 'fopen'
    c:\documents and settings\administrator\my documents\visual studio 2010\projects\ngonlua\ngonlua\hieuungngonlua.cpp(1 28): error C2440: '=' : cannot convert from 'void *' to 'BYTE *'
    Conversion from 'void*' to pointer to non-'void' requires an explicit cast
    c:\documents and settings\administrator\my documents\visual studio 2010\projects\ngonlua\ngonlua\hieuungngonlua.cpp(1 51): warning C4244: 'argument' : conversion from 'int' to 'GLfloat', possible loss of data
    c:\documents and settings\administrator\my documents\visual studio 2010\projects\ngonlua\ngonlua\hieuungngonlua.cpp(1 53): warning C4244: 'argument' : conversion from 'int' to 'GLfloat', possible loss of data
    ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
    Đã được chỉnh sửa lần cuối bởi nhoc_cham_hieu : 23-04-2012 lúc 01:29 AM.

  2. #2
    Ngày gia nhập
    04 2010
    Nơi ở
    Binh Thanh, Hồ Chí Minh, Vietnam, Vietnam
    Bài viết
    504

    Cho vào tab Code=c đi bạn để vậy khó nhìn quá.
    Kết bạn với tôi <3
    Skype: giautm
    Facebook:
    https://fb.com/giautm.duongntt
    Email:
    giau.tmg@gmail.com

  3. #3
    Ngày gia nhập
    05 2011
    Nơi ở
    Bắc Ninh
    Bài viết
    12

    Trích dẫn Nguyên bản được gửi bởi doicanhden Xem bài viết
    Cho vào tab Code=c đi bạn để vậy khó nhìn quá.
    Tớ gà quá! Cám ơn cậu nhắc. Cậu nhân tiện xem giúp mình bài ý với nhé! Mình code không giỏi lắm.

  4. #4
    Ngày gia nhập
    04 2010
    Nơi ở
    Binh Thanh, Hồ Chí Minh, Vietnam, Vietnam
    Bài viết
    504

    Thêm =c sau tab code để hiển thị đẹp hơn.
    Lỗi hiển thị rõ kìa dòng 28, gán con trỏ void cho con trỏ BYTE, bạn phải dùng toán tử ép kiểu (BYTE*) mới đc.

    Không biết biến nào đấy của bạn là kiểu int, nhưng thg OpenGL lại dùng kiểu GLfloat của nó. Khai báo biến kiểu GLfloat
    Code:
    c:\documents and settings\administrator\my documents\visual studio 2010\projects\ngonlua\ngonlua\hieuungngonlua.cpp(1 28): error C2440: '=' : cannot convert from 'void *' to 'BYTE *'
    Conversion from 'void*' to pointer to non-'void' requires an explicit cast
    c:\documents and settings\administrator\my documents\visual studio 2010\projects\ngonlua\ngonlua\hieuungngonlua.cpp(1 51): warning C4244: 'argument' : conversion from 'int' to 'GLfloat', possible loss of data
    c:\documents and settings\administrator\my documents\visual studio 2010\projects\ngonlua\ngonlua\hieuungngonlua.cpp(1 53): warning C4244: 'argument' : conversion from 'int' to 'GLfloat', possible loss of data
    Kết bạn với tôi <3
    Skype: giautm
    Facebook:
    https://fb.com/giautm.duongntt
    Email:
    giau.tmg@gmail.com

  5. #5
    Ngày gia nhập
    05 2011
    Nơi ở
    Bắc Ninh
    Bài viết
    12

    Trích dẫn Nguyên bản được gửi bởi doicanhden Xem bài viết
    Thêm =c sau tab code để hiển thị đẹp hơn.
    Lỗi hiển thị rõ kìa dòng 28, gán con trỏ void cho con trỏ BYTE, bạn phải dùng toán tử ép kiểu (BYTE*) mới đc.

    Không biết biến nào đấy của bạn là kiểu int, nhưng thg OpenGL lại dùng kiểu GLfloat của nó. Khai báo biến kiểu GLfloat
    Code:
    c:\documents and settings\administrator\my documents\visual studio 2010\projects\ngonlua\ngonlua\hieuungngonlua.cpp(1 28): error C2440: '=' : cannot convert from 'void *' to 'BYTE *'
    Conversion from 'void*' to pointer to non-'void' requires an explicit cast
    c:\documents and settings\administrator\my documents\visual studio 2010\projects\ngonlua\ngonlua\hieuungngonlua.cpp(1 51): warning C4244: 'argument' : conversion from 'int' to 'GLfloat', possible loss of data
    c:\documents and settings\administrator\my documents\visual studio 2010\projects\ngonlua\ngonlua\hieuungngonlua.cpp(1 53): warning C4244: 'argument' : conversion from 'int' to 'GLfloat', possible loss of data
    Cám ơn cậu! để t xem lại. Tớ chỉ viết thử đoạn dưới thôi, cậu có biết cách dán ảnh trong opengl dáng giúp t 1 cái ảnh vào ngọn lửa được không @@

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

  1. Database Cách convert hình ảnh sang kiểu byte để lưu trực tiếp ảnh xuống SQL?
    Gửi bởi vosydao trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 2
    Bài viết cuối: 21-04-2013, 07:32 AM
  2. Cách convert từ char* sang Byte[] trong Winform C++?
    Gửi bởi chuot chui trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 2
    Bài viết cuối: 31-05-2012, 06:45 PM
  3. Mã nguồn C Lỗi initializing argument 5 of `int search(void*, int, int, int, void*, int (*)(void*, void*))'tìm kiếm nhị phân
    Gửi bởi dienkun trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 8
    Bài viết cuối: 14-01-2012, 12:08 AM
  4. Lập trình C++ convert int to byte array in c++
    Gửi bởi phuongtk trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 6
    Bài viết cuối: 22-10-2011, 06:38 PM
  5. [C] error : '=' : cannot convert from 'void *' to 'int *'
    Gửi bởi stephen trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 2
    Bài viết cuối: 21-09-2006, 10:49 AM

Tags của đề tài này

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