HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Разработка игр > Наши проекты > XashNT: блог разработчика
Часть I
Страницы (255): « Первая ... « 83 84 85 86 [87] 88 89 90 91 » ... Последняя »   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
ncuxonaT
каков стол, таков и стул

Группа: Опытный
Дата регистрации: Oct 2009
Проживает: город/село/деревня
Сообщений: 1626
Возраст: 34

Рейтинг



Цитата:
Дядя Миша писал:
здрасти-приехали. На кой же тогда чёрт изобретали плавающую точку, если фиксированная лучше?

"Преимущество использования представления чисел в формате с плавающей запятой над представлением в формате с фиксированной запятой (и целыми числами) состоит в том, что можно использовать существенно больший диапазон значений при неизменной относительной точности."
Цитата:
Дядя Миша писал:
ну вот нормали сохранить. Те же три байта, но точность должна быть выше, чем с BFN. Правда и распаковка - сложнее.

Как может быть выше точность у 2 бит мантиссы, если у BFN точность на уровне RBG16F (а там 10 бит мантиссы)

Добавлено 15-04-2020 в 19:08:

Цитата:
Дядя Миша писал:
Ну и взял 32768. Так вот - это нихрена не помогло по сути. Как оно съезжало, так и продолжило съезжать. Тогда я подумал, есть же халф-флоаты, попробую их. И да - с ними исчезли практически все проблемы.

Ты где-то напортачил, не должно было быть такого.

Сообщить модератору | IP: Записан
Сообщение: 192270

Старое сообщение 15-04-2020 16:08
- За что?
thambs
мразь конченная

Дата регистрации: Mar 2006
Проживает: -
Сообщений: 6417

Рейтинг



Цитата:
Дядя Миша писал:
Фиксированная арифметика это полное днище, её вообще нельзя никак использовать. Ну разве что для квантизации пространства, да и то...

Её используют там где требуется фиксированная точность -- в типографии и бухгалтерии.

__________________
http://www.moddb.com/mods/monorail-quest

Сообщить модератору | IP: Записан
Сообщение: 192271

Старое сообщение 15-04-2020 16:08
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 33025
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
ncuxonaT писал:
Ты где-то напортачил, не должно было быть такого.

Да с кем я спорю? Ну возьми в цикле прогони фикседпоинт и плавающую точку с разными значениями и посравнивай-потести. А потом умничай про "напортачил".

Цитата:
ncuxonaT писал:
если у BFN точность на уровне RBG16F

С хрена ли? Суть BFN в том, чтобы более эффективно использовать 24 бита для векторных значений. Выше этих 24 бит на три компоненты она не станет никоим образом.

Цитата:
thambs писал:
Её используют там где требуется фиксированная точность -- в типографии и бухгалтерии.

Не знаю насчёт типографии, но в бухгалтерии даблы поидее.

Добавлено 15-04-2020 в 20:34:

Нет, если нужна прям фиксированная-фиксированная точность, то переменную явным образом разделяют на две части.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | IP: Записан
Сообщение: 192275

Старое сообщение 15-04-2020 17:34
-
ncuxonaT
каков стол, таков и стул

Группа: Опытный
Дата регистрации: Oct 2009
Проживает: город/село/деревня
Сообщений: 1626
Возраст: 34

Рейтинг



Цитата:
Дядя Миша писал:
Да с кем я спорю? Ну возьми в цикле прогони фикседпоинт и плавающую точку с разными значениями и посравнивай-потести. А потом умничай про "напортачил".

Можно попробовать. Но лучше покажи код со своей реализацией целочисленных текстурных координат.
Цитата:
Дядя Миша писал:
С хрена ли? Суть BFN в том, чтобы более эффективно использовать 24 бита для векторных значений. Выше этих 24 бит на три компоненты она не станет никоим образом.

Ну да, тут я наверное погорячился.

Сообщить модератору | IP: Записан
Сообщение: 192278

Старое сообщение 15-04-2020 17:52
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 33025
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
ncuxonaT писал:
Но лучше покажи код со своей реализацией целочисленных текстурных координат.

Ты прикалываешься чтоли?
C++ Source Code:
int st = (s * 32768);
float s = st * (1.0f/32768.0f);

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | IP: Записан
Сообщение: 192280

Старое сообщение 15-04-2020 18:10
-
ncuxonaT
каков стол, таков и стул

Группа: Опытный
Дата регистрации: Oct 2009
Проживает: город/село/деревня
Сообщений: 1626
Возраст: 34

Рейтинг



Дядя Миша это ты из головы написал сейчас. Вот как оно написано, при текстуре 1024х точность будет 1/32 пикселя, тогда как у халффлота точность на большей части была бы 1 пиксель.
Можешь показать весь кусок кода?

