this is an opengl problem but because it's partially qt, i thought it best to ask here. im new to opengl so bear with me.

i have data for a texture and i bind the texture in the init code and draw it in the paint code and yet only the black background is shown.

what am i doing wrong?

note: when proper opengl code is put in this class, it does draw, so it's not another part of my project, it's in this class specifically.

Qt Code:
  1. static GLint block[] =
  2. {
  3. 0xffe04000, 0xffe04000, 0xffe04000, 0xff000000, 0xffe0e0a0, 0xff000000, 0xff000000, 0xffe0e0a0, 0xffe04000, 0xffe04000, 0xff000000, 0xff000000, 0xffe0e0a0, 0xff000000, 0xffe04000, 0xffe04000,
  4. 0xffe04000, 0xffe04000, 0xffe04000, 0xffe04000, 0xff000000, 0xff000000, 0xffe0e0a0, 0xffe04000, 0xffe04000, 0xffe04000, 0xffe04000, 0xffe04000, 0xff000000, 0xff000000, 0xff000000, 0xffe0e0a0,
  5. 0xffe04000, 0xffe04000, 0xffe04000, 0xffe04000, 0xff000000, 0xff000000, 0xffe0e0a0, 0xffe04000, 0xffe04000, 0xffe04000, 0xffe04000, 0xffe04000, 0xff000000, 0xff000000, 0xffe04000, 0xff000000,
  6. 0xffe0e0a0, 0xffe04000, 0xffe04000, 0xffe04000, 0xff000000, 0xff000000, 0xffe0e0a0, 0xffe04000, 0xffe04000, 0xffe04000, 0xffe04000, 0xffe04000, 0xffe04000, 0xff000000, 0xffe04000, 0xff000000,
  7. 0xffe0e0a0, 0xffe04000, 0xffe04000, 0xffe04000, 0xff000000, 0xffe0e0a0, 0xffe04000, 0xffe04000, 0xffe04000, 0xffe04000, 0xffe04000, 0xffe04000, 0xffe04000, 0xff000000, 0xffe04000, 0xff000000,
  8. 0xffe04000, 0xffe04000, 0xffe04000, 0xffe04000, 0xff000000, 0xffe0e0a0, 0xffe04000, 0xffe04000, 0xffe04000, 0xffe04000, 0xffe04000, 0xffe04000, 0xffe04000, 0xffe04000, 0xffe04000, 0xff000000,
  9. 0xffe04000, 0xffe04000, 0xffe04000, 0xffe04000, 0xff000000, 0xffe0e0a0, 0xffe04000, 0xffe04000, 0xffe04000, 0xffe04000, 0xffe04000, 0xffe0e0a0, 0xffe0e0a0, 0xff000000, 0xff000000, 0xffe0e0a0,
  10. 0xffe04000, 0xffe04000, 0xffe04000, 0xffe04000, 0xff000000, 0xffe0e0a0, 0xffe04000, 0xffe04000, 0xffe04000, 0xffe04000, 0xffe0e0a0, 0xffe04000, 0xffe04000, 0xffe04000, 0xff000000, 0xffe0e0a0,
  11. 0xffe04000, 0xffe04000, 0xffe04000, 0xff000000, 0xff000000, 0xffe0e0a0, 0xffe04000, 0xffe04000, 0xffe04000, 0xffe04000, 0xffe0e0a0, 0xffe04000, 0xffe04000, 0xffe04000, 0xffe04000, 0xff000000,
  12. 0xffe04000, 0xffe04000, 0xffe04000, 0xff000000, 0xff000000, 0xffe0e0a0, 0xffe04000, 0xffe04000, 0xffe04000, 0xffe04000, 0xffe0e0a0, 0xffe04000, 0xffe04000, 0xffe04000, 0xffe04000, 0xff000000,
  13. 0xffe0e0a0, 0xffe04000, 0xff000000, 0xff000000, 0xff000000, 0xffe0e0a0, 0xff000000, 0xffe04000, 0xffe04000, 0xff000000, 0xffe0e0a0, 0xffe04000, 0xffe04000, 0xffe04000, 0xff000000, 0xff000000,
  14. 0xffe0e0a0, 0xffe04000, 0xff000000, 0xffe0e0a0, 0xffe0e0a0, 0xffe0e0a0, 0xff000000, 0xff000000, 0xffe04000, 0xff000000, 0xffe0e0a0, 0xffe04000, 0xffe04000, 0xffe04000, 0xff000000, 0xffe0e0a0,
  15. 0xffe04000, 0xff000000, 0xffe0e0a0, 0xffe04000, 0xffe04000, 0xffe04000, 0xffe04000, 0xffe04000, 0xff000000, 0xff000000, 0xffe0e0a0, 0xffe04000, 0xffe04000, 0xffe04000, 0xff000000, 0xffe0e0a0,
  16. 0xffe04000, 0xff000000, 0xffe0e0a0, 0xffe04000, 0xffe04000, 0xffe04000, 0xffe04000, 0xff000000, 0xff000000, 0xff000000, 0xffe0e0a0, 0xffe04000, 0xffe04000, 0xffe04000, 0xff000000, 0xffe0e0a0,
  17. 0xffe04000, 0xffe0e0a0, 0xffe04000, 0xffe04000, 0xffe04000, 0xffe04000, 0xffe04000, 0xffe04000, 0xff000000, 0xff000000, 0xff000000, 0xffe04000, 0xffe04000, 0xff000000, 0xff000000, 0xff000000,
  18. 0xff000000, 0xffe0e0a0, 0xffe04000, 0xffe0e0a0, 0xffe04000, 0xffe04000, 0xffe0e0a0, 0xff000000, 0xffe0e0a0, 0xff000000, 0xff000000, 0xffe0e0a0, 0xffe0e0a0, 0xff000000, 0xff000000, 0xffe0e0a0,
  19. };
  20.  
  21. GLDemo::GLDemo( QWidget* parent )
  22. : QGLWidget( parent )
  23. {
  24. }
  25.  
  26. void GLDemo::initializeGL()
  27. {
  28. qglClearColor( Qt::black ); // Let OpenGL clear to black
  29. QImage pix((const uchar*)block, 16, 16, QImage::Format_ARGB32);
  30. object = bindTexture(pix, GL_TEXTURE_2D, GL_RGB8);
  31. glShadeModel( GL_FLAT );
  32. }
  33.  
  34. void GLDemo::paintGL()
  35. {
  36. glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
  37. glLoadIdentity();
  38. drawTexture(QPointF(0, 0), object, GL_TEXTURE_2D);
  39. }
  40.  
  41. void GLDemo::resizeGL( int w, int h )
  42. {
  43. glViewport( 0, 0, (GLint)w, (GLint)h );
  44. glMatrixMode( GL_PROJECTION );
  45. glLoadIdentity();
  46. glFrustum( -1.0, 1.0, -1.0, 1.0, 5.0, 15.0 );
  47. glMatrixMode( GL_MODELVIEW );
  48. }
To copy to clipboard, switch view to plain text mode