Модераторы: Snowy, Alexeis, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> OpenGL: Эффект помехов 
:(
    Опции темы
Ripper
Дата 11.1.2005, 22:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Lonely soul...
**


Профиль
Группа: Участник
Сообщений: 920
Регистрация: 30.6.2004
Где: г. Москва

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



Как сделать такую вещь? Рандомом вывести точки можно.. но помойму эффект не будет красочнум.. надо сделать что то вроде помехов как по телеку или ещё по чему.. ну вот как в картинке тока анимированно все... Можно поставить таймер и случайно генерировать координаты... но как сгенерировать либо Серый цвет либо Черный.. да и размер соответствующий... хм..
Картинка


--------------------
"Он знает: надо смеяться над тем, что тебя мучит, иначе не сохранишь равновесия, иначе мир сведет тебя с ума" - Над кукушкиным гнездом
PM MAIL ICQ   Вверх
Zero
Дата 12.1.2005, 10:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2169
Регистрация: 23.10.2004
Где: Россия, г. Рязань

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



Цитата(Ripper @ 11.1.2005, 22:53)
надо сделать что то вроде помехов как по телеку или ещё по чему..
smile
Как тебе такое:
1. В разделе Uses ввести имя модуля OpenGl;
2. В разделе Var в качестве глобальной переменной:
Код

R,G,B:real;

3. В событии для создания формы:
Код

procedure TForm1.FormCreate(Sender: TObject);
var
 pfd:TPixelFormatDescriptor;
 nPixelFormat:integer;
begin
 randomize;
 FillChar(pfd,sizeof(pfd),0);
 nPixelFormat:=ChoosePixelFormat(Canvas.Handle, @pfd);
 SetPixelFormat(canvas.Handle, nPixelFormat, @pfd);
end;

4. В процедуре отрисовки формы:
Код

procedure TForm1.FormPaint(Sender: TObject);
var
 hrc:HGLRC;
begin
 hrc:=wglCreateContext(Canvas.Handle);
 wglMakeCurrent(canvas.Handle, hrc);

 glBegin(GL_quads);
   glColor3f(R,G,B);
   glVertex2f(-1,-1);
   glVertex2f(-1,1);
   glVertex2f(1,1);
   glVertex2f(1,-1);
 glEnd();

 glFinish();
 wglMakeCurrent(0,0);
 wglDeleteContext(hrc);
end;

5. Брось на форму таймер, и на него:
Код

procedure TForm1.Timer1Timer(Sender: TObject);
begin
 R:=random(100)/100;
 G:=random(100)/100;
 B:=Random(100)/100;
 InvalidateRect(handle, nil, false);
end;

Добавлено @ 10:42
Чють не забыл, интервал таймера поставь 10. smile
PM MAIL ICQ   Вверх
Ripper
Дата 12.1.2005, 17:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Lonely soul...
**


Профиль
Группа: Участник
Сообщений: 920
Регистрация: 30.6.2004
Где: г. Москва

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



Это плоскости же рисуются?? А мне надо как на ссылке выше.. точками)
Код выше я так понимаю рисует рандомно белые черные плоскости... но енто не то
кстати что такое glFinish(); ?


--------------------
"Он знает: надо смеяться над тем, что тебя мучит, иначе не сохранишь равновесия, иначе мир сведет тебя с ума" - Над кукушкиным гнездом
PM MAIL ICQ   Вверх
Zero
Дата 13.1.2005, 00:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2169
Регистрация: 23.10.2004
Где: Россия, г. Рязань

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



Цитата(Ripper @ 12.1.2005, 17:57)
я так понимаю рисует рандомно белые черные плоскости...

Не совсем, он из всей палитры цветов выбирает на рандоме любые. Ты лучше проверь...
Цитата(Ripper @ 12.1.2005, 17:57)
что такое glFinish();

Закончить рисование.
PM MAIL ICQ   Вверх
Ripper
Дата 13.1.2005, 17:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Lonely soul...
**