Сообщить модератору | IP: Записан
Сообщение: 192281

Старое сообщение 15-04-2020 18:50
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 33025
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
ncuxonaT писал:
Вот как оно написано, при текстуре 1024х точность будет 1/32 пикселя

Воу-воу-воу, что ты несёшь? Причём тут размер текстуры??? Я же выше написал, что привёл фиксированную точку к диапазону 0-1 и взял множитель как можно больше, для увеличения точности. Можно сказать - максимально возможный для слова. А привязываться к размеру текстуры - это еще хуже. Не зря там в компиляторе написано FIXME.

Добавлено 15-04-2020 в 21:55:

PS. Кармак, к слову хранил st для моделей во флоатах, это чисто вальвовский прикол.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | IP: Записан
Сообщение: 192282

Старое сообщение 15-04-2020 18:55
-
ncuxonaT
каков стол, таков и стул

Группа: Опытный
Дата регистрации: Oct 2009
Проживает: город/село/деревня
Сообщений: 1626
Возраст: 34

Рейтинг



Дядя Миша давай-ка повежливее, что за фамильярности. К размеру текстуры я привязываюсь только чтобы как-то измерить ошибку точности. Текстурные координаты в мдл хранятся в знаковых или беззнаковых шортах? Почему ты умножаешь на 32768, если диапазон знакового шорт от -32768 до 32767? В любом случае это вряд ли сильно влияет на сдвиг.

А Кармак в ку2 хранил st вообще в двух вариантах.

Сообщить модератору | IP: Записан
Сообщение: 192284

Старое сообщение 15-04-2020 19:12
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 33025
Нанёс повреждений: 392 ед.

Рейтинг



Запилил поддержку рескейла шрифтов. Еще вчера я надеялся, что вот эти вот настройки можно было как-то задать при создании шрифта, но раз нет, так нет. Слева картинки, созданные ФиЭктро, справа - шрифт, с подогнанным скейлом.


Цитата:
ncuxonaT писал:
Текстурные координаты в мдл хранятся в знаковых или беззнаковых шортах?

Координаты идут в однородном потоке gl-комманд. Поток весь состоит из знаковых шортов.
Цитата:
ncuxonaT писал:
Почему ты умножаешь на 32768

А на сколько надо? В оригинале шло умножение на размер текстуры. Т.е. точность плавала вместе с этим размером. Очевидно, чем больше число, тем выше точность фиксированной точки. Я взял максимально возможное, чтобы не париться со знаком. Диапазон, еще раз повторюсь, от НУЛЯ ДО ЕДЕНИЦЫ, может просто когда я цифрами пишу 0-1, ты этого не замечаешь.

Добавлено 15-04-2020 в 22:26:

ЗЫ. по шрифтам отличия в качестве картинок, типа лёгкого блура, ну тут надо понимать, что оригинал генерился в разрешение 640х480 и уже предумножен на 1.6. Плюс DXT добавил артефактов в цвет, хотя это и странно конечно. Ну может еще джипег от себя добавил.

Добавлено 15-04-2020 в 22:29:

Но вот отличия в цвете кнопок - это стопудова косяк DDS, потому что я брал пипеткой оригинальный цвет из исходника.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | IP: Записан
Сообщение: 192285

Старое сообщение 15-04-2020 19:29
-
FiEctro
Кот Арсис

Дата регистрации: Aug 2006
Проживает: код
Сообщений: 13504
Возраст: 33

Рейтинг



Дядя Миша
Там не блюр, а свечение вроде как.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!

Сообщить модератору | IP: Записан
Сообщение: 192286

Старое сообщение 15-04-2020 19:37
- За что?
KiQ
Житель форума

Дата регистрации: Aug 2010
Проживает: Смоленск, Москва
Сообщений: 2090

Рейтинг



Цитата:
Дядя Миша писал:
Ну посмотрим, может STB возьму.

то есть для шрифтов брать не хотел, а для скриншотов - можно?

__________________
-Brain is dead-

Сообщить модератору | IP: Записан
Сообщение: 192288

Старое сообщение 15-04-2020 19:44
- За что?
ncuxonaT
каков стол, таков и стул

Группа: Опытный
Дата регистрации: Oct 2009
Проживает: город/село/деревня
Сообщений: 1626
Возраст: 34

Рейтинг



Цитата:
Дядя Миша писал:
А на сколько надо?

На 32767? Но это не особо существенно.
Цитата:
Дядя Миша писал:
Диапазон, еще раз повторюсь, от НУЛЯ ДО ЕДЕНИЦЫ

