Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2002.11.28;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.006 c
3-92904
lovres
2002-11-11 11:56
2002.11.28
Как создать *.udl или *.dsn файл?


14-93251
Anatoly Podgoretsky
2002-11-10 10:04
2002.11.28
Именинники 10 ноября


3-92885
Cranium
2002-11-10 22:52
2002.11.28
Запрос к нескольким таблицам


6-93164
VID
2002-10-02 20:25
2002.11.28
Что-то непонятное с onCLientRead


4-93298
Zone_666
2002-10-18 00:53
2002.11.28
Как заблокировать доступ к папке (к каталогу)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский