делал все по уроку 6,только накладывал на квадрат...запускаеться,но текстуры нет,вместо нее получаеться белый треугольник...help please
#include "stdafx.h" #include <windows.h> #include <GL/glut.h> #include <GL/glaux.h> GLuint texture[1]; int texture1;
// Загрузка картинки и конвертирование в текстуру GLvoid LoadGLTextures() { // Загрузка картинки AUX_RGBImageRec *texture1; texture1 = auxDIBImageLoad("D:/aaa.bmp"); // Создание текстуры glGenTextures(1, &texture[0]); glBindTexture(GL_TEXTURE_2D, texture[0]);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR); glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
glTexImage2D(GL_TEXTURE_2D, 0, 3, texture1->sizeX, texture1->sizeY, 0, GL_RGB, GL_UNSIGNED_BYTE, texture1->data); } GLvoid InitGL(GLsizei Width, GLsizei Height) { LoadGLTextures(); // Загрузка текстур glEnable(GL_TEXTURE_2D); // Разрешение наложение текстуры glClearColor(0.0f, 0.0f, 0.0f, 0.0f); glClearDepth(1.0); glDepthFunc(GL_LESS); glEnable(GL_DEPTH_TEST); glShadeModel(GL_SMOOTH);
glMatrixMode(GL_PROJECTION); glLoadIdentity();
gluPerspective(45.0f,(GLfloat)Width/(GLfloat)Height,0.1f,100.0f);
glMatrixMode(GL_MODELVIEW); } void Init(void) { glClearColor(0,0,0,0); glMatrixMode(GL_PROJECTION); gluOrtho2D(0,200,0,150); }
void cub(void) { glClear (GL_COLOR_BUFFER_BIT); glBegin(GL_QUADS);
// Передняя грань glTexCoord2f(0.0f, 0.0f); glVertex2i(10,10); // Низ лево glTexCoord2f(1.0f, 0.0f); glVertex2i( 10,60); // Низ право glTexCoord2f(1.0f, 1.0f); glVertex2i( 60,60); // Верх право glTexCoord2f(0.0f, 1.0f); glVertex2i(10,60); // Верх лево
glEnd();
glFlush(); } void main() { glutInitWindowPosition(50,100); glutInitWindowSize(600,600); glutCreateWindow("Simple"); Init(); glutDisplayFunc(cub); glutMainLoop(); }
|