Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Графика и игры
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 10.05.2009, 14:01
Аватар для Excreman
Excreman Excreman вне форума
Прохожий
 
Регистрация: 06.11.2008
Сообщения: 21
Репутация: 10
Вопрос opengl и вывод изображения на канву

Доброго времени суток.У меня к вам такой вопрос:как можно совместить в программе вывод изображения (.jpg) на канву и рисование на opengl?К примеру, в таком варианте:сначала вывод изображения как фон, а на нем уже рисование методами opengl.Желательно в одном обработчике события onPaint.Вот код рисования треугольника( с двойной буфферизацией)

Код:
procedure TForm1.FormPaint(Sender: TObject);
var
pic:TJpegImage;
begin
 wglMakeCurrent(Canvas.Handle,hrc);
 glViewPort(0,0,ClientWidth,ClientHeight);
 glColor3f(0.2,0.5,0.8);
 glBegin(GL_TRIANGLES);
   glVertex2f(-1,-1);
   glVertex2f(-1,1);
   glVertex2f(1,0);
 glEnd();
 swapbuffers(canvas.Handle);
 wglMakeCurrent(0,0);
end;

Вот метод вывода на канву jpeg'а

Код:
pic:=TjpegImage.Create;
pic.LoadFromFile('excreman.jpg');
Form1.Canvas.Draw(0,0,pic);

Как мне их совместить.чтобы opengl рисовал на картинке как на обычном фоне?Если поставить вывод карт инки ДО рисования opengl, картинка промелькнет и исчезнет,появится картинка opengl.Если ПОСЛЕ команды swapbuffers, то картинка перекроет opengl.Как мне быть???Помогите плз!
__________________
2 ОСНОВНЫХ ПРАВИЛА ФОРУМА
1)Админ всегда прав
2)Если админ не прав-смотри пункт 1
Ответить с цитированием
  #2  
Старый 10.05.2009, 17:53
Nyctos Kasignete Nyctos Kasignete вне форума
Активный
 
Регистрация: 29.03.2009
Сообщения: 300
Репутация: 94
По умолчанию

А почему вы не хотите выводить изображение средствами OpenGL как такового (типа функции glDrawPixels)?
Ответить с цитированием
  #3  
Старый 10.05.2009, 18:21
Аватар для Excreman
Excreman Excreman вне форума
Прохожий
 
Регистрация: 06.11.2008
Сообщения: 21
Репутация: 10
По умолчанию

Opengl я еще только начал изучать и специальных команд для вывода изображения из файла еще пока не знаю.Насчет drawpixels- тут я знаю только один способ-перевод цветов картинки в цвета opengl, их загрузка в массив пикселей и вывод с помощью drawpixels.Однако я еще не до конца понял как это делается(не люблю скатывать готовое без понимания),и этот способ просто не пришел мне в голову.Спасибо, попробую.А может вы знаете еще какой-нибудь способ прямого вывода изображения с помощью opengl?
__________________
2 ОСНОВНЫХ ПРАВИЛА ФОРУМА
1)Админ всегда прав
2)Если админ не прав-смотри пункт 1

Последний раз редактировалось Excreman, 10.05.2009 в 18:34.
Ответить с цитированием
  #4  
Старый 11.05.2009, 22:09
DungeonLords DungeonLords вне форума
Активный
 
Регистрация: 21.07.2008
Сообщения: 257
Репутация: 14
По умолчанию

Автор темы, смотри пожалуйста книгу "OpenGL графика в проектох Delphi" она лоступна даже в интернете. Там как раз есть такой пункт в оглавлении.
__________________
Делаем'c разные игры. Искать на glscene.ru
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 07:35.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter