HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Half-Life SDK (https://hlfx.ru/forum/forumdisplay.php?forumid=8)
-- Для тех, у кого глючит/не работает выделение в хаммере (https://hlfx.ru/forum/showthread.php?threadid=3418)
Отправлено Government-Man 19-05-2012 в 22:22:
Для тех, у кого глючит/не работает выделение в хаммере
Пару дней назад поставил себе хаммер на старый ноут. А на ноуте том как водится только интеловская видяха, на которой в новой версии дров по страшному глючит выделение объектов. Данная проблема и побудила меня к написанию данного патча.
Патч заменяет используемый в хаммере алгоритм выделения, использующий glRenderMode( GL_SELECT ), на новый, использующий цветовые коды для рендеринга различных объектов. Таким образом, он решает сразу две проблемы:
- Неправильная сортировка объектов - некоторые современные драйвера при использовании старого хаммеровского метода вместо реальных значений глубины возвращают атмту, из-за этого объекты совершенно рандомно выделяются через стенку.
- Неточность выделения - при использовании старого метода часто выделяются объекты, находящиеся в паре пикселей от курсора, из-за этого очень сложно выделять мелкие объекты, также невозможно выделить фейсы, частично отсеченные камерой. Новый метод выделяет объекты с пиксельной точностью.
Для установки патча распакуйте файлы opengl32.dll и glu32.dll в корневую директорию хаммера. Исходники также прилагаются.
Патч был успешно протестирован на ноутбуке с Mobile Intel 965 Express (X3100) с последней версией дров - 8.15.10.1930.
Качаем и тестируем, особенно интересуют отзывы владельцев карт от ATI, на которых тоже были замечены подобные проблемы. Также интересует, не слишком ли лагает выделение - оно может лагать, особенно на картах с большим количеством объектов.
ЗЫ. Блин, в названии темы ошибся - исправьте кто-нибудь, пожалуйста.
Отправлено XaeroX 19-05-2012 в 22:31:
Хм, а ведь подобным же образом можно реализовать select-функционал в моём враппере.
Отличная идея заменить один метод другим.
Кстати, я в своих программах всегда юзал выделение по цветовым кодам, никогда select-буферу не доверял.
Советую, кстати, добавить glShadeModel(GL_FLAT) в режиме выделения. Для надёжности.
__________________
Отправлено Government-Man 20-05-2012 в 01:06:
Цитата:
XaeroX писал:
Советую, кстати, добавить glShadeModel(GL_FLAT) в режиме выделения. Для надёжности.
Да, думаю стоит - поначалу решил, что не нужно, т.к. в режиме выделения все-равно запрещена установка цвета.
Добавлено 19-05-2012 в 21:06:
Исправлена пара досадных оплошностей, заюзан режим GL_FLAT.
Отправлено Scrama 21-05-2012 в 02:32:
Проверил, работает.
__________________
"Злобным гениям не нужна харизма." © Shooter__Andy
"Making stuff for an "old ugly game" can be ten times more fun than grinding on a map for a dull, next-gen title." © Lunaran
Отправлено qpAHToMAS 21-05-2012 в 03:02:
Есть у меня ноутбук с Mobile Intel(R) 945 Express Chipset Family, использую как сервер, по этому я не помню что бы ставил драйвера на эту "видеокарту", тем не менее, решил проверить фикс (2-ая версия):
Выделение по клику в 3D/2D окне пропало вообще.
Отправлено Ku2zoff 21-05-2012 в 05:09:
Цитата:
Government-Man писал:
также невозможно выделить фейсы, частично отсеченные камерой
Вот такое дело... Если объект слишком близко к камере (менее 4х или 2х юнитов, точно не знаю), выделяется объект, что находится за ним. Фикс правит это? Фикс не работает у меня на Win7 X64. Хаммер выдаёт ошибку при открытии вьюпортов "wglMakeCurrentFailed". Видеокарточка указана в профайле. Драйвера последние. Это так и должно быть на НВидиях? Или это вина винды 7?
Отправлено Government-Man 21-05-2012 в 05:47:
Цитата:
Ku2zoff писал:
Если объект слишком близко к камере (менее 4х или 2х юнитов, точно не знаю), выделяется объект, что находится за ним. Фикс правит это?
Да, правит.
Цитата:
Ku2zoff писал:
Это так и должно быть на НВидиях? Или это вина винды 7?
Возможно, это вина 64-х бит. А фикс в теории должен работать на любой видеокарте. По поводу ОС - я сам тестил на Win7 32-bit.
Отправлено Дядя Миша 21-05-2012 в 06:37:
А у меня в кварке выделение в 3д виде ведет себя более интересно.
Всё прекрасно выделяется, но само выделение видно почему-то только в 2д вьюпортах. А в 3д виде оно появляется на доли секунды и почему-то исчезает. Сами линии, окружающие браш. Причем выделение никуда не девается, просто его визуализация страдает.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено PunkPaToB 21-05-2012 в 07:57:
Government-Man
Запили тему на КСМ, поможешь многим.
__________________
А что нет?
Отправлено Government-Man 21-05-2012 в 08:04:
PunkPaToB мне лень там регистрироваться, пусть лучше кто нибудь создаст там тему со ссылкой сюда, только мне ту тему покажите, чтобы можно было читать отзывы о работоспособности. 
Отправлено PunkPaToB 21-05-2012 в 08:12:
Government-Man
Пжалуста
http://cs-mapping.com.ua/forum/show...2359#post762359
PS о_0 у гаранта спокойствия и порядка плюсы 
__________________
А что нет?
Отправлено Government-Man 21-05-2012 в 08:17:
Цитата:
PunkPaToB писал:
у гаранта спокойствия и порядка плюсы
Это не плюсы - это орденские планки. 
ЗЫ. Спасибо за тему, классная аватарка!
Отправлено (_-=ZhekA=-_) 21-05-2012 в 08:35:
После установки патча хаммер вылетает при открытии карты!
Вин 7 64 и ати 5730 мобайл.
Отправлено Government-Man 21-05-2012 в 08:40:
Цитата:
(_-=ZhekA=-_) писал:
После установки патча хаммер вылетает при открытии карты!
Вин 7 64 и ати 5730 мобайл.
Вот и у других пока такие же симптомы на 64-х битах. Я пока не знаю точно, в чем там проблема и как ее решить... :\
Отправлено XaeroX 21-05-2012 в 08:43:
Цитата:
PunkPaToB писал:
у гаранта спокойствия и порядка плюсы
Дык то сколько лет назад было
Сейчас он уже гарант не спокойствия и порядка, а скорее, непосещения форума и отсутствия в аське. 
__________________
Отправлено Government-Man 21-05-2012 в 08:45:
XaeroX я кстати пять минут назад аську посещал - после долгого отсутствия. Но сейчас я уже спать собрался... 
ЗЫ. А у тебя скайпа нету?
Отправлено XaeroX 21-05-2012 в 08:53:
Цитата:
Government-Man писал:
А у тебя скайпа нету?
Неа. Я только в аське сижу, as usual.__________________
Отправлено qpAHToMAS 21-05-2012 в 09:34:
Цитата:
Government-Man писал:
Я пока не знаю точно, в чем там проблема и как ее решить... :\
Может эта тема поможет.
Отправлено Дядя Миша 21-05-2012 в 13:14:
Цитата:
разработка Government-Man из HLFX
У нас тут что - HLFX team? Pozubam?__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено Government-Man 11-12-2012 в 23:02:
Собственно билд для x64. 
Я был бы очень признателен, если бы владельцы 64-битных виндов скачали это и проверили работоспособность.
Отправлено XaeroX 12-12-2012 в 05:29:
Цитата:
Дядя Миша писал:
У нас тут что - HLFX team?
А ты думал?! Для буржуев так вообще без разницы - HLFX или Xash, XaeroX или UncleMike.__________________
Отправлено Scrama 18-12-2012 в 02:10:
Цитата:
Government-Man писал:
Я был бы очень признателен, если бы владельцы 64-битных виндов скачали это и проверили работоспособность.
Вот только что.
Win7 x64, Intel HD2000 (не смотрите на меня так, я на нем программирую на работе). Работает, но точность выделения все равно как у говномета, правда, намного лучше, чем без фикса (там вообще выделялись браши, на которые мышиный курсор геометрически не попадал, сейчас +-5 пикселей, даже не знаю, чем это можно объяснить).__________________
"Злобным гениям не нужна харизма." © Shooter__Andy
"Making stuff for an "old ugly game" can be ten times more fun than grinding on a map for a dull, next-gen title." © Lunaran
Отправлено Government-Man 18-12-2012 в 03:37:
Цитата:
Scrama писал:
Работает, но точность выделения все равно как у говномета, правда, намного лучше, чем без фикса (там вообще выделялись браши, на которые мышиный курсор геометрически не попадал, сейчас +-5 пикселей, даже не знаю, чем это можно объяснить).
Хм, интересно, видимо есть еще какой-то фактор. 
Потому что по идее оригинальный метод выделения в хаммере ошибается на несколько пикселей, которые патч и правит.