Сообщения на форуме пользователя Andrey (69 стр.)
STL. Использовать или нет? | 24 сен. 2009 | 12:06 | #887 |
---|
Zeux
>> vector - как безопасный динамический массив, не более.
>Против вектора у меня как раз претензий нет. Ну точнее есть, но я боюсь меня не поймут.
пиши, кому нужно поймут.
>> vector - как безопасный динамический массив, не более.
>Против вектора у меня как раз претензий нет. Ну точнее есть, но я боюсь меня не поймут.
пиши, кому нужно поймут.
STL. Использовать или нет? | 24 сен. 2009 | 10:53 | #870 |
---|
innuendo
да и как правильно заметил kas хешмапа желательно статическая что-бы меньше дефрагментаций, да и по статическому массивчику быстрей доступ.
да и как правильно заметил kas хешмапа желательно статическая что-бы меньше дефрагментаций, да и по статическому массивчику быстрей доступ.
STL. Использовать или нет? | 24 сен. 2009 | 10:20 | #863 |
---|
Nikopol
>Ghost2
> > Была задача на FIFO - использовал std::list
> А можно было - circular buffer. Со всеми вытекающими из этого плюсами.
>А ежели число элементов превысит ёмкость circular buffer ? ;-)
возможно есть ограничение сверху на число элементов.
>Ghost2
> > Была задача на FIFO - использовал std::list
> А можно было - circular buffer. Со всеми вытекающими из этого плюсами.
>А ежели число элементов превысит ёмкость circular buffer ? ;-)
возможно есть ограничение сверху на число элементов.
OpenGL и многопоточность | 24 сен. 2009 | 10:08 | #9 |
---|
mik2060
перед использованием ресурсов в другом потоке:
перед использованием ресурсов в другом потоке:
делаешь в текущем wgMakeCurrent(NULL, NULL); // что-бы освободить контекст в текущем потоке.
в другом wgMakeCurrent(hDC, hGLRC); // сделать текущим контекст
hDC, hGLRC - получены при инициализации OpenGL
wglShareList не использовал, У меня 1 контекст
Проблема с fstream в MSVC++ 2008 [Express] (не using namespace std) | 23 сен. 2009 | 17:25 | #4 |
---|
Drazd
зачем тебе эти тормозные потоки ввода/вывода?
зачем тебе эти тормозные потоки ввода/вывода?
ShadowMap проблема только на ATI | 14 сен. 2009 | 18:45 | #30 |
---|
AleksGusarov
блокируй доступ к текстуре через критическую секцию, закончил с ней работать отпускай, и блокируй как можно для меньшего числа операций.
к примеру в одном потоке:
в другом:
да и повтыкай везде glGetError что-то тут мне кажется где-то будет GL_INVALID_OPERATION, а GetLastError скажет что ресурс занят(другмим потоком).
блокируй доступ к текстуре через критическую секцию, закончил с ней работать отпускай, и блокируй как можно для меньшего числа операций.
к примеру в одном потоке:
EnterCriticalSection() glBindTexture(...) LeaveCriticalSection()
EnterCriticalSection() glTexImage2D(...) LeaveCriticalSection()
ShadowMap проблема только на ATI | 14 сен. 2009 | 16:53 | #27 |
---|
AleksGusarov
wglMakeCurrent что возращает?
если FALSE проверь GetLastError и выведи ошибку через FormatMessage тоже самое проверь с wglShareLists.
>cо всеми текстурами нормально - проблем нет, а ShadowMap-текстура работает не всегда.
может проблема с синхронизацией?
wglMakeCurrent что возращает?
если FALSE проверь GetLastError и выведи ошибку через FormatMessage тоже самое проверь с wglShareLists.
>cо всеми текстурами нормально - проблем нет, а ShadowMap-текстура работает не всегда.
может проблема с синхронизацией?
ShadowMap проблема только на ATI | 14 сен. 2009 | 14:59 | #25 |
---|
AleksGusarov
попробуй переключать потоки через wglMakeCurrent
http://www.codenet.ru/progr/opengl/faq/gl_024.php
http://www.gamedev.ru/code/forum/?id=76072
попробуй переключать потоки через wglMakeCurrent
http://www.codenet.ru/progr/opengl/faq/gl_024.php
http://www.gamedev.ru/code/forum/?id=76072
Squall и Open Source | 14 сен. 2009 | 13:10 | #18 |
---|
maruch
просмотрел мельком. Небольшие замечания по коду:
- замени функцию vsprintf на безопасный аналог vsnprintf;
- проверяй все указатели на NULL + assert;
- возможно оставить такие функции как IsBadReadPtr в Debug режиме.
просмотрел мельком. Небольшие замечания по коду:
- замени функцию vsprintf на безопасный аналог vsnprintf;
- проверяй все указатели на NULL + assert;
- возможно оставить такие функции как IsBadReadPtr в Debug режиме.
ShadowMap проблема только на ATI | 14 сен. 2009 | 10:21 | #4 |
---|
Executor
>Кстати, это расширение для ОГЛ 1.4 и выше не нужно, ибо в ядре всё...
какое старье...
>Кстати, это расширение для ОГЛ 1.4 и выше не нужно, ибо в ядре всё...
какое старье...
ShadowMap проблема только на ATI | 14 сен. 2009 | 10:16 | #2 |
---|
AleksGusarov
> Кажется это может быть связано с форматом текстуы, памятью под текстуру,
> внутренними проблемами видеокарт ATI.
> Но как найти, определить и ОБОЙТИ эту проблему?
Какая карта? GL_ARB_shadow поддерживается?
для начала glGetError, ну и то что сказал Executor
> Кажется это может быть связано с форматом текстуы, памятью под текстуру,
> внутренними проблемами видеокарт ATI.
> Но как найти, определить и ОБОЙТИ эту проблему?
Какая карта? GL_ARB_shadow поддерживается?
для начала glGetError, ну и то что сказал Executor
Wolfenstein 2009 | 8 сен. 2009 | 18:35 | #75 |
---|
innuendo
>а ты слышал по client\server GL архитектуру ?
слышал. только это не имеет отношения к сетевым приложениям.
И какое отношение архитектура OpenGL имеет к сетевому коду игры? твой вопрос некорректный.
>а ты слышал по client\server GL архитектуру ?
слышал. только это не имеет отношения к сетевым приложениям.
И какое отношение архитектура OpenGL имеет к сетевому коду игры? твой вопрос некорректный.
Wolfenstein 2009 | 8 сен. 2009 | 18:14 | #73 |
---|
JokerR
>OpenGL лучше оптимизирован для работы по сети
ты что, прикалываешься? :)
>OpenGL лучше оптимизирован для работы по сети
ты что, прикалываешься? :)
auto_ptr, smart pointer, зачем все это? | 2 сен. 2009 | 18:47 | #23 |
---|
shakhtar
>Особого преимущества пока-что так и не увидел. Наверное пока буду пользоваться по старинке, new/delete. Мне пока не лень в деструкторе написать лишний >раз delete.
Вот пример кода где нужно следить за удалением
А вот наглядное удобное применение std::auto_ptr, где гарантировано при выходе память будет освобождена. По идее, в проекте не должно быть явных вызовов delete/delete []. Где что слышал что признак хорошего дизайна.
>Особого преимущества пока-что так и не увидел. Наверное пока буду пользоваться по старинке, new/delete. Мне пока не лень в деструкторе написать лишний >раз delete.
Вот пример кода где нужно следить за удалением
bool func() { try { // временный объект Object *obj = new Object; if (object->func1()) { // функция кидает какую-нибудь хрень типа наследников от std::exception std::runtime_error и т.д. if (obj) { delete obj; } return false; } ... if (object->func2()) { // функция кидает какую-нибудь хрень типа наследников от std::exception std::runtime_error и т.д. if (obj) { delete obj; } return false; } ... if (obj) { delete obj; } return true; } catch(const std::exception& ex) { if (obj) { delete obj; } fprintf(stderr, "%s%s", "Excerption: ", ex.what()); } } |
Исходники OpenGL | 2 сен. 2009 | 14:11 | #7 |
---|
g-cont
>Такой вопрос - что вы там надеетесь найти?
ну я как-то проекцию смотрел как строить. Избавился таким образом от glOrtho/gluPerspective
>Такой вопрос - что вы там надеетесь найти?
ну я как-то проекцию смотрел как строить. Избавился таким образом от glOrtho/gluPerspective