Advertisement
Guest User

Untitled

a guest
Jun 21st, 2012
48
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.82 KB | None | 0 0
  1. void display()
  2. {
  3.       glClearColor(0.0,0.0,0.0,1.0);
  4.  
  5.       glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);  
  6.  
  7.       for(std::vector<GLuint>::iterator I = cube.begin(); I != cube.end(); ++I)
  8.       {
  9.                
  10.           glCallList(*I);
  11.  
  12.            }
  13.  
  14.      
  15.          if(DrawArea == true)
  16.          {
  17.  
  18. //  winX = (float)mouse.x;
  19. //  winY = (float)mouse.y;
  20.  
  21. //  winY = (float)viewport[3] - winY;
  22.  
  23.  
  24.         glReadPixels(winX, winY, 1, 1, GL_DEPTH_COMPONENT, GL_FLOAT, &winZ);
  25.  
  26.     cerr << winZ << endl;
  27.  
  28.     glGetDoublev(GL_MODELVIEW_MATRIX, modelview);
  29.  
  30.     glGetDoublev(GL_MODELVIEW_MATRIX, projection);
  31.  
  32.     glGetIntegerv(GL_VIEWPORT, viewport);
  33.  
  34.  
  35.     gluUnProject(winX, winY, winZ , modelview, projection, viewport, &posX, &posY, & posZ);
  36.  
  37.         glBindTexture(GL_TEXTURE_2D, DrawAreaTexture);
  38.  
  39.         glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
  40.  
  41.     glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
  42.     glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
  43.      
  44.         glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_DECAL);  
  45.  
  46.         glTexImage2D (GL_TEXTURE_2D, 0, GL_RGB, DrawAreaSurface->w, DrawAreaSurface->h, 0, GL_RGBA, GL_UNSIGNED_BYTE, DrawAreaSurface->pixels);
  47.  
  48.         glEnable(GL_TEXTURE_2D);
  49.  
  50.         glBindTexture(GL_TEXTURE_2D, DrawAreaTexture);
  51.  
  52.     glTranslatef(posX , posY, posZ);
  53.  
  54.          glBegin(GL_QUADS);
  55.  
  56.          glTexCoord2f (0.0, 0.0);
  57.          glVertex3f(0.5, 0.5, 0);
  58.  
  59.          glTexCoord2f (1.0, 0.0);
  60.          glVertex3f(0, 0.5, 0);
  61.        
  62.          glTexCoord2f (1.0, 1.0);
  63.          glVertex3f(0, 0, 0);
  64.  
  65.          glTexCoord2f (0.0, 1.0);
  66.          glVertex3f(0.5, 0, 0);
  67.  
  68.          glEnd();
  69.  
  70.      
  71.  
  72.             }    
  73.          
  74.           SwapBuffers(hDC);
  75.  
  76.  
  77.           //FOR SPAMMING 1/0
  78.          // cerr << DrawArea << endl;              
  79. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement