Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Глюк OpenGL [Delphi, Windows]


andreil ©   (2007-09-14 13:49:00) 

Пишу тут свой двиг и столкнулся с проблемой, изображенной на скрине.
Скрин: http://andreil.110mb.com/error.JPG


DeadMeat   (2007-09-15 18:46:00) [1]

> [9] andreil ©   (15.09.07 17:51)
Я про другое. Зачем каждый раз очищать кадр? И попробуй убрать все это из DLLки и перенести в основной модуль. Проще будет оттрасировать. А потом, когда уже все отладишь, переноси в свою DLLку.

> [8] antonn ©   (15.09.07 00:16)
А я в процессе....


andreil   (2007-09-15 17:51:00) [2]

DeadMeat,  этот кусок кода русует полигоны треугольных брашей, которые хранятся в ГРОМОЗДКОМ типе данных TMap. Я еще не добавлял текстурирования, тк еще не реализовал все процедуры загрузки обычных брашей (они все треугольные, а необходима поддержка многоугольников).


antonn   (2007-09-15 00:16:00) [3]

DeadMeat, айда Дефенс II писать %)


DeadMeat   (2007-09-14 23:18:00) [4]

Бегло пробежал. Закоментил glDraw ошибка исчезла. Опять бегло пробежал и не нашел ни одной проверки на возвращаемый результат функций, кроме установки формата пиксела. Надо на каждом шаге при инициализации проверять все.
Да и честно сказать, не понял вот этого:

 For Brush:=1 to Map.BrushCount do
   For Face:=1 to Map.Brush[Brush].FaceCount do
   begin
     glClear(GL_DEPTH_BUFFER_BIT or GL_COLOR_BUFFER_BIT);
     glColor3f(1,0,0);
     glBegin(gl_TRIANGLES);
       glVertex3f(Map.Brush[Brush].Face[Face].X1, Map.Brush[Brush].Face[Face].Y1,
         Map.Brush[Brush].Face[Face].Z1);
       glVertex3f(Map.Brush[Brush].Face[Face].X2, Map.Brush[Brush].Face[Face].Y2,
         Map.Brush[Brush].Face[Face].Z2);
       glVertex3f(Map.Brush[Brush].Face[Face].X3, Map.Brush[Brush].Face[Face].Y3,
         Map.Brush[Brush].Face[Face].Z3);
     glEnd;
   end;


Теория: либо у тебя в память куда-нить лезет здесь, либо инициализация где-нить сбоит. Дальше смотреть влом. Не люблю DLLки.
Кто следующий?


andreil   (2007-09-14 22:59:00) [5]

Выложу исходники.

http://www.rapidshare.ru/402134

Примечание: предыдущая версия писалась на VCL, а сейчас на чистом WinAPI, из-за чего программа теперь вылетает без ошибки =(


homm   (2007-09-14 21:45:00) [6]

> [3] Denis_ ©   (14.09.07 17:31)
> :(((

Уверяю, это не повод для расстройства :)


DeadMeat   (2007-09-14 18:00:00) [7]


> Denis_ ©   (14.09.07 17:31) [3]
> > Скрин: http://andreil.110mb.com/error.JPGУвас нет прав
> для просмотра этой страницы:(((

Хех... И у тебя глючит... )))


Denis_   (2007-09-14 17:31:00) [8]


> Скрин: http://andreil.110mb.com/error.JPG

У вас нет прав для просмотра этой страницы:(((


homm   (2007-09-14 16:44:00) [9]

И почему у тебя цикл идет от 1 до Count ?
Дложен быть от 0 до Сount-1


homm   (2007-09-14 16:38:00) [10]

> [0] andreil ©   (14.09.07 13:49)

И конечно, это глюк OpenGL?


Наверх

Титульная страница Поиск, карта сайта Написать письмо