Профиль
Группа: Участник
Сообщений: 920
Регистрация: 30.6.2004
Где: г. Москва

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



ну дык это все равно не то... в той проге где я это увидел используется эта картинка т.е. её загружают из файла.. ы
Если есть желание и возможнсти можно дему эту скачать)) 5 мег но очень понравилась
Volition - Nehe Creative Demo Contest 2003
http://www.sulaco.co.za/opengl.htm


--------------------
"Он знает: надо смеяться над тем, что тебя мучит, иначе не сохранишь равновесия, иначе мир сведет тебя с ума" - Над кукушкиным гнездом
PM MAIL ICQ   Вверх
Zero
Дата 13.1.2005, 18:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2169
Регистрация: 23.10.2004
Где: Россия, г. Рязань

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



Короче я советую тебе прочитать какую-нибудь инфу, например у Посола есть вверху темя с полезными ссылками, в часности раз у тебя помехи на двумерной плоскости, советую тебе скачать вот такую тему OpenGL. Часть 1. Инициализация OpenGL и простейшие построения. (рус, pdf, 520кб). Там неплохо описано задание объектов, и соответственно перемещение их в пространстве.
PM MAIL ICQ   Вверх
Ripper
Дата 13.1.2005, 20:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Lonely soul...
**


Профиль
Группа: Участник
Сообщений: 920
Регистрация: 30.6.2004
Где: г. Москва

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



Я читал книгу Краснова но все же.. как сделать енти помехи которые на картинке??
Я думаю построение куба сферы цилиндра диска и т.д. не понадобятся..


--------------------
"Он знает: надо смеяться над тем, что тебя мучит, иначе не сохранишь равновесия, иначе мир сведет тебя с ума" - Над кукушкиным гнездом
PM MAIL ICQ   Вверх
Zero
Дата 14.1.2005, 11:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2169
Регистрация: 23.10.2004
Где: Россия, г. Рязань

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



Цитата(Ripper @ 13.1.2005, 20:50)
как сделать енти помехи которые на картинке??

Можно накласть текстуры, но я если честно не проверял, на постоянную их перерисовку. smile Хотя теоретически должно работать.
PM MAIL ICQ   Вверх
Zero
Дата 14.1.2005, 13:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2169
Регистрация: 23.10.2004
Где: Россия, г. Рязань

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



Ripper проверь свой е-маил, я тебе скинул ещё один способ, написаный выше, мной... Он работает. smile
PM MAIL ICQ   Вверх
Ripper
Дата 14.1.2005, 16:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Lonely soul...
**


Профиль
Группа: Участник
Сообщений: 920
Регистрация: 30.6.2004
Где: г. Москва

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



упс.. у меня терь [email protected]
а зачем пример выше? тот который прямоугольники рисует? Это не то.. надо точкаи как на картинке


--------------------
"Он знает: надо смеяться над тем, что тебя мучит, иначе не сохранишь равновесия, иначе мир сведет тебя с ума" - Над кукушкиным гнездом
PM MAIL ICQ   Вверх
Zero
Дата 14.1.2005, 17:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2169
Регистрация: 23.10.2004
Где: Россия, г. Рязань

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



Цитата(Ripper @ 14.1.2005, 16:54)
а зачем пример выше?

Да не выше, а который словами я описал (с использованием текстур). А то как у тебя на картинке, переделать из моего будет 10 мин. работы, т.е. поставишь др. bmp-файлы, и всё (главное их рамер должен быть 64*64 -смотри не перепутай, а то работать не будет). Я скинул заново.

Это сообщение отредактировал(а) Zero - 14.1.2005, 17:52
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Звук, графика и видео"
Girder
Snowy
Alexeis

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • По вопросам разработки игр стоит заглянуть сюда

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Girder, Snowy.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Звук, графика и видео | Следующая тема »


 




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


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

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