HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Half-Life SDK (https://hlfx.ru/forum/forumdisplay.php?forumid=8)
-- hud и разрешение ... (https://hlfx.ru/forum/showthread.php?threadid=974)
Отправлено FiEctro 31-10-2007 в 16:27:
hud и разрешение ...
Вы наверное замечали что при смене разрешения картинки хада не меняются ... И естественно при разрешении 640х480 они кажутся огромными а при 1280х1024 наоборот через чур маленькими ... Так вот вопрос : Как сделать чтоб при любом разрешении они занимали одинаковую площадь на экране ( как ВГУИ ) ?
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Отправлено XaeroX 31-10-2007 в 17:12:
-CJ- рисовать их вручную, через триапи, масштабируя под разрешение. Как масштабировать - см. макросы XRES и YRES. Как рисовать спрайты на триапи - где-то была статья БУзера... вроде... Ну попробуй сам, может разберешься, в сдк есть пример работы с триапи (правда там в 3д, ну в 2д похоже, просто координату z ставишь в 0).
__________________
Отправлено FiEctro 31-10-2007 в 17:25:
XaeroX ну у меня концепций тоже завались ...
Можешь привести пример ? (хотябы для одного элемента ) а то рисовать один спрайт я могу ( да и то кроме черного цвета там ничего не поддерживается ) ... а вот целый хад ...
Да и рисования хада через OpenGL помоему не есть гуд ...
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Отправлено Scrama 01-11-2007 в 04:07:
-CJ- Нарисуй спрайты для каждого разрешения и используй. Тогда с кодом меньше возни.
__________________
"Злобным гениям не нужна харизма." © 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
Отправлено XaeroX 01-11-2007 в 04:31:
Цитата:
-CJ- писал:
ну у меня концепций тоже завались ...
Я тебе не концепцию, а почти что ТЗ написал 
Цитата:
-CJ- писал:
Да и рисования хада через OpenGL помоему не есть гуд
А я где-то писал про OpenGL? 
__________________
Отправлено FiEctro 01-11-2007 в 08:29:
XaeroX ну вроде в триапи спрайты через openGL выводятся ... По крайней мере я так их выводил ...
Scrama я тоже так думал ... но снова как объяснить хаду чтоб при нужном разрешении он загружал нужный спрайт ?
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Отправлено XaeroX 01-11-2007 в 11:20:
Цитата:
-CJ- писал:
ну вроде в триапи спрайты через openGL выводятся
Я тебя наверное удивлю, если скажу, что триапи превосходно работает в д3д и даже в софтваре?
__________________
Отправлено FiEctro 01-11-2007 в 11:29:
XaeroX эт я знаю ... но со спрайтами ка быть хз ...
А что ты думаешь начсет варианта скрамы ?
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Отправлено XaeroX 01-11-2007 в 11:41:
Цитата:
-CJ- писал:
А что ты думаешь начсет варианта скрамы ?
Ну если есть время - сиди рисуй 
__________________
Отправлено FiEctro 01-11-2007 в 12:32:
XaeroX а подскажи плиз что нужно править в коде чтобы при каждом разрешении хад подбирал нужные спрайты ?
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Отправлено XaeroX 01-11-2007 в 13:22:
-CJ- а как насчет самому разобраться? Тебе не стыдно самому-то спрашивать такие элементарные вещи?
__________________
Отправлено Scrama 01-11-2007 в 15:53:
-CJ- Там же есть проверка на 320/640. найди ее и копипасть рядом. Ищи по названию спрайта и по hud.txt
__________________
"Злобным гениям не нужна харизма." © 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
Отправлено Тренсфер 01-11-2007 в 18:19:
У-у-у.. это тебе долго делать... не сколько, сложно сколько рутинно. Там всё под размеры самого спрайта подогнано, так что ориентируйся на ScreenHeight и ScreenWidth, относительно их значений и русуй спрайты, тут уже насколько хватит твоего трпения. Можно рисовать и через триайпи(ну он мне больше нравится
) или SPR_DrawAdditive.
Хотелось бы спросить я когда-то давно програмировал на визуал бейсике и там была айпи функция для создания прямоугольного региона окна со скруглёнными концами, так вот возможно ли задать прямоугольный регион со скруглёными углами для триайпи ?Точно знаю надо рисовать полигон, но как просчитать закругленя углов ? Наверно через тригонометрию ?
__________________
Хотелось бы, чтобы не только хотелось...
Отправлено FiEctro 01-11-2007 в 19:19:
Тренсфер я бы с радостью рисовал через триАпи но хз как это для хада ....
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Отправлено XaeroX 01-11-2007 в 19:45:
Цитата:
Тренсфер писал:
Наверно через тригонометрию ?
Ну наверное да
Для чего люди в школе учатся?__________________
Отправлено Тренсфер 01-11-2007 в 19:46:
В смысле как рисовать ? Или его влияние на худ ?
__________________
Хотелось бы, чтобы не только хотелось...
Отправлено XaeroX 01-11-2007 в 19:47:
Цитата:
-CJ- писал:
я бы с радостью рисовал через триАпи но хз как это для хада
Ну вот пару лет назад я думал "я бы с радостью сделал в хлфх бамп, но хз как это". А ты где-нибудь видел мои посты типа "приведите мне пример, как в халфе сделать бамп"? 
__________________
Отправлено Тренсфер 02-11-2007 в 07:26:
Если как рисовать вот тебе моё комментирование файла tri.cpp
C++ Source Code:
5 | Пример программы. Рисует спрайт сдвигая в координаты игрока |
8 | void Draw_Triangles( void ) |
10 | cl_entity_t *player;//обьявляем переменные |
11 | vec3_t org;//обьявляем вектор |
13 | // Загрузите это по с немного поддельными данными |
14 | player = gEngfuncs.GetLocalPlayer();//присваиваем значение локального игрока |
15 | if ( !player )//если ничего нет то выйти |
18 | org = player->origin;//присваиваем координаты игрока |
20 | org.x += 50;//чуть сдвигаем по оси х |
21 | org.y += 50;//и по оси у |
23 | if (gHUD.m_hsprCursor == 0)//если курсор =0 |
25 | char sz[256];//обьявить масив символов |
26 | sprintf( sz, "sprites/cursor.spr" );//Присваиваем массиву значение спрайта |
27 | gHUD.m_hsprCursor = SPR_Load( sz );//загружаем спрайт |
30 | if ( !gEngfuncs.pTriAPI->SpriteTexture(/*текстура спрайта*/ (struct model_s *)/*получаем указатель на спрайт*/gEngfuncs.GetSpritePointer( gHUD.m_hsprCursor ), 0 ))//если нет текстуры спрайта |
35 | // Создайте треугольник, вздыхайте |
36 | gEngfuncs.pTriAPI->RenderMode( kRenderNormal );//режим рейдинга -нормальный |
37 | gEngfuncs.pTriAPI->CullFace( TRI_NONE );//лицевой фейс -нет |
38 | gEngfuncs.pTriAPI->Begin( TRI_QUADS );//начинаем рисовать четырёх угольник |
39 | // Перегрузка p->color с индексом в(на) палитру следящего устройства, p->packedColor с яркостью |
40 | gEngfuncs.pTriAPI->Color4f( 1.0, 1.0, 1.0, 1.0 );//устанавливаем цвет с непрозрачностью |
41 | // ОТМЕНЕННОЕ: Это gouraud затеняя следящие устройства причин(процесс;дело), чтобы исчезать на некоторых картах (permedia2) |
42 | gEngfuncs.pTriAPI->Brightness( 1 );//Яркость |
43 | gEngfuncs.pTriAPI->TexCoord2f( 0, 0 );//координаты текстуры (нижний левый угол) |
44 | gEngfuncs.pTriAPI->Vertex3f( org.x, org.y, org.z );//Рисуем вертекс в точках где мы установили (org) |
46 | gEngfuncs.pTriAPI->Brightness( 1 );//яркость 1 |
47 | gEngfuncs.pTriAPI->TexCoord2f( 0, 1 );//устанавливаем координату текстуры (верхний левый угол) |
48 | gEngfuncs.pTriAPI->Vertex3f( org.x, org.y + 50, org.z );//рисуем вертекс в точке со сдвигом у |
50 | gEngfuncs.pTriAPI->Brightness( 1 );//яркосить 1 |
51 | gEngfuncs.pTriAPI->TexCoord2f( 1, 1 );//правый верхний угол текстуры |
52 | gEngfuncs.pTriAPI->Vertex3f( org.x + 50, org.y + 50, org.z );//нарисовать вертекс |
54 | gEngfuncs.pTriAPI->Brightness( 1 );//яркость 1 |
55 | gEngfuncs.pTriAPI->TexCoord2f( 1, 0 );//нижний правый угол текстуры |
56 | gEngfuncs.pTriAPI->Vertex3f( org.x + 50, org.y, org.z );//рисовать вертекс |
58 | gEngfuncs.pTriAPI->End();//завершить рисование |
59 | gEngfuncs.pTriAPI->RenderMode( kRenderNormal );//режим рейдинга нормальный |
Этот код рисует на экране последний кешированый спрайт, естественно надо задавать свой(и свои координаты). Это почти как в опенг или даже паскаль, рисование по координатам.
З.Ы. в комментариях есть строчки электронного переводчика 
Добавлено 02-11-2007 в 10:26:
Кривовато комментарии выделены получились 
__________________
Хотелось бы, чтобы не только хотелось...
Отправлено FiEctro 02-11-2007 в 09:05:
XaeroX ну ты сравнил ...
Ты профисиональный график ... а я програмировать толком не умею ... хоть прочел самоучитель по с++ ...
но ето не помогло разобраться в халфовском коде ... Так что ты уж извини но я не кармак ....
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Отправлено Scrama 03-11-2007 в 08:30:
-CJ- Ксер профессиональный биолог и более-менее успешный нытик, график он полностью самоучка и начинал с нуля. Тебе тоже так можно, просто нужно начать )
__________________
"Злобным гениям не нужна харизма." © 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