Ты понимаешь, что на этом диапазоне у шорта будет постоянная точность, а у халффлоата плавающая? И чем больше разрешение текстуры, тем сильнее это будет заметно?
Вот я прогнал для теста флоаты от 0.9000 до 0.9020 с шагом в 0.0001, можешь сам посмотреть, где больше ошибка
code:
float half short half_err short_err 0,900000 0,899902 0,899991 0,000098 0,000009 0,900100 0,899902 0,900113 0,000198 0,000013 0,900200 0,900391 0,900204 0,000191 0,000004 0,900300 0,900391 0,900296 0,000091 0,000004 0,900400 0,900391 0,900388 0,000009 0,000012 0,900500 0,900391 0,900510 0,000109 0,000010 0,900600 0,900391 0,900601 0,000209 0,000001 0,900700 0,900879 0,900693 0,000179 0,000007 0,900800 0,900879 0,900815 0,000079 0,000015 0,900900 0,900879 0,900906 0,000021 0,000006 0,901000 0,900879 0,900998 0,000121 0,000002 0,901100 0,900879 0,901090 0,000221 0,000010 0,901200 0,901367 0,901212 0,000167 0,000012 0,901300 0,901367 0,901303 0,000067 0,000003 0,901400 0,901367 0,901395 0,000033 0,000005 0,901500 0,901367 0,901486 0,000133 0,000014 0,901600 0,901367 0,901608 0,000233 0,000008 0,901700 0,901855 0,901700 0,000155 0,000000 0,901800 0,901855 0,901791 0,000055 0,000009 0,901900 0,901855 0,901914 0,000045 0,000014 0,902000 0,901855 0,902005 0,000145 0,000005


Добавлено 15-04-2020 в 22:49:

Шрифты говно, конечно. В том плане, что буквы плавают вверх-вниз

Сообщить модератору | IP: Записан
Сообщение: 192289

Старое сообщение 15-04-2020 19:49
- За что?
FiEctro
Кот Арсис

Дата регистрации: Aug 2006
Проживает: код
Сообщений: 13504
Возраст: 33

Рейтинг



ncuxonaT
Ты чего злой такой?

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!

Сообщить модератору | IP: Записан
Сообщение: 192290

Старое сообщение 15-04-2020 19:53
- За что?
ncuxonaT
каков стол, таков и стул

Группа: Опытный
Дата регистрации: Oct 2009
Проживает: город/село/деревня
Сообщений: 1626
Возраст: 34

Рейтинг



FiEctro почему злой? http://lurkmore.to/%D0%A8%D1%80%D0%...%B2%D0%BD%D0%BE

Сообщить модератору | IP: Записан
Сообщение: 192291

Старое сообщение 15-04-2020 20:04
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 33025
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
KiQ писал:
то есть для шрифтов брать не хотел, а для скриншотов - можно?

А што, рендеринг шрифтов и сохранение в джипег это один и тот же код? Я не против STB, я против любой отсебятины в плане рендеринга шрифтов. Да и альбатросс сказал, что там нет антиальясинга, а к примеру этот же бакслэш без него юзать вообще невозможно.

Цитата:
ncuxonaT писал:
можешь сам посмотреть, где больше ошибка

у фиксированной точки, естественно. Потому что на ней текстуры - съезжали. А на халф-флоате нет.

Цитата:
ncuxonaT писал:
буквы плавают вверх-вниз

да, есть такое.

Добавлено 15-04-2020 в 23:49:

Есть какая-то чёртовая моделька, банка штоли. Так вот при фиксированной точке на ней текстура съезжала гарантированно. А на халфе - нет.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | IP: Записан
Сообщение: 192292

Старое сообщение 15-04-2020 20:49
-
Тема закрыта Дядя Миша 04-08-2024 в 10:49
Временная зона GMT. Текущее время 10:37. Новая тема    Ответить
Страницы (255): « Первая ... « 83 84 85 86 [87] 88 89 90 91 » ... Последняя »   Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Разработка игр > Наши проекты > XashNT: блог разработчика
Часть I
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

Быстрый переход:
Оцените эту тему:

Правила Форума:
Вы not можете создавать новые темы
Вы not можете отвечать в темы
Вы not можете прикреплять вложения
Вы not можете редактировать ваши сообщения
HTML Код ВЫКЛ
vB Код ВКЛ
Смайлики ВКЛ
[IMG] Код ВКЛ
 

< Обратная связь - HLFX.ru >

На основе vBulletin
Авторское право © 2000 - 2002, Jelsoft Enterprises Limited.
Дизайн и программирование: Crystice Softworks © 2005 - 2024