Модераторы: Rickert, Alexeis, BorisVorontsov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> отрисовка текстуры и координаты в окне MFC 
:(
    Опции темы
mrgloom
Дата 4.4.2012, 12:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 829
Регистрация: 8.6.2011

Репутация: нет
Всего: нет



Код

void DrawTexture(GLuint texture)
{
    glEnable(GL_TEXTURE_2D);
    glBindTexture(GL_TEXTURE_2D,texture);
    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();

    glDisable(GL_TEXTURE_2D);
}


рисую текстуру в окне MFC как задать ее координаты в окне и размер, а то растягивается на всё окно.
PM MAIL   Вверх
Snake174
Дата 5.4.2012, 07:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 36
Регистрация: 5.10.2011
Где: Miass

Репутация: нет
Всего: нет



При изменении размера:
Код

void Canvas::resizeGL( int w, int h )
{
  // устанавливаем текущей проекционную матрицу
  glMatrixMode( GL_PROJECTION );
  // присваиваем проекционной матрице единичную матрицу
  glLoadIdentity();
  // поле просмотра
  glViewport( 0, 0, w, h );
  // система координат
  glOrtho( -w / 2.0, w / 2.0, -h / 2.0, h / 2.0, -10.0, 10.0 );
}


Рисование:
Код

void Canvas::paintGL()
{
  // очищаем буферы изображения и глубины
  glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
  // устанавливаем положение и ориентацию матрице моделирования
  glMatrixMode( GL_MODELVIEW );
  // загружаем единичную матрицу моделирования
  glLoadIdentity();
  // запоминаем матрицу
  glPushMatrix();
  // трансляция
  glTranslatef( xTra, yTra, 0.0f );
  // поворот вокруг оси Z
  glRotatef( zRot, 0.0f, 0.0f, 1.0f );
  // масштаб изображения
  glScalef( zoom, zoom, 0.0f );
  // рисуем текстуру
  DrawTexture(0);
  // восстанавливаем матрицу
  glPopMatrix();
}

Попробуй так.

Это сообщение отредактировал(а) Snake174 - 5.4.2012, 07:47
PM MAIL   Вверх
mrgloom
Дата 5.4.2012, 09:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 829
Регистрация: 8.6.2011

Репутация: нет
Всего: нет



чо то ничего вообще не рисует, может быть у вас DrawTexture(0); отличается от моей функции?

Это сообщение отредактировал(а) mrgloom - 5.4.2012, 09:18
PM MAIL   Вверх
Amp
Дата 5.4.2012, 11:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 886
Регистрация: 17.2.2009

Репутация: 2
Всего: 17



Может прежде чем текстурами заниматься, стоит почитать про матрицы проекции?
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Вы можете найти полезным что...
Alexeis
Rickert
  • Английская документация по DirectX лежит где-то здесь.
  • Английская документация по OpenGL лежит где-то там.
  • Гейм-дев у нас обсуждают где-то тут

Ждём вас! С уважением, Alexeis, Rickert.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Мультимедия, OpenGL/DirectX | Следующая тема »


 




[ Время генерации скрипта: 0.0641 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.