Здравствуйте! Вот, пример простейшего SDL-приложения (вернее тут только фрагмент - функция инициализации OpenGL и прорисовки экрана), который выводит изображение на экран влевом нижнем углу в масштабе 1:1. Сглаживание работает, но при этом откуда-то появляется диагональная линия (такая же как при методе задания граней GL_TRIANGLE_FAN - но там она ещё естественна) от левого нижнего угла текстуры, до правого верхнего. Откуда она берётся (точно не из рисунка - проверил неоднократно "пипеткой" в Gimp)?? И ещё поразила скорость вывода при попытки вывести изображение размером 1024x768 - ужасно долго (секунд 10, наверное проходит до появления картинки)! При отключении сглаживания - мгновенно. Оно что там не аппаратно что ли производиться? static void draw_screen( void ) { glClear(GL_COLOR_BUFFER_BIT); glLoadIdentity(); glTranslatef(-1024.0f/2, -768.0f/2, -768.0f/2); glBegin(GL_QUADS); glBindTexture( GL_TEXTURE_2D, texture ); glTexCoord2f( 0.0f, texh); glVertex2f( 0.0f, 0.0f); glTexCoord2f( texw, texh); glVertex2f( texpw, 0.0f); glTexCoord2f( texw, 0.0f); glVertex2f( texpw, texph); glTexCoord2f( 0.0f, 0.0f); glVertex2f( 0.0f, texph); glEnd(); SDL_GL_SwapBuffers(); } static void setup_opengl( int width, int height ) { glViewport(0,0,width, height); //Todo: load textures if (!LoadGLTextures()) { printf ("Failure to load textures"); exit(1); } glEnable(GL_TEXTURE_2D); //enable texture mapping glClearColor(0.0f, 0.0f, 0.0f, 0.0f); //Black Background glDisable(GL_DEPTH_TEST); //disables depth testing glDisable(GL_ALPHA_TEST); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); glEnable(GL_BLEND); glEnable(GL_POLYGON_SMOOTH); glHint(GL_POLYGON_SMOOTH_HINT,GL_NICEST); glShadeModel(GL_SMOOTH); //enables smooth color shading glMatrixMode(GL_PROJECTION); glLoadIdentity(); //Reste projection matrix gluPerspective(90.0f, (GLfloat)width/(GLfloat)height, 1.0f, 1024.0f); //calculate aspect ratio of the window glMatrixMode(GL_MODELVIEW); }
Ответ на:
комментарий
от Esh
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум OpenGL: просмотр JPEG (2011)
- Форум SDL_CreateThread() Помогите:(( (2004)
- Форум [OpenGL] Туплю :/ (2008)
- Форум Загрузка текстуры opengl objective C (2010)
- Форум Попробуйте откомпилить у себя (2005)
- Форум Помощь в gluLookAt (2013)
- Форум Qt + OpenGl + Intel (2014)
- Форум Проблема с окном OpenGL в Qt (2012)
- Форум обратная сторона плоскости (2015)
- Форум Тормоизт текстурированный куб в OpenGL. (2003)