GameDev.ru
/ GameDev.ru / Пользователи / Andrey / Сообщения на форуме пользователя Andrey (51 стр.)

Сообщения на форуме пользователя Andrey (51 стр.)

Эффективный куллинг растительности.27 мая 201012:23#191
slava_mib
>...- вызвать отрисовку объектов в них
странно что это в узле сделано, почему?
Cg Shader и древняя карточка.27 мая 201012:06#4
frp
по моему там есть GL_ARB_vertex_program, соответственно для Cg профиль arbvp1 должен работать.
wglShareLists; LAST QUESTION! Чесн слово =)25 мая 201011:05#18
Maksitron
> блин у меня при загрузке теперь некоторые текстуры с мусором отображаются. =(
> почему? из-за того что на OGL никак низя в паралельном потоке загрузить
> текстуру в видеопамять не рискуя повредить эту самую текстуру? Кто нибудь делал
> так вообще? т.е. у нас 2 расшареных потока(в каждом по контексту) в первом мы
> выводим графику а во втором загружаем текстуры. причем не только в оперативку
> но и видеопамять - т.е. основному потоку достается только хендл текстуры по
> которому он и рисует её.
текстура одна и та-же? glGetError() ?
wglShareLists; LAST QUESTION! Чесн слово =)24 мая 201015:07#12
RPGman
>Работает. Шарятся только ресы. Состояние контекста не зависит от наличия и/или состояния соседних контекстов.
ага, буду знать, если что попробую перейти на эту схему, если ы будущем все усложниться. Ошибка явно была не в OpenGL API, а в куче кода... Беру слова обратно :)
wglShareLists; LAST QUESTION! Чесн слово =)24 мая 201014:22#9
RPGman
>С чего биндинги текстур в одном контексте автоматом должны дублироваться в другом?
>В одном - одна текстура прибиндена, в другом - другая. Первый контекст рендерит с первой текстурой, второй контекст заливает вторую.
У меня так было, отказался я от этой схемы. Возможно что-то не так делал, но врядли.
У тебя так нормально работало?
wglShareLists; LAST QUESTION! Чесн слово =)24 мая 201012:50#6
RPGman
> Весь смысл второго контекста пропадает.
Не пропадает. Сначала делаем создание контекстов потом уже расшариваем, стартуем нужные потоки с расшаренными контекстами. Наверное ты меня не понял.
> Тут уже ты лажаешь. Именно вторым шареным контекстом решается работа с ресами
> из параллельных потоков. Естественно, если ты в первом начал использовать
> текстуру, которая только-только заливается во втором, то ты сам себе злобный
> буратино.
Ты сам лажаешь. Речь идет о разных текстурах.Читай внимательно что я написал. Еще раз в Direct3D 1 текстуру ставим(биндим в OpenGL) в потоке рендера, а другую можно заливать в другом. в OpenGL 1 биндим в потоке рендера (и она текущая!),  другую заливаем в другом но опять-же ее нужно биндить! и уже она другая в потоке рендера.
wglShareLists; LAST QUESTION! Чесн слово =)24 мая 201012:26#4
Maksitron
Попробуй так.
1) создай все контексты в одном потоке;
2) расшарь какие нужно в том же потоке;
3) потом только делай их текущими в конкретном потоке.
>> BTW, зачем тебе два контекста?
>хочу организовать подгрузку текстур во втором потоке.
не прокатит :) тут OpenGL убог,  разные текстуры будут биндятся в разных потоках, какая тогда будет текущей, и как ты думаешь какую текcтуру ты увидишь(если ты вообще увидишь что-то нормальное)? У меня рваная геометрия была на экране, когда пытался VBO грузить в отдельном потоке. Это в Direct3D так можно, там не нужно делать такой идиотизм как сделать "текущим" какой-то ресурс что-бы его изменить.
>Сори за глупый вопрос - но про какой ресурс идет речь?)
для ошибок связанными с wglShareLists, GetLastError/FormatMessage выдают какие-то левые ошибки/сообщения. У меня вообще было сообщения связанное с файлом...
Народ, все в skype! :)21 мая 201016:04#51
вот если бы его перестали на Delphi писать вообще было бы круто
Введение в Lua. (Комментарии к статье)21 мая 201010:39#67
Executor
хорошая ссылка!!
Ушел из жизни Дио19 мая 201011:03#24
democoder
> Но всем ведь срать, не так ли?
мне нет.
Эффективный куллинг растительности.19 мая 201010:52#61
innuendo
> кастую Andrey в топик :)
> пусть пояснит - почему выбрал octree
Сейчас он меня устраивает. Попробую зафигячить больше растительности, посмотрю что с этого выйдет.
Эффективный куллинг растительности.17 мая 201011:26#16
.L
> Мне кто-то из знакомых както подсказал делать через октри. Я сделал - фигня.
innuendo
> я даже догадываюсь кто :)
Да это я подсказал.
У меня растительность работает через Octree. Не томозит, хорошо кулится, не жрет много памяти. Значит неправильно сделано. Не нужно флейм разводить.
Предложение slava_mib по поводу BVH более продвинутое и более эффективное чем Octree. Я тоже подумаю над этим.
Душегубъ (FPS, наш ответ Крайсису :)12 мая 201015:52#28
iLya2IK
> Ну прям :) Больше всего времени жрут постэффекты (отрисовка в rect текстуру
> размером с экран). Всюду бамп налеплен, прочие шойдеры, модели не самые легкие
> (по паре тыщ поликов). Да и карточка, согласись, далеко не самая хорошая.
> Отключи бамп, уменьши расширение экрана, все легче компу будет.
Не не надо мне это говорить :). Пару тыс поликов это десятилетняя давность. Короче оптимизируй и выкинь Delphi лучше сразу.... cцена не загруженная, Far Cry выдает 50 FPS модельки больше 2 тыс поликов всюда бамп 3 источника света, больше объектов кадре. Короче очень медленно... Но красиво.
Как вы менеджите установку шейдерных констант?12 мая 201015:43#1
.L
>if ((shader.Flags & EffectType.FOG) != 0)
>f ((shader.Flags & EffectType.MAP_DIFFUSE) != 0
> && (shader.Flags & EffectType.TERRAIN) == 0)
>if ((shader.Flags & EffectType.SKINNING) != 0)
>if ((shader.Flags & EffectType.LIGHTING) != 0)
зачем так сложно? каждый шейдер содержит набор констант что есть, то и будет ставиться, зачем то-то проверять?
Заведи предопределяемые константы. Текщий ambient, fog текщуя матрица такого-то типа и т.д. Эти типы и будут ArtisticVariables + еще какие-то дополнительные.
> shader.SetColor("ambient",
убрать передачу по строкам. Слать пачками за меньшее число вызовов.
Кол.во источников света в кадре11 мая 201023:35#117
1 - 100
2 - 63
3 - 46
4 - 36
5 - 30
6 - 25
7 - 21
8 - 18
ATI X1300

Следующие темы >>

2001—2012 © GameDev.ru — Разработка игр