Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.11.28;
Скачать: CL | DM;

Вниз

OpenGL: определение того, был ил отрисован хоть один пиксел...   Найти похожие ветки 

 
Ketmar ©   (2002-11-08 17:36) [0]

...полигона. кто знает, как? у меня без этого движок тормозит-с %-((
почему здесь спрашиваю? потому что здесь обычно самые знающие тусуются... %-)

Satanas Nobiscum! 08-Nov-XXXVII A.S.


 
Ketmar ©   (2002-11-08 21:51) [1]

UP!

Satanas Nobiscum! 08-Nov-XXXVII A.S.


 
Николай Быков ©   (2002-11-09 01:39) [2]

У меня щас Delphi не запущен, но насколько я помню, там функции рисующие/захватывающие контекст воспроизвведения возвращают код ошибки, если таковая была. Сделай простую проверку типа if func()<>0 then ........else .......;


 
Николай Быков ©   (2002-11-09 01:49) [3]

Короче я тут поискал в хелпе, можно так:

var dc:hdc;hrc:hglrc;
.......................
hrc:=wglCreateContext(dc);
if hrc<>nil then все хорошо else GetLastError();
.........................................
if not wglMakeCurrent(dc,hrc) then begin не проканало; GetLastError;end;

Если эти две функции отработали нормально, то все 100% нарисуется.


 
Николай Быков ©   (2002-11-09 09:17) [4]

Ну ты хоть как-нибудь отреагируй


 
Ketmar ©   (2002-11-09 11:27) [5]

2Николай Быков:
ты не понял. я отлично могу создать контекст и проверить на наличие ошибок. и сцену нарисовать могу. суть не в этом. перечитай вопрос. поясняю подробнее: есть полигон. он может быть скрыт за другими полигонами. таким образом при выводе сцены поверх него будет нарисовано что-то другое. вот и вопрос: как определить, полностью ли его перекрыло, или хоть один пиксел да остался на экране видимым? если уж быть совсем точным, то процесс происходит так: выводим сцену. потом выводим полигон. он может быть очень глубоко и далеко, и на экран не попадет ни одного пиксела - все сгинут в глубинах акселератора %-) вот как узнать: сгинули они или хоть один, да добрался до юзверя? %-) comprenez vous? (а то я несколько путанно пояснил, вроде бы...)

Satanas Nobiscum! 09-Nov-XXXVII A.S.


 
Николай Быков ©   (2002-11-09 11:31) [6]

пошукай на http://algolist.manual.ru/
я там что-то по-моему видел


 
Ketmar ©   (2002-11-09 11:34) [7]

да нету, сдается. суть в том, что мне не нужны математические методы. их я и так знаю. но вот нутром чую, что можно после glEnd() спросить у OpenGL: "слушай,а ты вообще что-то рисовала? или все отсеклось нафиг?". ну должна же быть такая фича, иначе как люди портальные движки-то пишут?!
впрочем, пойду еще раз посмотрю...

Satanas Nobiscum! 09-Nov-XXXVII A.S.


 
Николай Быков ©   (2002-11-09 11:37) [8]

А у тебя есть книга М. Краснова про OpenGL?
Просто он же там вопросы оптимизации затрагивает, может про это что-нибудь есть (должно быть). Я ее читаю потихоньку но жо этого еще не дошел


 
Ketmar ©   (2002-11-09 11:48) [9]

книги нету, но не думаю, что там сказано про такое. видел ее в сети (по кускам и оглавление), ничего похожего не заметил. и "фирменные" доки читал - тоже ничего такого не нашел. и вообще есть подозрение, что нельзя этого сделать %-(( придется использовать-таки то, что сейчас: PVS и stencil-buffer. хоть и неправильно это %-)

Satanas Nobiscum! 09-Nov-XXXVII A.S.



Страницы: 1 вся ветка

Текущий архив: 2002.11.28;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.011 c
3-92929
Виталий Панасенко
2002-11-11 18:20
2002.11.28
Exception с параметрами


1-93051
vsend
2002-11-18 18:50
2002.11.28
TForm.Scaled


1-93124
Jeka.
2002-11-18 08:12
2002.11.28
Опять Scroll


1-93074
Helg
2002-11-15 19:49
2002.11.28
Как скопировать один TTreeView в другой?


1-93065
mmb1
2002-11-15 19:50
2002.11.28
Не перерисовывается PaintBox