Автор Тема: Программа-просмотрщик объектов: требуется помощь программистов!  (Прочитано 6307 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Zontik

  • Призрак
  • Сообщений: 13696
Force, да делай все что угодно, только, действительно, не как на этом ужасном скриншоте, напоминающем мне 3D Max. Все эти тумблеры, кнопочки и пятиуровневые меню хороши там, где в них есть реальная необходимость - в кабине самолета, например. Я бы не хотел видеть перед собой такое, если мне нужно просто посмотреть модель.
"Патриот" - кампания в разработке. 41% готово.

Оффлайн Chuzhoi

  • Тень
  • Сообщений: 9028
Цитировать
Я использую проценты оконного пространства и самих элементов для их позиционирования и изменения размеров... Но поскольку разрешение экрана, или размер окна может быть любым, то нужна некая опорная фигура, в которую или относительно которой нужно будет вписывать все элементы, потому что если их просто всегда рисовать не обращая внимания на разрешение, то в 16:9 это будет выглядеть, например, растянуто, а в 4:3 - сплюснуто по горизонтали... Короче, надо решить что делать с единицами измерения в интерфейсах. Я надеюсь, хоть кто-нибудь понял о чем я и у него есть идеи... А пиксели привлекать не хочется потому что гладиолус.
Конечно, лучше бы задавать все размеры в пикселях. По крайней мере, использовать проценты в чистом виде без каких либо поправок - не очень хорошая идея. Это, возможно, неплохо работает для игровых интерфейсов, но плохо подходит для утилит, имитирующих системный GUI. Иначе может получиться так, что мы удовлетворим потребности Бориса, подобрав размеры под его 1024*768, но на современном 24-дюймовом мониторе такой интерфейс будет выглядеть, мягко говоря, крупновато (да еще и растянуто по горизонтали), и пространство такого большого окна будет расходоваться совершенно нерационально. В общем, лучше бы все размеры - панели, шрифт, превьюшки - жестко задавать в пикселях. Растягиваем окно - расширяется область просмотра (при этом увеличивается модель), уползает влево дополнительная информация, увеличивается количество видимых файлов в списке (но сам список по ширине остается такой же); в режиме обозревателя увеличивается количество превьюшек (имеющих фиксированный размер) по горизонтали и вертикали, вызывая окончательный коллапс сознания у Бориса и Зонтика... В общем, идеальный интерфейс, с моей точки зрения, именно таков. Если нет возможности использовать пиксели - то надо, наверное, вводить какие-то поправочные коэффициенты, которые пересчитываются при каждом изменении размера окна...

Оффлайн Boris3000

  • Мастер Теней
  • Сообщений: 2826
  • Noisemaker
в режиме обозревателя увеличивается количество превьюшек (имеющих фиксированный размер) по горизонтали и вертикали, вызывая окончательный коллапс сознания у Бориса и Зонтика
Я представляю себе монитор Вороба, заполненный этими превьюшками. Тут не только сознание сколлапсирует, но ещё и окосеешь.
В общем не нужен этот режим оборзевателя, это тебя уже куда-то не туда понесло. Сначала было всё нормально, а потом начинается "а что бы ещё сделать этакого". Если и делать превьюшки, то только на замену списку, а не всему окну.
Gigabyte GA-X48-DS4 / Core2-Quad Q9650@4.1GHz / Hynix original DDRII-800 2x2GB /
Gigabyte GV-NX96T1GHP 1GB DDR-3 GeForce 9600GT / SoundBlaster X-Fi Xtreme Gamer Fatal1ty Pro Edition /
RAID 0 из двух SSD Intel X25-M 120GB / Samsung SyncMaster 757DFX (труба 1024х768) /
Windows XP Professional SP3 VL 32-bit (MSDN)/ DirectX 9c June-2010 / ForceWare 270.61 / New-Dark 1.25

Оффлайн Chuzhoi

  • Тень
  • Сообщений: 9028
Как хотите. Хотя я впервые в своей жизни сталкиваюсь с подобным - чтобы у кого-то были проблемы с восприятием такого режима.

Мне интересно, а как вы в таком случае выбираете текстуры в игровых редакторах - ведь там текстуры демонстрируются подобным образом. Тоже предпочли бы просматривать их по одной, гуляя по списку?



« Последнее редактирование: 11 Августа 2017 20:35:46 от Chuzhoi »

Оффлайн Boris3000

  • Мастер Теней
  • Сообщений: 2826
  • Noisemaker
я впервые в своей жизни сталкиваюсь с подобным - чтобы у кого-то были проблемы с восприятием такого режима
В качестве примера можно привести разбивку текста в газете на узкие колонки -- это делается специально для скорочтения, чтобы можно было глазами почти без движения влево-вправо пробегать текст сверху-вниз. И никто и никогда не будет печатать газету сплошняком, чтоб глазами надо было влево-вправо на метр туда и метр обратно.
Поэтому если уж искать глазами, а не через БД, то они должны не лихорадочно метаться по всей площади экрана, а пробегать сверху вниз по узкой полосе, либо вообще быть неподвижными, наблюдая за проезжающей полосой. И так как в случае компьютера никаких ограничений на длину полосы нет, то можно всю информацию залепить в одну полосу. Вот так всё и приходит к тому виду превьюшек, что у меня на первом скрине в ACDSee.

А виндовый проводник, ну что с него взять, ну... Стоковая умолчанская прога "чтоб былО" из компании Пэйнта, Вордпэда и Блокнота, над юзабилити которых никто не работал и не собирался. Их единственное предназначение -- чтоб пользователь в голой ОС не остался совсем без рук.

Мне интересно, а как вы в таком случае выбираете текстуры в игровых редакторах - ведь там текстуры демонстрируются подобным образом.
Всё правильно -- интерфейс Дромеда недалеко от проводника ушёл. Но то, что я в нём делаю, сложно назвать работой. Так что я в нём просто не работаю.
« Последнее редактирование: 11 Августа 2017 20:51:09 от Boris3000 »
Gigabyte GA-X48-DS4 / Core2-Quad Q9650@4.1GHz / Hynix original DDRII-800 2x2GB /
Gigabyte GV-NX96T1GHP 1GB DDR-3 GeForce 9600GT / SoundBlaster X-Fi Xtreme Gamer Fatal1ty Pro Edition /
RAID 0 из двух SSD Intel X25-M 120GB / Samsung SyncMaster 757DFX (труба 1024х768) /
Windows XP Professional SP3 VL 32-bit (MSDN)/ DirectX 9c June-2010 / ForceWare 270.61 / New-Dark 1.25

Оффлайн Chuzhoi

  • Тень
  • Сообщений: 9028
Я сто лет не читал бумажных газет, но я неплохо воспринимаю и форумный текст почти во всю ширину экрана, и узкий текст на экране мобильного телефона. Кроме того, есть еще и бумажные книги, причем довольно большого формата - и текст в них практически никогда не разбивается на колонки, что не мешает его нормально читать. Так что еще раз повторюсь, что я не вижу никаких особенных проблем в восприятии мозаики из картинок во всю ширину окна. Хотя могу частично согласиться, что если окно распахнуто на весь экран, то на современном большом мониторе это может оказаться перебором. Но если окно занимает, скажем, 2/3 ширины экрана и выводится по 4-6 картинок в ряд (что у меня обычно и происходит) - то никаких проблем. Наоборот, если сузить окно до 2 картинок и пытаться что-то визуально искать в папке, в которой находится 1000 файлов - то такой режим я скорее признаю бесполезным, т. к. он не дает никакой обзорности и скорости поиска. Современный же виндовой проводник я считаю практически идеальным средством визуального поиска картинок - для обеспечения комфорта всегда можно моментально отрегулировать размер превьюшки, причем в очень широких пределах - покрутив колесо мыши при нажатом Ctrl - и размер самого окна, подогнав под себя количество картинок и интервал между ними, и единственный его серьезный недостаток в том, что он поддерживает только самые распространенные форматы (хотя, возможно, есть какое-то средство, чтобы заставить его работать с тем же DDS - но я пока с этим не заморачивался; для подобных случаев у меня есть визуально менее удобный, но, тем не менее, вполне функциональный XNView).

Посему я могу признать, что для обеспечения комфорта и учета индивидуальных особенностей пользователя, возможно, имеет смысл ограничить количество выводимых превьюшек по горизонтали в режиме обозревателя, но сделать этот параметр настраиваемым (через ini-файл). Но совсем бесполезным этот режим я бы ни в коем случае не назвал.

Неплохо бы еще, конечно, иметь возможность регулировать размер превьюшки (в идеальном случае - на лету, как в виндовом проводнике), но грузить Форса такими сложностями я считаю себя не вправе.
« Последнее редактирование: 11 Августа 2017 22:51:41 от Chuzhoi »

Оффлайн Boris3000

  • Мастер Теней
  • Сообщений: 2826
  • Noisemaker
есть еще и бумажные книги, причем довольно большого формата - и текст в них практически никогда не разбивается на колонки, что не мешает его нормально читать
Потому что в книгах не нужно скорочтение. Я ж написал, что разбитие на узкие колонки необходимо для скорочтения. В нашем случае -- для быстрого поиска.
Так что там, где надо быстро пробежаться глазами в поисках нужной информации, будет именно узкая колонка. И никто не скажет, что типа как же это так -- узкая колонка не даёт наглядного представления о количестве текста в газете. А потому что оно не нужно, это представление. Сколько есть текста, столько и есть. Задача -- точно и быстро пропустить его через глаза, причём скорость не должна идти в ущерб точности.

если сузить окно до 2 картинок и пытаться что-то визуально искать в папке, в которой находится 1000 файлов - то такой режим я скорее признаю бесполезным, т. к. он не дает никакой обзорности и скорости поиска
Вот именно что обзорности не даёт, которая непонятно зачем нужна. Чтоб увидеть, как много у тебя моделек?
Необходимо пропустить через глаза всю кучу объектов так, чтоб ничего не пропустить. Свои две колонки я подобрал из опыта, т. к. при большем числе я начинал уже зевать и вся скорость большего числа колонок сводилась на нет необходимостью повторного поиска. Либо надо очень внимательно водить глазами влево-вправо, но это задолбает. Если же не водить, то все колонки, кроме пары центральных, уезжают в область бокового зрения, и стопроцентно что-нибудь пропускаешь.
А при двух колонках скорость достигается гарантированной однократностью поиска и большей скоростью прокрутки. При этом глаза не утомляются.
« Последнее редактирование: 11 Августа 2017 23:22:49 от Boris3000 »
Gigabyte GA-X48-DS4 / Core2-Quad Q9650@4.1GHz / Hynix original DDRII-800 2x2GB /
Gigabyte GV-NX96T1GHP 1GB DDR-3 GeForce 9600GT / SoundBlaster X-Fi Xtreme Gamer Fatal1ty Pro Edition /
RAID 0 из двух SSD Intel X25-M 120GB / Samsung SyncMaster 757DFX (труба 1024х768) /
Windows XP Professional SP3 VL 32-bit (MSDN)/ DirectX 9c June-2010 / ForceWare 270.61 / New-Dark 1.25

Оффлайн Chuzhoi

  • Тень
  • Сообщений: 9028
Необходимо пропустить через глаза всю кучу объектов так, чтоб ничего не пропустить.
Ну и что. В чем проблема-то? Я вполне нормально воспринимаю мозаику из четырех колонок. И даже из шести. Восемь колонок - это, возможно, уже и перебор, но если не будет другого выбора, я без особых проблем адаптируюсь и к восьми колонкам. У меня нет проблемы в том, чтобы водить глазами туда-сюда.

Все индивидуально. Ты подобрал эти две колонки под себя - но это не значит, что остальные семь миллиардов людей также должны довольствоваться двумя колонками. У кого-то могут быть другие предпочтения.

Оффлайн Boris3000

  • Мастер Теней
  • Сообщений: 2826
  • Noisemaker
Ты подобрал эти две колонки под себя - но это не значит, что остальные семь миллиардов людей также должны довольствоваться двумя колонками. У кого-то могут быть другие предпочтения.
Семь миллиардов установили узкие колонки, когда ещё не было компов и были лишь газеты. Так что именно узкая длинная колонка -- это основы юзабилити для быстрого поиска. Не для разглядывания, а именно для быстрого вычленения искомого. Всё остальное -- частности.
В естественной жизни не бывает ситуаций, когда человек сидит и 5-10 минут без перерыва шныряет глазами туда-сюда с максимальной скоростью. Это извращение.

Сам по себе режим оборзевателя не помешает -- кашу маслом не испортишь. Но только в том случае, если в списке приоритетов он будет стоять на третьем месте. Сначала пусть будет реализован твой исходный вариант, потом к нему добавится переключение "список имён / список превью в 2 колонки", и лишь потом режим оборзевателя.

Почему режим совсем без превью на первом месте? Потому что в процессе работы большинство файлов всё-таки запоминаются, да и названия у многих вполне говорящие. Если же скачал откуда-то тыщу новых моделей, то их всё равно надо сначала просмотреть как следует.
Поэтому поиск в основном производится по имени, и только для отдельных файлов, которые позабылись, тыкается на это имя для просмотра и освежения воспоминаний. Понятно, что в этом случае режим с исключительно превьюшками будет лишь тормозить поиск и является излишеством, поэтому должен быть опциональным, а не основным.
« Последнее редактирование: 12 Августа 2017 15:57:23 от Boris3000 »
Gigabyte GA-X48-DS4 / Core2-Quad Q9650@4.1GHz / Hynix original DDRII-800 2x2GB /
Gigabyte GV-NX96T1GHP 1GB DDR-3 GeForce 9600GT / SoundBlaster X-Fi Xtreme Gamer Fatal1ty Pro Edition /
RAID 0 из двух SSD Intel X25-M 120GB / Samsung SyncMaster 757DFX (труба 1024х768) /
Windows XP Professional SP3 VL 32-bit (MSDN)/ DirectX 9c June-2010 / ForceWare 270.61 / New-Dark 1.25

Оффлайн Chuzhoi

  • Тень
  • Сообщений: 9028
Никто не спорит, что режим обозревателя - это вспомогательный режим. Я совершенно согласен, что он не на первом месте (на втором или третьем - это вопрос личных предпочтений). Но при этом если будет реализован режим "2 колонки превьюшек + модель", то я не вижу особенных технических препятствий против того, чтобы дополнить программу режимом обозревателя - основная сложность здесь в получении превьюшек для файлов, а уж в какой форме их отобразить - дело десятое. Тормозить при грамотной реализации (по крайней мере, при заходе в данную папку во второй раз) ничего не должно - ведь в превьюшках отображаться должны не 3d-модели в реальном времени, а отрендеренные картинки (которые, скорее всего, должны кэшироваться и обновляться только по необходимости).

Оффлайн Zontik

  • Призрак
  • Сообщений: 13696
Попробую угадать: в каждой просмотренной папке опять навсегда останутся какие-нибудь thumbnails.db (скрытые для пущей важности), которые так и выйдут вместе с релизом?
Надеюсь, что я ошибся.
"Патриот" - кампания в разработке. 41% готово.

Оффлайн Force

  • Тень
  • Сообщений: 7843
Вообще, я тоже не планировал заморачиваться с кэшем. Построение множества изображений для каждой модельки происходит овер-мгновенно. Поэтому кэшировать ради этого эскиз не вижу смысла - это городить еще один огород сомнительной нужности.

Правда, есть один нюанс... У меня сейчас экспериментально для всей рисуемой геометрии создается массив текстур, и его создание требует определенного времени работы ОСНОВНОГО потока программы, то есть, фактически прога зависает, приводя все текстуры к одному формату, чтобы запихать их в массив. По-хорошему надо бы ресайзить все текстуры в фоновом потоке на ЦПУ, да вот нет у меня алгоритма ресайза на ЦПУ... Да и отрисовка из массива текстур хоть и быстрее, но приводит к незначительным специфическим артефактам, да и видеопамяти этот массив по факту сжирает в разы больше... Короче, я пока не решил, оставить так или рисовать по-старинке с переключением каждой текстуры...
« Последнее редактирование: 14 Августа 2017 10:02:40 от Force »

Оффлайн Force

  • Тень
  • Сообщений: 7843
Прям только что обнаружил еще одну проблему, связанную с массивами текстур... Невозможность нарисовать один и тот же объект из буфера с разными текстурами... А это сводит практически на нет все преимущества массивов... Так что радуйтесь, вертаю всё в зад :biggrin:.

Оффлайн Chuzhoi

  • Тень
  • Сообщений: 9028
А может быть, пока и не стоит заморачиваться с выводом превьюшек? Все-таки основной режим, который мы все ждем и который сильно облегчит жизнь авторам миссий - это "текстовый список + модель", а уж остальное - это добавки, которые можно делать уже потом, да и то при наличии большого желания и свободного времени у автора.

Оффлайн nemyax

  • Мастер Теней
  • Сообщений: 3931
  • Нёмыч
Ну приступил кто-нибудь?