Thief: the Dark Fate Forum

Гильдия Редакторов => DromEd => Тема начата: Zontik от 21 июля 2017 10:16:53

Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Zontik от 21 июля 2017 10:16:53
Примерный общий вид (Maxim):
(http://i.piccy.info/i9/3a8f4e0825c56d36c005edfd2509002c/1501590706/235253/1159022/model_viewer1.png)
Полное ТЗ (Chuzhoi):
1. Показ модели по щелчку на файле с возможностью перехода к следующему/предыдущему bin'у в текущей папке. Вверх/вниз по структуре катологов не надо, иначе все несоразмерно усложняется.
2. Также желательно реализовать открытие через стандартное системное диалоговое окно выбора файла (папка по умолчанию должна быть текущая). Вот там пусть и путешествуют по структуре, если хотят.
3. Поиск текстур открываемой модели в текущей папке, а также в  txt/txt16.
4. Отображение имени текущей модели (с абсолютным путем), списка текстур (с относительными путями в случае их наличия - txt/txt16), геометрических размеров модели (длина/ширина/высота), числа полигонов в модели. Все отображение прямо во вьюпорте средствами OpenGL (сверху/снизу/сбоку/по углам).
5. Фон окна черный. Один источник света слева-сверху со стороны зрителя + эмбиент лайт в разумных пределах. Опционально: режим Full Bright.
6. Возможность вращать модель мышью и приближать/удалять камеру колесом. Вращаться должна именно модель, а не камера (у нас же будет источник света - зачем нам смотреть на модель с темной стороны).
7. По умолчанию (сразу после загрузки) модель занимает примерно 1/2...2/3 вьюпорта. Дефотный угол - вдоль одной из осей или что-то типа изометрии (обсудить с заказчиками, как лучше). Если модель покрутили/изменили масштаб - то следующая открываемая модель все равно показывается в масштабе и под углом по умолчанию.
8. Опционально: можно реализовать отключаемый режим "фиксированный масштаб", когда при переходе к следующей модели масштаб/угол не изменяются (может быть полезно при сравнении размеров моделей). Но можно и не реализовывать, если влом или если никто из потенциальных юзеров не видит в этом пользы.
9. Все управление (кроме того, что в п. 6) - с  клавиатуры. Например: стрелки вправо/влево - следующий/предыдущий файл, O/Ctrl+O - открыть файл, F - режим "Full bright". На экране внизу - краткая инструкция мелким шрифтом. Никаких тулбаров с кнопками. Раскладку клавиатуры обсудить с заказчиками и захардкодить - никаких ini,  привыкнут.
10. Если при загрузке модели пошло что-то не так, программа не должна виснуть или вылетать, а выдавать внятное сообщение в центре пустого окна. Например: "Animated models are not currently supported." Или просто: "Could not open file ...."
11. Программа должна нормально работать в окне любого размера и адекватно реагировать на изменение размера окна, распахивание на весь экран и т. д. Масштаб модели при изменении размера окна пропорционально изменяется.
12. Опционально: Копирование имени файла и дополнительной информации (имена текстур) в буфер обмена.
13. Опционально: отображение джойнтов, вхотов (что там еще в модели может быть?)

Еще варианты интерфейса для обсуждения. Противоречивые.

(http://chuzhoi.city/images/darkfate/bin-viewer-filelist.jpg)

(http://chuzhoi.city/images/darkfate/bin-viewer-explorer-mode.jpg)

Дальше под спойлером идет достояние истории - этот пост в первоначальном варианте.
[spoiler]Идея принадлежит Максиму, он сам собирался написать, но у меня терпения не хватило дождаться.
Собственно, это просьба. К любому из вас, кто способен писать программы. Нужна утилита, которая бы показывала объекты в формате BIN в их натуральном виде. Желательно с текстурами, которые всегда находятся в подпапке TXT или TXT16 относительно расположения самого файла BIN.
Какой-то просмотрщик существует, но, во-первых, он крайне глючный и показывает текстуры только из текущей папки, что делает его применение крайне ограниченным. А во-вторых, добрую половину моделей он просто отказывается демонстрировать, вылетая из окна.
Собственно, проблема в том, что при накоплении изрядного количества моделей (а в случае с кампанией счет идет уже на многие сотни) в них становится невозможно ориентироваться. В результате огромное количество времени расходуется авторами впустую: поискал - поставил - не подошло - пошел искать другую. А если речь идет о неизвестных ресурсах, как те же паки от Кристины? Сплошная головная боль.
Что нужно:
1) Просмотр как при щелчке по конкретному файлу, так и списком (запуск программы, выбор активной папки, отображение моделей в виде превьюшек - либо все скопом (наверное, чересчур затратно по ресурсам), либо по выбору из списка в окне программы).
2) Автоматическое подключение текстур из трех возможных мест: папка с объектом (бывает нужно в ходе разработки) и две подпапки: TXT16 и TXT.
3) Поддержка всех существующих форматов текстур: PNG, DDS, GIF, PCX, TGA, BMP.
4) Обязательное отображение имени текущей модели, хоть где, хоть в статусной строке, но чтобы его не надо было держать в уме, а можно было считать с экрана.
5) Вращение/приближение/смещение модели при просмотре желательны, но не так важны на начальном этапе. Первичная функциональность достаточна и без этого.
6) Отсутствие вылетов, если модель вдруг окажется нестандартной (джойнты, вхоты, прозрачные/светящиеся участки или просто какая-то не такая). Последнее достало особо.
Вроде ничего не забыл, если что, Максим поправит.
Так что, кому-нибудь по зубам это сделать? Это ведь попроще будет, чем плуги ковать для Блендера (если, конечно, не ошибаюсь), а полезность трудно переоценить.
В крайнем случае можно сделать упрощенный вариант, хотя бы просто по пункту 6. И то будет на порядок лучше, чем сейчас. Не представляете, до какой степени надоело выбирать модели через DromEd!!![/spoiler]
Название: Программа-просмотрщик объектов: требуется помощь программиста!
Отправлено: Призрак Boris'а3000 от 21 июля 2017 10:32:15
Ещё чтоб имена файлов используемых текстур отображались. И чтоб можно было водить мышой по картинке с текстурой, а на модели бы указывалось, где на ней это место.

А это касается и obj и mesh?

И нельзя ли сделать проверку применимости модельки для ОМ?
Название: Программа-просмотрщик объектов: требуется помощь программиста!
Отправлено: Maxim от 21 июля 2017 10:35:25
Ну ты просто опередил на несколько часов, очень спешишь. Всё правильно. Только ещё хотел бы поиск чтоб был. И возможность распределять тематически по категориям, которые можно было бы вводить пользователю.
Просто представьте, что вам требуется, допустим, расставить мебель в доме. И вот вы идёте, как выразился Зонтик, на мебельный склад. И каждый раз требуется все модели на складе осматривать, чтобы понять что вам, собственно, нужно.
Я уже трудно представляю как именно называется какой-нибудь там стол или миска, или что угодно из нескольких десятков моделей что успел наделать. Чего "душа именно здесь желает" прекрасно понимаешь, а какой это у тебя файл - уже приходится вспоминать. А представьте что будет потом, когда своих моделей перевалит за сотни, а может и тысячу. Да мы замучаемся убивать сколько-то % времени на подобную рутину, не имеющую ничего общего с креативностью.

Посмотрите программу T2OLv3complete. Что-нибудь типа такого можно забацать? Чтобы если ты знаешь, что сейчас нужен факел или табурет или даже Npc, то сразу раскрываешь свёрнутую плюсиком или как-то так категорию соответственно "Lights", "Furniture" или "Creature".
Название: Программа-просмотрщик объектов: требуется помощь программиста!
Отправлено: Zontik от 21 июля 2017 11:14:02
Точно, про отображение имен используемых текстур забыл. Вторая по важности вещь!
ЦитироватьИ нельзя ли сделать проверку применимости модельки для ОМ?
Вот этого не понял. Разве в ОМ какой-то особый формат моделей? Или речь об Old Dark?
Maxim, давай оставим поиск на вторую версию. Иначе никогда не увидим первой, потому что тема более чем скользкая. Надо будет встраивать модуль искусственного интеллекта, чтобы он по внешнему виду определял категорию, к которой отнести модель. А если сортировка тупо по именам, то это околонулевая функционцальность. Посмотри смеха ради, как называются модели у Кристины. Ну хорошо, у тебя стол - это всегда Table. Или Tabl. Или Tbl. Или то же, но с опечаткой...
В общем, это требование пока сложно сформулировать, мне так кажется.
Название: Программа-просмотрщик объектов: требуется помощь программиста!
Отправлено: Призрак Boris'а3000 от 21 июля 2017 11:22:36
Цитата: Zontik от 21 июля 2017 11:14:02
Разве в ОМ какой-то особый формат моделей?
Я не знаю, скорее модели как-то связаны с окружающим пространством. Я попробовал однажды посадить деревце из общего склада для ФМ-ок -- оно получилось гигантским и висящим в воздухе. После этого я перебирал варианты только из паков, созданных для ОМ.

Цитата: Zontik от 21 июля 2017 11:14:02
Или речь об Old Dark?
Нет, почему. Про New.
Название: Программа-просмотрщик объектов: требуется помощь программиста!
Отправлено: Maxim от 21 июля 2017 11:28:03
ЦитироватьMaxim, давай оставим поиск на вторую версию. Иначе никогда не увидим первой
Ты прав. Согласен. Размахнулись, мечтатели, а тут ещё неизвестно смогут ли хоть что-то сделать. Ты бы, как и я, наверное очень хотел помочь Сообществам Thief такой штуковиной. Но никаких навыков программирования.
Название: Программа-просмотрщик объектов: требуется помощь программиста!
Отправлено: nemyax от 21 июля 2017 11:59:51
Цитата: Zontik от 21 июля 2017 10:16:53Это ведь попроще будет, чем плуги ковать для Блендера (если, конечно, не ошибаюсь)
Сложнее. Чтобы сделать независимый просмотрщик, ты должен уметь в гуй и в OpenGL/D3D. А для плугов под блендер тебе вообще не надо ничего уметь.
К такой задаче готов только Force, пожалуй, но он уже не то чтобы с нами.
Название: Программа-просмотрщик объектов: требуется помощь программиста!
Отправлено: Soul_Tear от 21 июля 2017 12:45:32
Да, такая штука нужна. У меня в папке свыше 1600 файлов. Но тему лучше бы создать на ТТЛГ, там людей больше и программистов больше.
Название: Программа-просмотрщик объектов: требуется помощь программиста!
Отправлено: nemyax от 21 июля 2017 12:54:49
Вы бы что называется поисследовали бы рынок. Вдруг уже существует похожий просмотрщик моделек с поддержкой плагинов и достаточно было бы добавить плагин для даркошных форматов.
Название: Программа-просмотрщик объектов: требуется помощь программиста!
Отправлено: Zontik от 21 июля 2017 14:13:33
Boris3000, нет никакой разницы, ОМ или ФМ. Если у тебя что-то там не получилось, это определенно не вина формата. [spoiler]Мало у кого что-то получается в этом редакторе с первого раза.[/spoiler] Могут отличаться разве что модели для старого и нового движка, да и то разве что набором доступных форматов и размеров текстур.
nemyax
ЦитироватьА для плугов под блендер тебе вообще не надо ничего уметь.
Ты слишком высокого мнения обо мне. Я не умею даже исследовать рынок.
Да, прошу добавить еще одно требование от себя лично: чтобы работало под XP.
Название: Программа-просмотрщик объектов: требуется помощь программиста!
Отправлено: nemyax от 21 июля 2017 17:04:39
А пока просмотрщика у вас нет, попробуйте воспользоваться пакетным импортом в блендер.
Для этого вот вам скрипт, который можно выполнить в текстовом редакторе программы:

import bpy, os, glob

def batch_import_bins(path):
    path += os.sep
    l = len(path)
    for f in (glob.glob(path + "*.bin")):
        try:
            bpy.ops.import_scene.dark_bin(filepath=f)
            fname = f[l:]
            ao = bpy.context.active_object
            while ao.parent:
                ao = ao.parent
            ao.name = fname
        except:
            continue
    bpy.ops.object.mode_set()
    for o in bpy.context.scene.objects:
        o.hide = True
        if o.name.lower().startswith("bbox"):
            bpy.data.objects.remove(o, do_unlink=True)

bin_folder = "d:\\programs\\games\\system-shock-2\\obj"
batch_import_bins(bin_folder)

Только поправьте путь на нужный для переменной bin_folder.
Результат работы будет примерно такой:
http://pix.academ.info/images/img/2017/07/21/37a15b49349784e9e9d90c5b48288ed5.png
Объекты импортнутся, переобзовутся именами своих файлов и сделаются скрытыми. Чтобы увидеть объект, откройте ему глазик в окне аутлайнера.
Текстур я что-то не вижу, тут мои баги, судя по всему.
Работа под XP для свежих блендеров не гарантируется.
Название: Программа-просмотрщик объектов: требуется помощь программиста!
Отправлено: Zontik от 21 июля 2017 20:47:47
Нет, это вариант, конечно (хотя интересно, сколько времени и ресурсов займет импорт 1600 объектов?), да и текстуры подтянутся, это, я так понимаю, решаемо. Но менять одни костыли на другие я лично смысла не вижу. Либо у тебя две ноги, либо ты хромой.
Название: Программа-просмотрщик объектов: требуется помощь программиста!
Отправлено: nemyax от 21 июля 2017 21:43:59
Цитата: Zontik от 21 июля 2017 20:47:47
интересно, сколько времени и ресурсов займет импорт 1600 объектов
Средства блендера позволяют не импортировать всё зараз, а отображать, например, гуйный списочек, набитый моделями из указанной папки (с фильтрацией, сортировкой и всеми делами). При клике на пункт списочка можно выгружать текущую модельку и загружать новую. Но тут не на 5 минут работы.
Название: Программа-просмотрщик объектов: требуется помощь программиста!
Отправлено: Zontik от 21 июля 2017 22:15:43
То есть в текущем виде этот вариант несерьезен. Даже при условии некоторого знакомства с Блендером.
Пять-десять, даже двадцать, пусть даже сто моделей я могу и в собственной памяти удержать. Если я их когда-либо видел, конечно. Речь-то именно о больших количествах, вот тогда это имеет смысл. И то не для меня, у меня-то по-прежнему XP.
Название: Программа-просмотрщик объектов: требуется помощь программиста!
Отправлено: Soul_Tear от 21 июля 2017 23:14:13
R Soul много всяких программ понадедеал, зачем игнорировать "зарубежных партнеров" (ВВП)?

С другой стороны, лично мне Блендера до сих пор хватало. Там удобно импортировать, правда без текстур, но итак ясно, что это. Зачем текстуры? Вертеть можно, ничего не вылетает. Чтобы увидеть текстуры я открываю Дромед > Portalize > F3 > Stool (потому что запомнилось) > и назначаю модель, на которой хочу увидеть текстуры.
Кроме того, закидывая новые чужие модели в папку Obj, я сразу задаю им понятные имена. Например, у ПинкДота паутины называются pajecz##, я их переименовал в Web##. Потом уже не забудешь.

Приспособится можно, хотя конечно толковая прога была бы кстати.
Название: Программа-просмотрщик объектов: требуется помощь программиста!
Отправлено: Soul_Tear от 21 июля 2017 23:19:07
Цитата: Zontik от 21 июля 2017 22:15:43
То есть в текущем виде этот вариант несерьезен. Даже при условии некоторого знакомства с Блендером.
Пять-десять, даже двадцать, пусть даже сто моделей я могу и в собственной памяти удержать. Если я их когда-либо видел, конечно. Речь-то именно о больших количествах, вот тогда это имеет смысл. И то не для меня, у меня-то по-прежнему XP.

Скорее всего эти 100 моделей - самые нужные, а остальное из разряда "авось пригодится", которые можно смело удалять. На самом деле человек может запомнить тонны материла по своей теме, если оно важно.
Название: Программа-просмотрщик объектов: требуется помощь программиста!
Отправлено: Призрак Boris'а3000 от 22 июля 2017 01:27:52
Цитата: Zontik от 21 июля 2017 14:13:33
нет никакой разницы, ОМ или ФМ. Если у тебя что-то там не получилось, это определенно не вина формата. Мало у кого что-то получается в этом редакторе с первого раза.
Не в редакторе. Ясен пень, что в редакторе можно подправить. И в том-то и дело, что с некоторыми объектами надо что-то подправлять. А если просто берёшь и подменяешь файлы, обозвав их именами старых, и запускаешь игру, то можно получить то, о чём я говорил.
Вот как бы об этом узнать сразу -- без переименовывания файлов, копирования, запуска игры и добегания до нужного места.
Название: Программа-просмотрщик объектов: требуется помощь программиста!
Отправлено: nemyax от 22 июля 2017 13:13:32
Boris3000
Насколько я знаю, в TDP используются бинки только версии 3, а в TG и TMA — версий 3 и 4. Версия 4 добавляет один байтик с индексом материала к каждому полигону (в ньюдарке вроде бы взбодрили целую систему материалов на основе этого дела). Для ньюдарка нет никакой особой редакции формата, но сам движок гибчее в интерпретации имён текстур.
Проблемы с масштабом и центром, на которые ты напоролся, они не из области совместимости.
Название: Программа-просмотрщик объектов: требуется помощь программиста!
Отправлено: Призрак Boris'а3000 от 22 июля 2017 19:55:56
nemyax
Да мне-то всё равно, из какой они области. Факт, что левый объект может не подойти для ОМ в виде "как есть". И задача -- вычислить такие объекты среди огромной кучи с минимумом временнЫх затрат.
Название: Программа-просмотрщик объектов: требуется помощь программиста!
Отправлено: Soul_Tear от 23 июля 2017 00:22:39
Все, Зонтик ушел от нас на ТТЛГ.
Название: Программа-просмотрщик объектов: требуется помощь программиста!
Отправлено: nemyax от 23 июля 2017 03:02:14
Boris3000
Ну то есть тебе надо сравнивалку габаритов.
Название: Программа-просмотрщик объектов: требуется помощь программиста!
Отправлено: Призрак Boris'а3000 от 23 июля 2017 03:09:39
nemyax
Габариты должны быть точно совпадающими с оригинальными или не больше/не меньше?
Название: Программа-просмотрщик объектов: требуется помощь программиста!
Отправлено: nemyax от 23 июля 2017 12:17:31
Меньше — повиснет, больше — утонет. Если по высоте.
При этом указанные в хедере файла габариты могут не иметь вообще никакого отношения к собственно геометрии модельки.
Название: Программа-просмотрщик объектов: требуется помощь программиста!
Отправлено: Призрак Boris'а3000 от 23 июля 2017 21:11:21
nemyax
То есть точно. Тогда смысла в этой сравнивалке нет -- вероятность того, что какой-то левый объект точно совпадёт по габаритам с оригинальным, стремится к нулю.
Название: Программа-просмотрщик объектов: требуется помощь программиста!
Отправлено: nemyax от 23 июля 2017 21:44:20
Таяжгрю, габариты могут и совпасть, а геометрия не вписаться. Вот представь модельку статуи, у которой габаритный ящик настроен так, что вмещает только бошку. Остальное как бы за его пределами. Ящик, насколько мне известно, влияет на фроб, вертелку в инвентаре и отсечение видимости при выпадении за фрустум камеры.
Если делать сравнивалку, то такую, чтобы показывала у обеих моделек и габаритник (проволочкой), и силуэт геометрии (сплошной заливкой). Чтобы одна моделька была, допустим, зилёнавинькая, а другая крастнавинькая. Тогда всё будет понятно.
Название: Программа-просмотрщик объектов: требуется помощь программиста!
Отправлено: Призрак Boris'а3000 от 23 июля 2017 22:16:40
nemyax
Но в любом случае должно что-то совпасть. Не габаритник, так некая функция габаритника и геометрии, вероятность чего точно так же стремится к нулю.
Название: Программа-просмотрщик объектов: требуется помощь программиста!
Отправлено: Maxim от 23 июля 2017 22:57:16
Ну в общем, классика дарк фейта. Тема скатится в оффтоп, потому что начнут мусолить что-то уже кому-то ДРУГОМУ надобное или спорить, или ещё что. Как дискутировать на 100500 страниц про всякие заумности, языки программирования, все эти С++, паскали-шмали — это пожалуйста. Как простую утилитку написать — тишина. Конечно, мы примерно это ожидали, ведь всё-таки бОльшая ставка шла на TTLG, но не настолько же нулевую отдачу. Жаль.
Название: Программа-просмотрщик объектов: требуется помощь программиста!
Отправлено: Zontik от 23 июля 2017 23:03:39
Почему "мы", я-то ожидал совсем другого. Но габариты сравнивать гораздо важнее, кто бы спорил.
Посмотрим еще, какими частями трехмерного тела будут мериться на TTLG, и вернемся к своим баранам.
Название: Программа-просмотрщик объектов: требуется помощь программиста!
Отправлено: nemyax от 23 июля 2017 23:04:44
Цитата: Maxim от 23 июля 2017 22:57:16
простую утилитку
Уверен?
Название: Программа-просмотрщик объектов: требуется помощь программиста!
Отправлено: Zontik от 23 июля 2017 23:25:42
Хорошо, не простую.
Но вот этот человек, написавший view.exe - он явно не был семи пядей во лбу, если судить по результату. Уж не суметь указать путь для текстур - это ж я не знаю, каким гением надо быть.  Все, что надо - то же самое, только со слегка расширенной функциональностью. На самый худой конец - без расширения, лишь бы программа работала со всеми моделями, черт бы ее подрал!
Вот на TTLG поступило дельное предложение: помещаешь на уровень модель и тут же делаешь скриншот, обзываешь его по имени модели и помещаешь в отдельную папку. Когда надо выбрать модель, листаешь не модели, а скриншоты. Все гениальное просто.
Если бы я мог вернуться на шесть лет назад, непременно воспользовался бы этим советом. Кто только начинает - у того еще есть шанс. А я просто больше на стану браться за кампании. Наверное.
Название: Программа-просмотрщик объектов: требуется помощь программиста!
Отправлено: nemyax от 23 июля 2017 23:33:59
Цитата: Zontik от 23 июля 2017 23:25:42Все, что надо - то же самое, только со слегка расширенной функциональностью.
Ничоси слегка. Перечитай ещё раз список хотелок в первом посту.
Ребятульки, вы хотите довольно трудозатратную программу на уровне современных просмотрщиков фоток, да ещё с триде-вьюпортом. Для сугубо местечкового формата моделек. И почему-то хотите её вот прям завтра. В сложившихся обстоятельствах нельзя так сердито реагировать на отсутствие интереса.
Название: Программа-просмотрщик объектов: требуется помощь программиста!
Отправлено: Призрак Boris'а3000 от 23 июля 2017 23:45:20
Цитата: Zontik от 23 июля 2017 23:25:42
Вот на TTLG поступило дельное предложение: помещаешь на уровень модель и тут же делаешь скриншот, обзываешь его по имени модели и помещаешь в отдельную папку. Когда надо выбрать модель, листаешь не модели, а скриншоты. Все гениальное просто.
И когда этих скриншотов накопится тысяча, всё точно так же накроется медным тазом. Здесь нужна полноценная СУБД с развитыми средствами поиска -- по именам, по описанию, по картинке и т. д.
И чтоб до этого допереть, не нужно 6 лет. Это ясно с самого начала -- что нужно свои труды документировать, и документировать в виде базы данных. И себе польза, и другим, кто захочет воспользоваться готовыми наработками.
Название: Программа-просмотрщик объектов: требуется помощь программиста!
Отправлено: Zontik от 23 июля 2017 23:55:40
Вдогонку: здесь никто, никому и ничем не обязан. Мы все это прекрасно понимаем. Однако бывают же приятные исключения. Поэтому попросить можно, а требовать никто и не собирался.
Отсутствие интереса, впрочем, действительно огорчает.
ЦитироватьПеречитай ещё раз список хотелок в первом посту.
Нет необходимости, это выстраданное годами и не забудется. Но это именно хотелки. Что невозможно или требует непомерных трудозатрат - подлежит секвестру.
Завтра, конечно, было бы неплохо, но не идеально, потому что вообще-то такая штука нужна была позавчера. Почему так? Это к делу не относится, но ответ довольно прост: дорога ложка к обеду.
Это тоже из разряда хотелок, если что. Одни хотят поиграть во что-то новое. Другие хотят это новое сделать. Третьи по непонятным причинам внезапно изъявляют желание помочь вторым. Боги иногда улыбаются.
Кстати, насчет просмотрщиков фоток: мой любимый irfanview был создан одиночкой, возможно, просто от нечего делать. Студентом. Ну, может, это и какой-то исключительный случай, я не знаю.
Цитироватьс триде-вьюпортом
Это главный камень преткновения? А если в статике - это не упростило бы задачу?
Boris3000
ЦитироватьИ когда этих скриншотов накопится тысяча, всё точно так же накроется медным тазом.
Не надо теоретизировать, здесь практический разговор. По крайней мере надеюсь, что это так.
Название: Программа-просмотрщик объектов: требуется помощь программиста!
Отправлено: nemyax от 24 июля 2017 00:02:07
Цитата: Zontik от 23 июля 2017 23:55:40А если в статике - это не упростило бы задачу?
Нет. Тебе ту статику надо по-любому отрендерить тем же OpenGL/D3D =)
Название: Программа-просмотрщик объектов: требуется помощь программиста!
Отправлено: nemyax от 24 июля 2017 00:08:33
Цитата: Zontik от 23 июля 2017 23:55:40Третьи по непонятным причинам внезапно изъявляют желание помочь вторым.
Ну я тебе намекал, что возможно приконопатить специально обученный список к блендеру. И тем самым покрыть большинство перечисленных хотелок (разве что изображения поддержатся только в PNG). Но у вас с Кипером при слове "блендер" бизаччотный ужос.
Название: Программа-просмотрщик объектов: требуется помощь программиста!
Отправлено: Призрак Boris'а3000 от 24 июля 2017 00:14:03
Цитата: Zontik от 23 июля 2017 23:55:40
Не надо теоретизировать
Я про общее количество существующих объектов, а не про то, что уже лежит в твоей папочке, отобранное или сделанное для конкретно этой, конкретно твоей кампании.
Название: Программа-просмотрщик объектов: требуется помощь программиста!
Отправлено: HellRaiser от 24 июля 2017 01:24:06
Цитата: nemyax от 23 июля 2017 23:04:44
Цитата: Maxim от 23 июля 2017 22:57:16
простую утилитку
Уверен?
+1

Дружи мои дорогие, я тут занят немного, но вас почитываю слегка. В общем это как минимум на 6-12 месяцев разработки (одному человеку), если он не будет ходить на работу, жить личной и семейной жизнью и есть 1 раз в день перед компом. Как-то так. Эта "простая утилита" будет уметь нихрена, при том, что вбухано будет в неё 100500 строчек кода на с++ или с# или ещё чем-то. Ваши хотелки - это зачастую краеугольные камни, на которые надо закладываться, а это тоже не собаку за хвост укусить, знаете ли. Ибо не хочется потом всё перепахивать а-ля анвил енжын: 5 лямов строк кода, только рази того, чтобы персонаж мог "присесть"! 
Короч, я бы взялся, но у меня щас бида-бида, + одна обещалочка уже висит с позапрошлого года, так что пас. НО! могу быть консультантом для начинающих студентов, способных в итоге сотворить тотал коммандер, борг чат или ирфанвью. В принципе, если наберётся команда из нескольких (более одного) более-менее сносных (понимающих что такое "->", "х:у?зед"  и отличия "int h;"  от ''int 3h;") программёров, то могу поучаствовать в мозговом штурме и частично кодинге. Но не более того.
Для всех желающих личечка открыта, для нежелающих, впрочем, тоже, но я не уверен, что с нежелающими в данный момент у меня получится диалог :)
Название: Программа-просмотрщик объектов: требуется помощь программиста!
Отправлено: Maxim от 24 июля 2017 02:34:39
Да не, Борис всё правильно говорит. Я уже об этом думал когда-то. Опять накопится тыща картинок и каждый раз когда ты будешь заходить в эту папку — будешь сталкиваться с хаосом. Уже не говоря о том, что при заходе папка будет слегка подтормаживать, обрабатывая большое количество эскизов изображений, а если ты хочешь отобразить списком, а модели ещё и называть так, чтобы потом легче поиском найти или визуально пролистать, то для этого нужно упорядочивание по имени, а это тоже приводит к подтормаживанию папки.

Не знаю что вы там говорите про кучу месяцев работы. Вот упомянутая мной программа T2OLv3complete была писана наверняка кем-то тоже не гениальным программером и вряд ли кучу аж времени.
Но я примерно представлял, что программисты обязательно скажут, что это долгая затея с кучей кода. И на всякий случай держал в голове костыль: можно сделать хотя бы каталогизатор как эта самая T2O. Потому что там тупо скриншот модели, никакого рендера на лету. Мы в состоянии после каждого окончания работы над моделью делать скриншот. Просто нужен каталогизатор с возможностью поиска или какой-то разбивкой на категории/иерархии и чтобы подгружалось небольшое окошко скриншота (как в T2O) выделенной в списке модели. И получается нужна возможность добавления пользователем в базу скриншота и названия модели.
Можно хотя бы сделать что-то вроде "дневника"?
Название: Программа-просмотрщик объектов: требуется помощь программиста!
Отправлено: Zontik от 24 июля 2017 09:48:43
ЦитироватьНо у вас с Кипером при слове "блендер" бизаччотный ужос.
Не Блендер страшен сам по себе, а предлагаемый метод, уж больно смахивающий на протез. Ну примерно как если бы кто-нибудь предложил просматривать фотографии с помощью Фотошопа. Возможно такое? Вполне.
Но я допускаю, что те, у кого Блендер уже стоит и они с ним работают, могут прямо сейчас взять твой скриптик и с удовольствием им пользоваться. Надеюсь, хотя бы "спасибо" они тебе скажут.
ЦитироватьТебе ту статику надо по-любому отрендерить
Жаль.
ЦитироватьВ общем это как минимум на 6-12 месяцев разработки (одному человеку), если он не будет ходить на работу, жить личной и семейной жизнью и есть 1 раз в день перед компом.
Это реальная оценка? Тогда отсутствие интереса становится понятным.
(Некоторые ФМ примерно в таком режиме и делаются. Но тут есть разница: в последнем случае отсутствует капризный заказчик. И автору не придется все переделывать с нуля только потому, что он неверно понял какой-то пункт из техзадания.)
ЦитироватьМожно хотя бы сделать что-то вроде "дневника"?
"Открытая" СУБД? Тоже вариант, хотя и тут сейчас программисты обломают, почти уверен.
А все-таки интересно, вот этот view.exe производит неизгладимое впечатление программы, сделанной на коленках (даже, скорее, на одной коленке), и уж никак не за 6-12 месяцев. Либо это неудачный эскиз гения, либо все на самом деле не настолько уж сложно.
Название: Программа-просмотрщик объектов: требуется помощь программиста!
Отправлено: nemyax от 24 июля 2017 10:01:46
Цитата: Zontik от 24 июля 2017 09:48:43вот этот view.exe производит неизгладимое впечатление программы, сделанной на коленках (даже, скорее, на одной коленке), и уж никак не за 6-12 месяцев
Потому он никуда и не годится. Особенно в образцы для подражания.
Название: Программа-просмотрщик объектов: требуется помощь программиста!
Отправлено: Chuzhoi от 24 июля 2017 10:05:50
Согласен с предыдущими ораторами-скептиками. Написать такую программу даже в самом базовом варианте - весьма сложная и объемная работа. Я бы сравнил ее с созданием очень большой и серьезной ФМ-ки или даже кампании для Thief. И это совершенно точно сложнее, чем написать просто плагин для импорта в какую-нибудь готовую программу - ведь это потребует не только знания языка и формата Bin, но и знание какой-нибудь GUI-библиотеки и Direct3D/OpenGL, умения правильно обрабатывать события мыши для вращения модели, и проч, и проч. Мне даже страшно подумать, сколько времени заняла бы лично у меня разработка такой программы, но, подозреваю, ложка была бы совершенно не к обеду (да, у меня есть некоторые базовые знания, и я даже мог бы показать одну безделушку и одну не совсем безделушку, написанные в прошлом десятилетии, если публика возжелает; но, во-первых, сколько пришлось бы еще изучить или хотя бы просто вспомнить, учитывая, сколько воды утекло с тех пор; более того, боюсь, в нынешних обстоятельствах мой разум просто не выдержал бы такого сидения на двух стульях и вам бы пришлось носить передачки в соответствующее заведение, ибо по работе мне тоже приходится кодить; программирование - это интересный, но весьма тяжелый интеллектуальный труд, если кто не в курсе). Так что извините. Рад бы внять душевному крику и помочь, но...

Цитата: nemyax от 21 июля 2017 12:54:49
Вы бы что называется поисследовали бы рынок. Вдруг уже существует похожий просмотрщик моделек с поддержкой плагинов и достаточно было бы добавить плагин для даркошных форматов.
Все, что я пока нашел - это Open 3D model Viewer (http://open3mod.com/). Кажется, должен работать на XP (в системных требованиях указан Win32), но я не проверял. Плагинов в чистом виде, как мне показалось, там нет, но он Open Source, что позволяет его модифицировать. Сам просмотрщик написан на C#, но для импорта он использует библиотеку Assimp, которая написана на C++. В нее теоретически и, думаю, даже практически можно добавить поддержку формата bin. Правда, я не знаю, можно ли там указывать для моделей пути к текстурам или они должны лежать в одной папке с моделью, но, надеюсь, этот вопрос решаем. Но все равно для среднестатистического программиста-любителя, работающего по паре часов в день, это займет достаточно много времени - ведь нужно разобраться в формате bin и понять, как его преобразовать во внутренний формат этой библиотеки, плюс нужно достаточно хорошо шарить в C++. Так что тут, боюсь, работы тоже не на одну неделю и даже не на один месяц. Но все равно это побыстрее будет, чем создавать подобный просмотрщик с абсолютного нуля. И плюс функциональность пониже будет, чем хотят наши авторы (если только этот же или какой-нибудь другой энтузиаст не захочет доработать сам просмотрщик) - но, по крайней мере, при грамотном написании модуля импорта это должно быть надежно.

***

А кто-нибудь серьезно юзал связку BintoE + Eto3DS? Нормально ли работают эти утилиты? Все ли модели берут, ничего не искажают? Нормально ли переносят развертку, имена текстур (с расширениями)?

Я к тому, что можно предложить следующий сценарий. Пишется относительно несложный скрипт, который запускается по клику на bin-файле и действует следующим образом:
1. Конвертирует модельку из bin в E c помощью BintoE.
2. Сканирует имена текстур в E.
3. Ищет данные текстуры в исходной папке модели, а также в подпапках txt и txt16.
4. Конвертирует модельку в 3ds с помощью Eto3DS.
5. Пишет полученную 3ds-модельку с текстурами в некую временную папку
6. Запускает какой-нибудь готовый просмотрщик 3ds-моделей, поддерживающий 3ds (любой на вкус автора миссии; скажем, это может быть тот же Open 3D model Viewer).
7. Если требуется показать имена используемых текстур, их можно отобразить в консольном окне Windows (хотя Open 3D model Viewer тоже их показывает). Можно даже попробовать извлечь из E-файла габариты модели, хотя это уже несколько сложнее.
8. По закрытии просмотрщика временная папка удаляется.

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

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

Но первичное условие такое: эти две утилиты должны безупречно работать. Иначе вся затея летит в тартарары. Посему на первом этапе нужна их тщательная проверка на самых разных моделях. Я вот вчера попробовал сконвертировать свои последние модели, которые делал для Зонтика - BintoE виснет. Но мои модели - это не совсем показатель, т. к. я превысил в них все мыслимые пределы и конвертировал их с ключом -N, который отключает BSP-дробление (с ним модели зашкаливают за 300 кб, при норме примерно в 120 кб). Но более простые модели конвертируются нормально, так что, может быть, и с большинством остальных моделей все будет хорошо - ну, хочется надеяться, что лучше, чем со стандартной гляделкой. Мне, к сожалению, пока некогда тестировать, но если кто имел на практике дело с этими утилитами, может высказаться или потестировать сам.
Название: Программа-просмотрщик объектов: требуется помощь программиста!
Отправлено: Zontik от 24 июля 2017 10:17:08
Боюсь огорчить, но у меня эта связка редко работает нормально. Практически я уже исключил ее из числа доступных утилит. Что съезжают текстуры с некоторых полигонов - это только половина беды. Некоторые модели не конвертируются в принципе.
Да и потом, сейчас все больше появляется моделей, сделанных с нарушениями.
Название: Программа-просмотрщик объектов: требуется помощь программиста!
Отправлено: HellRaiser от 24 июля 2017 10:26:54
ЦитироватьЭто реальная оценка?
Нет, весьма условная. Но вероятность больше, что дольше.

Цитата: Chuzhoi от 24 июля 2017 10:05:50
если публика возжелает
Возжелает :yes:

Цитата: Chuzhoi от 24 июля 2017 10:05:50
разве что с дополнительной иллюминацией из консольных окон.
Можно и без иллюминации. Но эт так - мелочи уже.

Цитата: Zontik от 24 июля 2017 10:17:08
Боюсь огорчить, но у меня эта связка редко работает нормально.
Как бы узнать бы, может хде-то в далёком и кем-то припрятанном архиве лежат сорсики этих утилит... Наверняка автор новодарка в курсе, или кто-то с TTLG. Не пробовали узнавать?
Название: Программа-просмотрщик объектов: требуется помощь программиста!
Отправлено: nemyax от 24 июля 2017 10:30:53
Цитата: HellRaiser от 24 июля 2017 10:26:54
Как бы узнать бы, может хде-то в далёком и кем-то припрятанном архиве лежат сорсики этих утилит
Та зачем они тебе. Все структы формата определены в mds.h.
Название: Программа-просмотрщик объектов: требуется помощь программиста!
Отправлено: HellRaiser от 24 июля 2017 12:56:29
Цитата: nemyax от 24 июля 2017 10:30:53
Та зачем они тебе.
Да чёто лениво самому костылить очередной велосипед. Да и просто попялиться, как другие говнокодят интересно жеж.
Название: Программа-просмотрщик объектов: требуется помощь программиста!
Отправлено: Maxim от 24 июля 2017 14:29:40
Цитироватьметод, уж больно смахивающий на протез. Ну примерно как если бы кто-нибудь предложил просматривать фотографии с помощью Фотошопа.
+ 1000
Нужна полноценная утилитка. Я даже не говорю грозное слово "программа". Неужели нельзя уже на какой-то базе сделать своё? Наверное же есть какие-то базовые оконные "скелеты", которые даже не супер-программист способен адаптировать под определённые нужды/условия.
Nemyax, исследовать рынок не получится у нас хотя бы потому, что нет таких сведений как у тебя и у тех, кто интересовался программированием.
ЦитироватьНо у вас с Кипером при слове "блендер" бизаччотный ужос.
Зато у меня нет этого "ужоса" при слове Wings. Я единственный здесь, кто уцепился за него после твоих постов. Тебя это не радует?

[off]Немаекс и ХэллРэйзер, вот насчёт этого постоянного коверканья языка... (а чаще всего именно вы так пишите). Вроде бы мода на всякие албанские и шуточные производные в духе "ужос-нах, превед-медвед" прошла ещё лет 6-7 назад. А вы всё до сих пор. Это уже давно не прикольно. А Аццкий ещё и сквернословит постоянно завуалированно.
Now, I'm not some kind of Gramma-Nazi! It's just..... Видел на форуме мнения какое тут, дескать, культурное и интеллектуальное Сообщество, а не какие-то говно-блоги попсовых геймеров. Очень культурное...[/off]
Название: Программа-просмотрщик объектов: требуется помощь программиста!
Отправлено: nemyax от 24 июля 2017 14:40:26
Цитата: Maxim от 24 июля 2017 14:29:40есть какие-то базовые оконные "скелеты", которые даже не супер-программист способен адаптировать под определённые нужды/условия
Да всё есть, но графические библиотеки не умеют программировать за тебя. Кто в жизни не написал ни строчки кода, тому кажется, что всё просто и всё готовое. Это счастливые люди. Но когда подают голос те, кто уже, как говорится, в цирке не смеётся, тогда счастливым людям стоит прислушаться.
И поймите, человек не будет забесплатно делать нечто, чем не собирается пользоваться сам.
Название: Программа-просмотрщик объектов: требуется помощь программиста!
Отправлено: Zontik от 24 июля 2017 14:56:44
ЦитироватьИ поймите, человек не будет забесплатно делать нечто, чем не собирается пользоваться сам.
Ну что ж, могу предложить бартер. Может, и я наконец что-то получу.
Название: Программа-просмотрщик объектов: требуется помощь программиста!
Отправлено: HellRaiser от 24 июля 2017 15:20:46
[off]Maxim, ну ещё иногда имеют место очепяточки, печатать приходится быстро, проверять некогда, да ещё и с разных девайсов (особенно сенсорных с автозаменой - к ним быстро привыкаешь, хотя автоменяют они порой совсем не то и не на то что нужно). Смымсл сказанного понятен и ладно, мы же в свою очередь до специфических говоров некоторых персонажей не докапываемся :sly:
[/off]

Цитата: Zontik от 24 июля 2017 14:56:44
ЦитироватьИ поймите, человек не будет забесплатно делать нечто, чем не собирается пользоваться сам.
Ну что ж, могу предложить бартер. Может, и я наконец что-то получу.
Ну или ради приобретения опыта (а в моём случае было бы идеальным лекарством от скуки, только вот поскучать пока некогда). А какой бартер ты имеешь в виду, если не секрет?
Название: Программа-просмотрщик объектов: требуется помощь программиста!
Отправлено: Zontik от 24 июля 2017 16:04:17
Мне - утилиту, от меня - кампанию. А что еще я могу предложить?
[off]Не по-христиански это - автозаменой прикрываться. Уж я-то как-нибудь отличу намеренную опечатку от случайной, а машинную - от человеческой.[/off]
Название: Программа-просмотрщик объектов: требуется помощь программиста!
Отправлено: HellRaiser от 24 июля 2017 16:26:37
[off]Про опечатки я так, чтобы имели в виду и не переживали по этому поводу, есличо. Случайную опечатку от намеренной ессессно мона отличить невооружонным глазом, понятное дело. Кроме нужной буквы в слове "херошо". А вот с автозаменой недавно был весьма забавный момент: [spoiler]обсуждали с дружбаном ремонт в санузле поздно вечером, дык вот у него вайбер автозаменял "спать" на "срать", а у меня - наоборот.[/spoiler]. И когда ты тапаешь пальцами по грязному мелкому сенсору ай-педика, едя за рулём после погрузки грязных мешков с плиточным клеем, другим глазом смотря на дорогу, какбе очень хочеццо, чтобы исправлялось только то, что хочеццо, а не то что ты намеренно исковеркал. Порой "вт такоц неяитаемыц тйткт призолитсч чтттть" и переводить на русский (самому не замечая того, что пишешь примерно такую же шифровку).
Ну и да, про сквернословие. Ну куда же без него-то в этой стране? Если я скажу что "идея была плохой" - игнор, если я скажу, [spoiler]"идея была 3.14здец какой х@ёвой"[/spoiler], то уже немного меняет эмоциолнальную окраску, не так ли? [/off]
Название: Программа-просмотрщик объектов: требуется помощь программиста!
Отправлено: Zontik от 24 июля 2017 16:33:58
[off]
Цитироватьхочеццо
Об этом же речь, если я понял правильно. Просто не злоупотребляй, если можешь, и всем будет проще. Мне тоже порой начинает глаз резать. А последний шедевр от nemyax я расшифровывал минут пять. Сколько мог бы скриншотов наделать за это время...
[spoiler]Раз уж не хочешь утилиту писать, пойди хотя бы на мелкие уступки, а? В твоем досье у S007 все это учтется.[/spoiler][/off]
Название: Программа-просмотрщик объектов: требуется помощь программиста!
Отправлено: HellRaiser от 24 июля 2017 16:50:43
[off]
Цитата: Zontik от 24 июля 2017 16:33:58
Просто не злоупотребляй, если можешь, и всем будет проще.
Да я вроде и не злоупотребляю (ну, то есть злоупотребляю, только другими вещами).
Цитата: Zontik от 24 июля 2017 16:33:58
[spoiler]Раз уж не хочешь утилиту писать, пойди хотя бы на мелкие уступки, а? В твоем досье у S007 все это учтется.[/spoiler]
[spoiler]Кто сказал не хочу? Я же чуть выше почти подписался предложил посильную помощь в качестве соучастника, дело за малым - собрать команду погромистов[/spoiler].
[/off]
Название: Программа-просмотрщик объектов: требуется помощь программиста!
Отправлено: Zontik от 24 июля 2017 17:22:00
[off]Ага, ты пойдешь команду собирать, и не будет нам ни албанского геноцида, ни утилиты. Выкрутился. Нет, я не согласен на бартер на таких условиях.[/off]
Название: Программа-просмотрщик объектов: требуется помощь программиста!
Отправлено: Призрак Boris'а3000 от 25 июля 2017 01:08:20
[off]
Цитата: Zontik от 24 июля 2017 16:33:58
А последний шедевр от nemyax я расшифровывал минут пять.
Этот шедевр был абсолютно оправдан смысловым содержанием. Необходимо было не просто констатировать факт неприятия Блендера, но и высмеять его (факт), показав, что он абсурден и нелогичен. Соответственно факту и набран текст -- абсурдно. Там, где сарказм, обычные правила не действуют -- там становятся применимы и несуществующие слова, типа "ихний", и разного рода коверкания и передразнивания, и не только на олбанЦкий манер.
В каких-нибудь других случаях ваши претензии были бы полностью обоснованы, но здесь -- пожалуй, сложно найти более неподходящий момент для их излияния.

Так вот я бы лучше обратил внимание не на те отклонения от литературных норм, которые вызваны знанием дополнительных сленгов, жаргонизмов, диалектов и умением ими воспользоваться в нужный момент, а на те, которые вызваны ленью и/или набором текста на уёпищных (извините) ай-педиках, на которых ничего по-человечески сделать не возможно, и которые не несут абсолютно никакой дополнительной смысловой нагрузки -- всякие "нра", "кажет", висящие в воздухе "доставляет", "годный" и т. д. и т. п (тыр-пыр-нра-гыы, зато с ай-педиком -- истинное лицо прогресса). Вот настоящие язвы на теле языка! Но они почему-то ни у кого баттхерта не вызывают, а если и вызывают, то не до такой степени, чтоб он вырвался наружу.
С "годным" так ситуация вообще критическая, т. к. у многих товарищей здесь уже практически стёрлось восприятие его как сленгового, когда оно висит в воздухе, и они шпарят этим "годным" в серьёзных текстах, где даже намёка нет ни на йумар, ни на сарказм, и вообще нет больше никаких иных отклонений от правил. Я так и вижу, как в военкомате ставят штампик не "Годен к военной службе", а просто "Годен". Или ещё лучше -- "Годный". :lol: И вот это уже НЕзнание. И это плохо. А не когда кто-то наоборот знает свыше правил.[/off]
Название: Программа-просмотрщик объектов: требуется помощь программиста!
Отправлено: HellRaiser от 25 июля 2017 11:38:59
Цитата: Zontik от 24 июля 2017 17:22:00
[off]Ага, ты пойдешь команду собирать, и не будет нам ни албанского геноцида, ни утилиты. Выкрутился. Нет, я не согласен на бартер на таких условиях.[/off]
Я не собираю команду, я призываю к соучастию, как там тамплиеры говорили: "к сочувствию общему делу (нашему ордену)". В одиночку такое лепить - это долго. А парочка подмастерий, или один профессионал прицепом - уже лучше чем ничего. И пинать друг дружку можно, а то забыл/забил/отложил ну и т.д. Чтобы сделать годную утилиту, надо делать её не на коленке.
Чужой, ты обещал свои исходники (или бинарники) вынести на суд обсчественности, нуихде?
Ребята, давайте жить дружно действовать коллективно, а тему переименуйте всё же в "...требуется помощь программистов!".
Название: Программа-просмотрщик объектов: требуется помощь программиста!
Отправлено: Chuzhoi от 25 июля 2017 11:40:52
Цитата: HellRaiser от 25 июля 2017 11:38:59
Чужой, ты обещал свои исходники (или бинарники) вынести на суд обсчественности, нуихде?
Терпение.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: HellRaiser от 26 июля 2017 16:49:21
Короче, я поскрёб по сусекам у себя в архивах пошарился и нарыл заготовочку для смотрелки[spoiler], хотя такую фигню я за пару часов с нуля накидаю. Только нет этих часов, к сожалению[/spoiler]. Там пока всё примитивно, будут только элементы управления: 2 панельки - собственно сам вид и деревцо чего-нибудь (ну например какую-то иерархию можно воткнуть). Сингл-документ (для тех кто в курсе). Все красоты и интеллектуальную собственность я оттуда повыкидываю и представлю на суд общественности первый скрин, но не раньше, чем на следующей неделе. Хотели простенько - будет простенько. Помусолим его с вами и перетрём -  что ещё, как и куда можно вставить/изменить/добавить и дело останется за малым, т.е. самОй функциональной частью ;D

В данный момент работаю над поиском какого-нить примерчика без наворотов о том, как люди с OpenGL работают, тоже пока в своих архивах. Более того, нарыл ещё один ооооочень полезный примерчик кое-чего, но это уже секретная информация.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Chuzhoi от 27 июля 2017 01:27:17
[off]Короче, вот не совсем безделушка:
http://chuzhoi.city/files/nmtools.zip
Это небольшой набор фотошоповских фильтров для обработки карт нормалей. Инструкция внутри архива.

А вот безделушка:
http://chuzhoi.city/files/railroad.zip
Это мини-симулятор железной дороги. Первый опыт в C++. Модели тоже мои (хотя делались не для этого).

Исходники прилагаются. Если кто-то захочет это перекомпилировать, могу дать дополнительные разъяснения и выслать необходимые SDK (там используются такие  версии, каких, наверное, уже и не сыскать - по крайней мере, для Фотошопа). Если у кого-то возникнет вопрос, почему вот здесь сделано так, а не иначе - тому, наверное, лучше сесть на машину времени, переместиться в 2005-2006 год и спросить меня тогдашнего. Впрочем, насколько я помню, с DF никто не прилетал.
[/off]
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: HellRaiser от 27 июля 2017 01:43:55
[off]
Цитата: Chuzhoi от 27 июля 2017 01:27:17
Если у кого-то возникнет вопрос, почему вот здесь сделано так, а не иначе...
В приличных обществах подобные вопросы не задают. А если и задают, то получают канделябром по мордасам ;)
[/off]
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Призрак Boris'а3000 от 27 июля 2017 02:45:34
Цитата: Chuzhoi от 27 июля 2017 01:27:17
А вот безделушка:
http://chuzhoi.city/files/railroad.zip
Пришлось поломать голову, как освободить мышку из плена. Судя по ридми на инглише, не совсем безделушка. Как понимаю, она софтовая, раз адски грузит процессор? Вопрос -- что мешает написать софтовый просмотрщик?
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: HellRaiser от 27 июля 2017 09:40:47
Цитата: Boris3000 от 27 июля 2017 02:45:34
Как понимаю, она софтовая, раз адски грузит процессор?
D3d.

Цитата: Boris3000 от 27 июля 2017 02:45:34
Вопрос -- что мешает написать софтовый просмотрщик?
Да вобщем, ничего, кроме того, что это уже будет изобретением не велосипеда, а двигателя внутреннего сгорания. Момент №2: это будет выглядеть убого, работать медленно, как бы там не усрались оптимизировать. У меня ещё для ДОСа валялись программки-курсовички: рисовалки транзисторов по заданной 3д-модели (которую забить надо было жёстко в коде, ну да ладно). В общем, в подробности окунаться не будем, но довольно приятная bgi-графика не вытягивала подобных "красот". Сейчас всё наверное попроще, но всё равно - лучше чем первая халфа в софтварном режиме, эта штука выглядеть не будет. А работы по сути - написать свой драйвер (свою графическую библиотеку - чуть упрощённый аналог D3d/OpenGL), что есть совсем не тривиальная задача.

[off]
ЗЫ: Чужой, мне очень понра. Пробежался косым взглядом по коду - смотреть приятно. А учитывая, что это твой первый опыт, то вообще крутотень! Я бы точно в 2006-м так сделать не смог =))
[/off]
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Zontik от 27 июля 2017 10:24:03
ЦитироватьСейчас всё наверное попроще, но всё равно - лучше чем первая халфа в софтварном режиме, эта штука выглядеть не будет.
Я понимаю, конечно, что делать примитивные и некрасивые вещи скучно и неинтересно. Но нам ведь и не нужны красота и разрешение как для проектора в Имаксе. Пускай выглядит хоть как второй Вор в 640х480 и с дизерингом, да хоть в ч/б, это не помешает опознать модель. Назначение сугубо утилитарное, а не для того, чтобы потом лет через десять кто-то открыл исходники и ахнул.
Хотя да... снова понимаю. Свой интерес, как ни крути, обязан присутствовать.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: HellRaiser от 27 июля 2017 10:37:06
Да не, дело как раз не в этом. Просто с готовой библиотекой оно как раз будет в разы проще. Только надо разобраться, как с библиотекой работать, какие готовые функции она предоставляет. А если самому всё это писать и попиксельно выводить на экран, то выйдет дрянь, реализованная десятками (если не сотнями) тысяч строк совершенно бесполезного и никому ненужного кода. Поэтому, нефиг выделываться, а то так и до рендера собственного производства доползём, а это ни много ни мало - половина движка компутерной игры.

Кстати, только чейчас дошло:
Цитата: Boris3000 от 27 июля 2017 02:45:34
Судя по ридми на инглише, не совсем безделушка.
Борь, не обращай внимания - ничего особенного. Это всего лишь стандартное ридми, которое студия генерит вместе с заготовкой проекта.

UPD:
А вот с гуём мы выделываться (пока) не будем - никаких там рибборнов, wpf и прочих красивых (а-ля блендер/фотошоп) контролов. Всё стандартненькое, минималистичное, шиндовс95-стайл :)
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Chuzhoi от 27 июля 2017 11:09:18
Цитата: HellRaiser от 27 июля 2017 09:40:47
[off]
ЗЫ: Чужой, мне очень понра. Пробежался косым взглядом по коду - смотреть приятно. А учитывая, что это твой первый опыт, то вообще крутотень! Я бы точно в 2006-м так сделать не смог =))
[/off]
[off]Спасибо. Я вот тоже посмотрел код - эх, думаю, как я основательно подошел...[/off]
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Maxim от 27 июля 2017 11:11:58
HellRaiser Спасибо за интерес и начинания!  :up:

А вот скриншот T2OComplete.

(http://i.piccy.info/i9/4592658121d7ade412b42c0967fdb550/1501143105/104380/1159022/2017_07_27_111046.jpg)

Просто просмотрщик. Да, дизайна там никакого нет. А он и нафиг не нужен. Нам же рабочий инструмент надо, а не кнопочки разглядывать.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: HellRaiser от 27 июля 2017 11:17:30
Maxim, да, минимализм это очень хорошо. Ничего лишнего.
А вот что у меня есть. Но это готовая софта, так что вы внимания не обращайте пока.
(https://s26.postimg.org/a449vm7m1/010.png)
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Zontik от 27 июля 2017 14:54:17
У минимализма есть один плюс, на который никто не обращает внимания, пока его не лишится. Это скоростной старт. Программу не нужно весь день держать открытой в страхе перед повторным ее запуском (как поступаю я с Фотошопом на работе).
Я хорошо понимаю тех, кому хочется украсить свое творение хоть каким-нибудь бантиком. Да пускай, лишь бы чувство меры не изменяло. Слава богу, у нас здесь маркетологи пока не завелись.
[off]Вот что стоило Дуболомущиту добавить к картинке номер в иерархии, а? Все эти номера жестко забиты в Dark.gam, они точно так же статичны, как и картинки, а процедура поиска упростилась бы в разы.[/off]
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: HellRaiser от 27 июля 2017 15:25:57
Zontik, сейчас я тебя немного огорчу. Инициализация окна(окон) обычного виндового интерфейса и какого-нибудь wpf будут не сильно различаться по времени. Всё это время тратится на инициализацию самой программы. и дополнительных плюшек, свойственных конкретной реализации компилятора. Т.е, какая-нибудь сишарпная прога сначала запустит виртуальную среду (если не) и подкомпилируется под конкретную машину (один раз при первом запуске), подсосёт всякие сборщики мусора и прочую фигню. Делфийская прога ещё на всякий случай подгрузит свой BDE, даже в том случае, если программа с БД вообще не работает. Сишная программа тоже далеко не с main()-а начинается, но тут тоже всё зависит от типа бинарника, флагов компиляции и собственно компилятора, и даже его версии.  Ах, да, ещё и сама винда должна немного потрудиться: при запуске (помимо стандартных системных процедур запуска ) надобно проверить все зависимости, найти все длл-ки, на которые ссылается программа (в 3-х местах!), подгрузить их, если надо... 

Второй этап - это инициализация данных, всякие подготовительные работы уже внутри программы. Кому-то нужно сразу свопа закешировать, кому-то данные какие-нть внутренние рассортировать, и т.д.  Вот фотошоп, например, так долго грузится (в плюс к перечисленному) из-за наличия системы плагинов, ему надо прошерстить каталоги, найти нужный файл, проверить, что этот файл на самом деле является плагином, а не мусором, подготовить список всех плагинов, чтобы потом нарисовать их в менюшках и т.д. Всё это и занимает уйму времени, которое на слабеньких машинах растёт в геометрической прогрессии. Здесь же (как я понял) необходимо просканировать какой-нить каталог с модельками, нарендерить превьюшек, вывести в списочек и подгрузить разок всё в память, чтобы второй раз к диску не обращаться. Тоже время займёт какое-то.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Zontik от 27 июля 2017 16:18:10
Цитироватьнарендерить превьюшек
Не знаю, как Максим к этому отнесется, а мне такие бантики не нужны. Информативность у них околонулевая, а тормозить будет прилично. И работы программисту больше.
Лучше все ресурсы пустить на прорисовку выбранной модели, чем на кучу превьюшечек, для опознания которых понадобятся лупа и уйма воображения.
Одно дело превьюшечка для текстуры, там хоть что-то увидеть можно (а некоторые так и вообще в полный рост). В случае с 3D моделью, да еще в неудачном ракурсе, мы будем иметь картинку ради картинки.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Призрак Boris'а3000 от 27 июля 2017 23:55:14
[off]
Цитата: HellRaiser от 27 июля 2017 09:40:47
D3d
А почему она тогда так грузит процессор и не желает синхронизироваться с частотой обновления монитора?[/off]
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Chuzhoi от 28 июля 2017 02:50:37
[off]
Цитата: Boris3000 от 27 июля 2017 23:55:14
А почему она тогда так грузит процессор и не желает синхронизироваться с частотой обновления монитора?
Не знаю. У меня она грузит процессор на 8-10%, а FPS равен 60, т. е. частоте монитора. У тебя не так?[/off]
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: HellRaiser от 28 июля 2017 02:57:14
[off]
Цитата: Boris3000 от 27 июля 2017 23:55:14
А почему она тогда так грузит процессор и не желает синхронизироваться с частотой обновления монитора?
Ну наверное, потому что Чужой правильно выразился - безделушка. Видно же, что человек просто упражнялся, хоть и к коду подошёл в другом смысле серьёзно. D3d - это всего лишь набор функций, а не всемогущий горошочек с кашей :biggrin: Протокол TCP существует уже тыщу лет, в куче разных реализаций, но чтобы сделать годную программу, которая тупо гоняет пакеты - необходимо попотеть. Библиотека или даёт возможность не изобретать велосипед, или открывает некий фунционал (обычно это всякие SDK). Но она не делает вообще всё за тебя (хотя более свежие версии пытаются инкапсулировать всё больше плюшек, чтобы в конечном итоге программизм как род занятий мог быть доступен даже дегенератам). Я в код пока особо не вглядывался и с самой directX SDK тоже никогда не работал, но предположу, что там есть некоторые нюансы, есть что пооптимизировать (или погонять именно на такой машине как у тебя), но это же всё  - дополнительный кодинг, лишние условия, которые могут вообще выполниться или не выполниться только на конкретной машине. Так что не придирайся :)
[/off]

Цитата: Chuzhoi от 28 июля 2017 02:50:37
Не знаю. У меня она грузит процессор на 8-10%, а FPS равен 60. У тебя не так?
Кстати да, я тоже ничего подозрительного не заметил. Видимо правило "на моём компе работает" тут имеет место. Но и на моём  гладенько всё. Так что вот да (см выше ) - это же не корпоративный софт, который проверяют на всевозможных конфигурациях: свою поставленную задачу выполняет - и ладно.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Chuzhoi от 28 июля 2017 03:25:27
[off]Я думаю, у Бориса просто по каким-то причинам не включилась синхронизация, поэтому на его машине программа просто бешено бегает по кругу, загружая процессор на 100% и выдавая, к примеру, 800 fps. А у нас с тобой она включилась, поэтому процессор после рендеринга каждого кадра простаивает, и в итоге грузится несильно. Почему не включилась - трудно сказать. Я крайне бегло посмотрел код и не нашел навскидку какого-то специального вызова функции или какого-то аргумента при вызове функции, управляющего синхронизацией. Более того, я совершенно не помню, придавал ли я какое-то значение синхронизации, когда писал программу - ведь это было 12 лет назад, а глубоко сейчас влезать в этот код совершенно недосуг. Могу предположить, что параметры синхронизации в программе вообще никак не задаются и оставлены на откуп системе или DirectX'у, которые у Бориса более старых версий (XP и 9), и по умолчанию у него синхронизация выключена, а у нас, в более новых ОС/DirectX, по умолчанию включена. Других версий у меня нет. Ради эксперимента Борис может попробовать принудительно для данного приложения включить синхронизацию через нвидиевские драйверы.[/off]
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Призрак Boris'а3000 от 28 июля 2017 04:22:15
[off]
Цитата: Chuzhoi от 28 июля 2017 02:50:37
У меня она грузит процессор на 8-10%, а FPS равен 60, т. е. частоте монитора. У тебя не так?
Даже отдалённо не так.
Загрузка процессора -- 25%. 25% от квада -- это попросту одноядерный проц на 100%. Топовое ядро 2008-2009 годов на частоте 4.1 ГГц грузится на 100% чисто графической программкой, написанной в 2005-ом. Там ведь нет просчёта физики, да?
ФПС -- 55-60 при частоте обновления 70 Гц. Тут можно предположить, что она попросту тормозит, поэтому и нет синхронизации, а загрузить квад больше, чем на четверть, она не может, т. к. однопоточная.

Но и 10% -- это слишком много для более-менее современных процов. У меня такая загрузка при воспроизведении ДВД-видео, да и то лишь на пиках, в основном -- 3-5%.

Цитата: Chuzhoi от 28 июля 2017 02:50:37
у Бориса просто по каким-то причинам не включилась синхронизация, поэтому на его машине программа просто бешено бегает по кругу, загружая процессор на 100% и выдавая, к примеру, 800 fps
Нет, со скоростью всё в порядке. Процессор -- да, на 100%, если не брать в расчёт лишние ядра. А фпс 55-60.

Цитата: Chuzhoi от 28 июля 2017 02:50:37
параметры синхронизации в программе вообще никак не задаются и оставлены на откуп системе или DirectX'у, которые у Бориса более старых версий (XP и 9)
Но ведь и программка была написана в 2005-ом, а не сейчас.

Цитата: Chuzhoi от 28 июля 2017 02:50:37
по умолчанию у него синхронизация выключена
Обижаешь. :biggrin: Такие вещи как вертикальная синхронизация, анизотропная фильтрация и антиальясинг у меня всегда включены.


Цитата: HellRaiser от 28 июля 2017 02:57:14
Но она не делает вообще всё за тебя
Я тут при чём? Она должна делать не за меня, а за процессор. Если используется D3D, то нагрузка должна лечь на видеокарту, разгрузив проц -- ради этого ж и задумано. В такой программке загрузка процессора должна болтаться в районе нуля, и даже в софтовом режиме не должна и близко доходить до 100% одного ядра.[/off]
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Zontik от 28 июля 2017 09:47:08
[off]Chuzhoi, ты халтурщик. Ну-ка быстро пошел и исправил! Чтоб завтра же у Бориса все работало как часы.[/off]
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Chuzhoi от 28 июля 2017 14:59:57
[off]Уже. Борис таки соблазнил меня посмотреть код повнимательнее. Оказалось, что насчет софтового режима Борис отчасти прав. Устройство Direct3D инициализировалось следующим образом:

gpD3D->CreateDevice (D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hWnd,
                                  D3DCREATE_SOFTWARE_VERTEXPROCESSING,
                                  &d3dpp, &gpD3DDev)

D3DDEVTYPE_HAL означает, что используется аппаратное 3d-ускорение, но D3DCREATE_SOFTWARE_VERTEXPROCESSING означает, что геометрические преобразования Direct3D будет делать программно. Это, вероятно, я сделал затем, чтобы обеспечить совместимость с самыми древними 3d-ускорителями, которые умели аппаратно накладывать текстуры, но еще не умели делать геометрические преобразования - подобные ускорители тогда еще были в некотором ходу. Чтобы включить аппаратные геометрические преобразования, нужно заменить D3DCREATE_SOFTWARE_VERTEXPROCESSING на D3DCREATE_HARDWARE_VERTEXPROCESSING (что я и сделал).

Заодно я разобрался, как отключить вертикальную синхронизацию (без этого на моей машине разница в FPS в вообще не видна). Нужно установить в D3DPRESENT_PARAMETERS следующее поле:
d3dpp.PresentationInterval = D3DPRESENT_INTERVAL_IMMEDIATE;

Архив обновил: http://chuzhoi.city/files/railroad.zip
Там теперь четыре бинарника, имена которых говорят сами за себя (один исходный и три новых). Исходный называется Railroad (Software vertex processing).exe. По идее, Railroad (Hardware vertex processing).exe - это окончательный, "релизный" бинарник. Также в целях тестирования я добавил варианты с отключенным VSync.

У меня с отключенным VSync FPS примерно такой:

Vertex processingТоварный поезд"Пассажирский" поезд
Hardware9001500
Software500750

Двухъядерный Core i3 6100 грузится при этом на 47-49%.

Мне интересно - неужели одно ядро бюджетного процессора 2015 года аж  в 10 раз быстрее одного ядра топового процессора 2008-2009 года? Да не может быть.
[/off]
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Zontik от 28 июля 2017 15:45:51
[off]Беру "халтурщика" обратно.[/off]
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: HellRaiser от 29 июля 2017 03:22:13
чёт вы господа заофтопились.

Цитата: Boris3000 от 28 июля 2017 04:22:15
Цитата: HellRaiser от 28 июля 2017 02:57:14
Но она не делает вообще всё за тебя
Я тут при чём? Она должна делать не за меня, а за процессор. Если используется D3D, то нагрузка должна лечь на видеокарту, разгрузив проц -- ради этого ж и задумано. В такой программке загрузка процессора должна болтаться в районе нуля, и даже в софтовом режиме не должна и близко доходить до 100% одного ядра.

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

Цитата: Chuzhoi от 28 июля 2017 14:59:57
...что я и сделал...
А смысл был? Работает и ладно. Хотя я б на твоём месте не билдил 3 экзешника, а всего лишь вынес настроечку например в реестр, если конфигурялку влом делать.
Цитата: Zontik от 28 июля 2017 15:45:51
[off]Беру "халтурщика" обратно.[/off]
Так ты у нас тут насяльника за старшего манагера? Нуок, я не против. Буду иметь это в виду, хотя изначально предполагал, что ты у нас тут не насяльника уберфюрер, а всего лишь авторитетный заказчик.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Призрак Boris'а3000 от 29 июля 2017 12:49:08
[off]
Цитата: Chuzhoi от 28 июля 2017 14:59:57
Railroad (Hardware vertex processing).exe
У тебя там оба хардваре написаны как Hardvare.

Цитата: Chuzhoi от 28 июля 2017 14:59:57
Двухъядерный Core i3 6100 грузится при этом на 47-49%
Это немного удивительно, т. к. у него ядра двухпоточные. Либо твоя программка, не умея задействовать более одного ядра, умеет задействовать гипертрейдинг, либо гипертрейдинг даёт прибавку всего в 1-3% производительности. Последнее, впрочем, недалеко от истины, т. к. чем совершеннее архитектура и чем более полно задействуется однопоточное ядро, тем меньший прирост даёт добавление второго потока. Это во времена четвёртых пней на 478 сокет гипертрейдинг давал процентов 30-50 прибавки, а сейчас это больше маркетинг.

Цитата: Chuzhoi от 28 июля 2017 14:59:57
неужели одно ядро бюджетного процессора 2015 года аж  в 10 раз быстрее одного ядра топового процессора 2008-2009 года?
Нет. Времена столь стремительного прогресса остались позади. Сейчас производительность растёт в основном за счёт увеличения количества ядер, а сами ядра развиваются достаточно вяло. А если их вообще к одному знаменателю привести, запустив на одной частоте, без гипертрейдинга, без SSE4.2, то даже топовое современное ядро дай бог чтоб в 1.5-2 раза оказалось производительнее, чем у Q9650 почти десятилетней давности. Что и позволяет до сих пор с этим Q9650 совершенно спокойно себя чувствовать, т. к. далеко не все программы умеют задействовать кучу ядер. Я потому его и взял в 2011-ом году, т. к. никакого смысла морочиться с полным апгрейдом не было и нет до сих пор. А когда-то такое было немыслимо -- чтоб, например, в 2000-ом году сидеть с процессором 90-го года.
Тут дело в том, что бенчмарка из твоей программки не выйдет, т. к. совершенно непонятно, что и как она там бенчмаркирует.

Если интересно померяться попугаями, то прогони Линпак (https://cloud.mail.ru/public/F5QB/P1Rqrzrnh). Он уже настроен. Просто запусти Linx.exe и нажми "Тест". Он прогонит тест один раз и выдаст гигафлопсы. У меня он выдаёт 54.1 ГФлопс, что составляет 13.5 на ядро.

Цитата: Chuzhoi от 28 июля 2017 14:59:57
У меня с отключенным VSync FPS примерно такой:

Vertex processingТоварный поезд"Пассажирский" поезд
Hardware9001500
Software500750
Я теперь потестировал потщательнее... В общем, это какой-то вынос мозга. Анализу получившиеся цифры поддаются плохо.
В видеодровах вертикальная синхронизация, антиальясинг и анизотропная фильтрация отключены. Загрузку буду приводить одного ядра. Загрузка процессора = загрузка ядра / 4.

Начну с Railroad (Software vertex processing).exe, который по идее является старым вариантом:
1) окно по умолчанию (оно запускается как раз с тем разрешением, которое нужно, -- 1024х768, но сдвинуто вниз и вправо, поэтому часть подсказок по управлению не видны), всё остальное тоже по умолчанию, кроме переключения поездов:
товарный поезд -- 38-40 фпс, загрузка ядра 0 (изредка 3%), загрузка видеокарты 1-4%
пассажирский -- 38-44 фпс, загрузка ядра 0 (изредка 3%), загрузка видеокарты 1-2%

2) развёрнутое окно (запускаю диспетчер задач и в нём "развернуть", окно фактически не разворачивается, а просто центрируется, занимая всю площадь экрана, и за его пределы ничего больше не вылезает):
товарный поезд -- 38-40 фпс, загрузка ядра 0 (изредка 3%), загрузка видеокарты 1-3%
пассажирский -- 40-48 фпс, загрузка ядра 0 (изредка 3%), загрузка видеокарты 1-2%

На этот раз загрузка адекватная, но простите, а где мои позавчерашние хотя бы 55-60 фпс? И по-прежнему это не 70 и даже не половина от 70-ти. Похоже, вертикальная синхронизация в твоей программе -- это какая-то вещь в себе, с чем она там синхронизируется, совершенно непонятно.
Во-вторых, можно увидеть, что разворот на весь экран практически ни на что не влияет. Но это под ХР. Под Семёркой же картина прямо противоположная -- по умолчанию где-то 30 фпс, а при развёрнутом -- 60. И опять-таки не 70.
Ещё одно отличие ХР от Семёрки -- под Семёркой картинка при отключённой VS, как и положено, с разрывами. А под ХР в любом случае цельная. При том что в играх и под ХР разрывы присутствуют. Чудеса да и только.


Следующий файл -- Railroad (Hardvare vertex processing).exe:
1) окно по умолчанию:
товарный поезд -- 42-48 фпс, загрузка ядра 0 (изредка 3%), загрузка видеокарты 4%
пассажирский -- 44-46 фпс, загрузка ядра 0 (изредка 3%), загрузка видеокарты 3%

2) развёрнутое окно:
товарный поезд -- 42-48 фпс, загрузка ядра 0 (изредка 3%), загрузка видеокарты 3-4%
пассажирский -- 44-46 фпс, загрузка ядра 0 (изредка 3%), загрузка видеокарты 2%

Перенос геометрии на видюху чуть её подгрузил, а вертикальная синхронизация решила синхронизироваться на чуть более высокий фпс. Разворот окна по-прежнему не оказывает под ХР почти никакого влияния.


Теперь файлы без VS.
Railroad (Software vertex processing, no VSync).exe:
1) окно по умолчанию:
товарный поезд -- 330-442 фпс, загрузка ядра 88-100%, загрузка видеокарты 21-33%
пассажирский -- 498-618 фпс, загрузка ядра 91-100%, загрузка видеокарты 27-34%

2) развёрнутое окно:
товарный поезд -- 364-486 фпс, загрузка ядра 94-100%, загрузка видеокарты 14-30%
пассажирский -- 586-748 фпс, загрузка ядра 94-100%, загрузка видеокарты 22-31%

А вот тут прекрасно виден эффект от разворота окна. Потому что абсолютно всё, что ещё отображается на экране -- рядом или поверх -- дропает фпс. И чем более навороченное это постороннее окно, тем сильнее оно его дропает. Но это опять-таки под ХР. Под Семёркой же и здесь картина противоположная -- под ней разворот файлов без VS никакого эффекта на фпс не оказывает.
То есть ХР и 7 в данном случае абсолютные антиподы -- под ХР разворот файлов с VS не оказывает влияния на фпс, а без VS -- оказывает. Под Семёркой же всё с точностью до наоборот.


Railroad (Hardvare vertex processing, no VSync).exe:
1) окно по умолчанию:
товарный поезд -- 564-572 фпс, загрузка ядра 25-72%, загрузка видеокарты 58-59%
пассажирский -- 818-838 фпс, загрузка ядра 3-94%, загрузка видеокарты 62-63%

2) развёрнутое окно:
товарный поезд -- 1196-1210 фпс, загрузка ядра 100%, загрузка видеокарты 70-71%
пассажирский -- 1800-1846 фпс, загрузка ядра 100%, загрузка видеокарты 81-82%

И вот он рекорд. Но под Семёркой у пассажирского поезда только 1070 фпс в обоих вариантах окна. Т. е. больше, чем в ХР по умолчанию, но существенно меньше, чем в ХР в развёрнутом виде.
Во-вторых, по умолчанию какая-то непонятная загрузка ядра -- всё время скачет и до 100% дотянуться не может.
В-третьих, по умолчанию рост загрузки видеокарты при переносе на неё геометрии явно неадекватен приросту фпс.


Кроме всего этого оказалось, что сглаживание радикально дропает фпс во всех режимах без VS. Даже в тех, где загрузка видеокарты не более 30%. Это выглядит, как будто сглаживание обрабатывается процессором... А так как позавчера оно у меня было включено, то этим, возможно, и объяснялась стопроцентная загрузка ядра при 60 фпс.
Если взять рекордный режим со включённым сглаживанием, то загрузка видеокарты станет 99% (видимо, это есть 100), а фпс сильно просядет. Казалось бы, узкое место в данном режиме -- видеокарта, и проц должен разгрузиться, но он как был загружен на 100%, так и остаётся.

В общем, создаётся ощущение, что D3D тут обрезан со всех концов, а не только касательно геометрии. Напоминает ддфикс, с которым навешиваемые на оригинал графические улучшайзеры заставляли тормозить процессор, а видеокарту даже нагреть толком не могли. В Нью-Дарке с этим всё гораздо лучше -- пусть через одно место, но он грузит именно видеокарту, а процессор больше не тормозит нигде и ни при каких условиях. Хотя и там и там D3D.[/off]


Цитата: HellRaiser от 29 июля 2017 03:22:13
ты у нас тут не насяльника уберфюрер, а всего лишь авторитетный заказчик
Авторитарный заказчик.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 29 июля 2017 13:39:40
Здравствуйте, друзья!

Случайно нашел эту тему и очень удивился, обнаружив тут даже упоминание о себе! Это ж какой-то инсайд! :biggrin:

А если серьезно, то да, nemyax прав. У меня процентов на 80 готово то что вам нужно и я могу этим поделиться. И да, мне очень понравилась идея бартера, которую предложил Zontik. Но обо всём по-порядку.

Эх, я откладывал этот момент до последнего, надеясь на некий reveal с вау-эффектом, скриншотами и видосиком... но раз уж так вышло, да еще и пользу можно кому-то нанести, то так и быть, будет анонс. :biggrin: Я думаю, выгоду извлекут все. Это я о том, что я уже шесть лет втихаря тружусь над своим проектом - написание собственного игрового движка для собственных же целей. И так уж вышло, что в качестве ресурсной основы я выбрал свою любимую игру - Thief. Не буду углубляться в детали, поскольку эта тема посвящена другой задаче... Но могу сказать, что bin-модели (пока только статические) этот движок успешно рисует, накладывает текстуры, камера движется, интерфейс рисуется (OpenGL-интерфейс, из полигонов, не WinAPI, не GTK...), в общем всё что вам нужно. Потребуется некоторое время чтобы сделать из этого полноценную отдельную программу, но это не годы, которые я уже потратил на это (как оказалось по счастливой случайности), а месяцы.

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

Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: nemyax от 29 июля 2017 14:00:38
Force
Запилишь отдельную тему про движок? Очень интересует, что ты придумаешь со скелетными модельками.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 29 июля 2017 14:05:05
[off]nemyax, да, но ближе к релизу публичной тестовой версии. Я очень не люблю делать анонсы на пустом месте, либо когда еще уйма работы предстоит. Есть риск не доделать и тогда получаются пустые обещания.[/off]
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Maxim от 29 июля 2017 14:07:07
То есть вы писали собственный игровой движок?  :eek: Ничёсе! А для своей получается игры или как база для создания миссий разными авторами? Редактор какой-то предполагался?
В общем, подробности интересны.
По поводу данной программы: на TTLG вроде откликнулся PinkDot и сел делать. Причём, в отличие от наших, кто заявляет что это ужас и 100 лет мороки, он вроде как сказал что без особых проблем сделает. Причём, с рендером модельки в окошке.
Но подробнее скажет Zontik.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 29 июля 2017 14:09:47
Maxim, чувак где ты был раньше? :doh:
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 29 июля 2017 14:25:21
Ладно, что сделано, то сделано. Если буду нужен - я у себя. :bigsmirk:

[off]Вкратце о движке. Начинался он в далеком 2011-м, когда лицензия на Unreal Engine 3 стоила $800 000, в связи с чем идея написания движка для своего проекта не вызывала столько бугугашечек. Плюс ко всему, мне интересно было изучить процесс создания игры "от и до". Потом времена изменились и игровые движки стали доступны простым смертным практически бесплатно. Я долго сомневался в том, нужно ли продолжить пилить то что я пилил или перейти на готовый и не париться. Но решил остаться при своих.

Редактор - DromEd, поскольку движок считывает ОРИГИНАЛЬНЫЕ mis-файлы. Почему так крупно? Потому что чуваки из NewDark'а изменили формат оригинальных файлов, что разрушило совместимость. И теперь считать миссии ньюдарка могут только они. Есть вариант с собственной перекомпиляций исходной геометрии (если она не вырезана из миссии), но уж больно много исследований нужно и тонны времени, проще выклянчить у ньюдарковцев их формат.

Движок - для своей игры. Я на базе Thief планировал сделать общий функционал, пересекающийся. Дать потестить людям тут, выявить косяки. Возможно, прийти к какому-то интересному решению в плане Thief. А потом - как это модно у индюков - автогенерация уровней и т.п. Так что дром ед не планировалось использовать для своего проекта.[/off]
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: nemyax от 29 июля 2017 14:48:59
Цитата: Maxim от 29 июля 2017 14:07:07
По поводу данной программы: на TTLG вроде откликнулся PinkDot и сел делать. Причём, в отличие от наших, кто заявляет что это ужас и 100 лет мороки, он вроде как сказал что без особых проблем сделает. Причём, с рендером модельки в окошке.
Нуну. Если ты вспомнишь его темпы разработки плуга для макса, то "без особых проблем" приобретёт несколько другое значение. На то и выйдет карочы.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Призрак Boris'а3000 от 29 июля 2017 14:59:00
[off]
Цитата: nemyax от 29 июля 2017 14:48:59
его темпы разработки плуга для макса
Как там у него дела с этим плугом для mesh?[/off]
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 29 июля 2017 15:14:43
Так что вы решили в итоге? Или ждем автора темы? Мне эта разработка выгодна в плане обратной связи, еще я надеюсь на ваш потенциал в раскопках инфы, если это понадобится.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: nemyax от 29 июля 2017 15:14:49
Boris3000
Для анимаций плух готов, если ты про него. Первоначальная оценка трудозатрат тоже была сипец какая оптимистичная, ну как водится. А поддержку редактирования мешей он разве обещал?
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Maxim от 29 июля 2017 15:21:11
ЦитироватьИли ждем автора темы?
Да сегодня выходной и пока он вряд ли ответит. И чего его ждать? Идею то я подал. Правда подробности разговора с PinkDot известны тока Зонтику.
Force, зачем вы сразу руки умываете? Может у вас лучше получится,  а то и гляди быстрее.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Призрак Boris'а3000 от 29 июля 2017 15:27:08
Цитата: nemyax от 29 июля 2017 15:14:49
Для анимаций плух готов, если ты про него.
Нет, я всё о своём, о девичьем (http://darkfate.org/forum/index.php?topic=5066.msg229532#msg229532).

Цитата: nemyax от 29 июля 2017 15:14:49
А поддержку редактирования мешей он разве обещал?
Не знаю, мне он вообще ничего не обещал и не докладывал.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 29 июля 2017 15:50:46
Maxim, можно на "ты" ;).
Тогда предлагаю обсудить поднятые вопросы в моем первом посте в этой теме ( http://darkfate.org/forum/index.php?topic=5789.msg264884#msg264884 ). Утвердить ТЗ, так сказать.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Chuzhoi от 30 июля 2017 04:14:44
Force, приветствую.

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

Цитата: Force от 29 июля 2017 13:39:40
нужны ли ВСЕ возможные форматы или достаточно DDS?
Насчет DDS - согласен, что это очень хороший сбалансированный формат, но если делать просмотрщик, то он должен поддерживать все доступные в Dark Engine форматы. Я, честно говоря, до конца не даже понял, что значит "сконвертировать все текстуры Thief в DDS". Имеется в виду - сконвертировать текстуры, запаковать их в crf и выпустить некий отдельный дистрибутив нашей любимой игры со сжатыми текстурами? Этого лучше не делать во избежание бардака - иначе у одних будут одни текстуры, а у других другие. Или же разработчику миссий предлагается сделать копию ресурсов, сконвертировать текстуры в DDS и использовать эту копию исключительно для просмотра моделей? Ну это тоже крайне неудобно. К тому же есть большое количество ФМ-ок разных авторов и разных лет с кастомными моделями, есть просто паки с кастомными моделями, и текстуры в этих паках могут храниться в самых разных форматах. Каждый раз, получив пак или ФМ-ку, конвертировать текстуры только для того, чтобы просмотреть модели - это очень неудобно.

Цитата: Force от 29 июля 2017 13:39:40
Я понимаю, что он сжимает с потерями, но неужели это НАСТОЛЬКО критично?
DDS (точнее, DXT1/3/5) действительно жмет с некоторой потерей качества. Обычно на достаточно пестрых полноцветных текстурах, особенно если они высокого разрешения, это незаметно. Однако в некоторых случаях в DDS могут проявиться искажения и артефакты - например, если мы имеем дело с контурными изображениями вроде шрифтов или схем, или просто на контрастных деталях. Причем, по иронии судьбы, чем ниже разрешение текстуры и крупнее пиксели, тем заметнее эти артефакты - а мы знаем, что оригинальные текстуры Thief имеют весьма низкое разрешение. И это еще один повод их не трогать.

Цитата: Force от 29 июля 2017 13:39:40
Интерфейс рисуется средствами OpenGL. В связи с этим навряд ли удастся реализовать такие привычные действия как выделение строк, копирование в буфер обмена...
А рендеринг в окне поддерживается? В таком случае можно сделать OpenGL-окно внутри окна приложения, а вне OpenGL-окна (но внутри окна приложения) организовать интерфейс (меню, тулбар и т. п.) средствами WinAPI или какой-либо GUI-библиотеки. Правда, не знаю, насколько сложно будет обеспечить взаимодействие такого внешнего интерфейса и твоего движка.

Цитата: Force от 29 июля 2017 13:39:40
Самое главное ограничение: требуется видеокарта уровня не ниже DX10, а если конкретно - поддерживающая OpenGL 3.2 (что равнозначно в общем :) ). Если сказать совсем юзер-френдли языком, то видеокарта, произведенная не ранее чем 10 лет назад :lol: (позже 2007 года).
Подождем, когда придет Зонтик и выскажет все, что думает по этому поводу. Мне кажется, ждать особого воодушевления по этому поводу от него не стоит. Кстати, как насчет версии операционной системы? XP поддерживается?

PS. Картинка нравится. Довольно мягко и естественно выглядит. Красивая тень. Она динамическая?


[off]
Борис, спасибо за столь подробное тестирование. К сожалению, я не могу объяснить, почему моя программа ведет у тебя так странно и не желает синхронизироваться. Но я склонен думать, что виноват тут не мой код, а DirectX или что-то еще вовне. Вообще, опустив некоторые детали, рендеринг в программе можно описать следующим образом: сначала программа загружает модели и текстуры вызовом соответствующих функций D3D (причем модели грузятся в родном D3D-шном формате - *.x; жаль, конечно, что это не *.bin, иначе бы мы имели почти готовый просмотрщик, пусть и примитивный); затем входит в цикл, где сначала получает данные с клавиатуры и мыши, после чего на основании этих данных, скорости поезда и времени, прошедшего с момента расчета предыдущего кадра, рассчитывает новые координаты камеры и всех моделей сцены (что, по идее, очень быстро), затем для каждой модели передает эти координаты в D3D и вызывает D3D-шную функцию ID3DXBaseMesh::DrawSubset(), которая осуществляет рендеринг модели в задний буфер (при этом данная функция может делать геометрические преобразования как программно, загружая процессор, так и аппаратно - все зависит от настроек, которые мы задали при инициализации D3D). Когда все модели отрендерены и сцена полностью готова, мой код вызывает D3D-шную функцию IDirect3DDevice9::Present(), которая переносит готовую картинку из заднего буфера в окно, после чего цикл запускается по новой. При этом данная функция может подождать следующего кадра (при включенной синхронизации), а может перенести картинку сразу (при отключенной). Почему она у тебя иногда ждет больше одного кадра - неизвестно. Может, твой Samsung 757DFX ей чем-то не нравится, я не знаю. Но, судя по высокому FPS при отключенной синхронизации, собственно рендеринг одного кадра, включая все предварительные рассчеты, очень быстр и занимает весьма незначительное время (что неудивительно, учитывая простоту сцены). Бывают случаи, когда рендеринг длится дольше одного кадра, и тогда - при постоянной сложности сцены - при включенной синхронизации FPS может упасть ровно вдвое (втрое, вчетверо и т. д.), но здесь явно не твой случай.

Цитата: Boris3000 от 29 июля 2017 12:49:08
Кроме всего этого оказалось, что сглаживание радикально дропает фпс во всех режимах без VS. Даже в тех, где загрузка видеокарты не более 30%. Это выглядит, как будто сглаживание обрабатывается процессором...
Ну это тоже странновато. По идее, на скорость сглаживания должна влиять исключительно видеокарта.

Цитата: Boris3000 от 29 июля 2017 12:49:08
Это немного удивительно, т. к. у него ядра двухпоточные. Либо твоя программка, не умея задействовать более одного ядра, умеет задействовать гипертрейдинг, либо гипертрейдинг даёт прибавку всего в 1-3% производительности.
У меня в коде не предусмотрено никакой многопоточности. Весь мой код работает в одном потоке, дополнительные потоки не создаются. Однако Диспетчер задач показывает 16 потоков - можно предположить, что их создает DirectX, но что он там в них делает и как распределяет вычисления, лично мне неизвестно.

Цитата: Boris3000 от 29 июля 2017 12:49:08
Если интересно померяться попугаями, то прогони Линпак.
У меня 22 в среднем. Значит, 11 на ядро, как я понял.
[/off]
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 30 июля 2017 15:51:35
Chuzhoi

DDS - если резюмировать, похоже всё-таки нужна поддержка всех форматов... Ладно, посмотрим, что получится сделать. Дело в том, что я стараюсь всё слинковать статически, чтобы обеспечить легкую переносимость и кроссплатформенность, и если у нужных графических либ не будет статической версии - будет неприятно.

Интерфейс - а всё-таки зачем АПИ-интерфейс? Неужели не подойдет интерфейс в самом 3d приложении? Ну, как в гонках мы выбираем модель автомобиля, который крутится на экране.

OpenGL 3.2 - у него нет ограничений на версию системы, главное - чтобы железо поддерживало. Что касается XP - то надо просто скомпилить версию под XP, я не пробовал, но можно попытаться, по крайней мере надо будет найти threaded gcc под xp или на крайняк попробовать visual studio... Но если у Зонтика видюха не держит ОГЛ 3, то всё пропало. Потому что делать даунскейл на более ранний ОГЛ - это слишком... скажем так... специфическая задача. Я и так из кожи вон лезу, чтобы воплотить некоторые современные решения на 3-м ОГЛе, а тут второй... :no: Если 3-й от 4-го визуально может практически не отличаться, то 2-й слишком уступает как визуально, так и алгоритмически. Там куча особенностей, которые разрушат универсальность кода, а этого хотелось бы избежать. На худой конец, может проще будет скинуться Зонтику на видюху посовременнее, если потребуется? :) Я и так, считаю, что даже 3-й ОГЛ - это архаизм, достаточно взглянуть на статистику железа в стиме... Еще один повод для меня кусать ногти...


По поводу скриншота. На самом деле он предназначен для демонстрации того, что движок умеет рендерить bin-объекты, показать их в масштабе, друг относительно друга. Я просто собрал эту комнатку в ДромЕде первого вора за пару минут чтобы сделать этот скриншот. То есть это совсем не домонстрация возможностей движка, тут кроме теней и гамма-коррекции больше нет никаких эффектов :). То есть, вообще, даже бампмаппинг отключен. Когда наступит время, я с удовольствием всё продемонстрирую.

[off]P.S.

Так и быть, сообщу о своих недавних изысканиях. Думаю, многим это будет интересно, а мне - приятно рассказать.

Тени строятся действительно реалтайм. У каждого источника есть флажок, происходили изменения в радиусе его действия или нет (надо перерисовывать тень или нет), если да - тень перерисовывается, если нет - остается прежней. Так вот, в режиме отрисовки всех теней от всех источников единожды (как это делается при портализации уровня - один раз и навсегда), и рендеринге ВСЕЙ геометрии уровня, ВСЕХ объектов и ВСЕХ источников (то есть, когда мы видим весь уровень целиком), фпс не проседает ниже 30, что ОЧЕНЬ неплохо, на мой взгляд, потому что на подходе отсечение по перекрытию и тогда вообще не будет рисоваться ничего лишнего, что повлечет значительный рост фпс. Но, если ПЕРЕРИСОВЫВАТЬ тени каждого источника каждый кадр - фпс падает ниже одного кадра и игра практически виснет. Но, надо сказать, в реальности Thief такого достичь невозможно, потому что мы никогда не можем видеть ВЕСЬ уровень сразу. Ко всему прочему, надо наводнить уровень толпами людей или движущихся объектов, и при этом всё это видеть в одном кадре. То есть, это должен быть уровень без крыш и без подвалов, одноэтажный и плоский, если мы смотрим сверху... А это довольно скучно, согласитесь... по крайней мере, слишком специфично. Потому что если источник находится за стеной, его пиксели уже сейчас обрабатываться не будут.

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

Возможно, если всё будет хорошо и на этом движке выйдет интересная Thief-поделка и если кто-нибудь сделает миссию-эксклюзив спецом для этого движка, то можно будет продемонстрировать некую небывалую мощь и красоту... Но если честно, у меня есть куча сомнений относительно его востребованности в Thief-сообществе. Хотя бы потому что сам DromEd может не дать сделать такую миссию, или движок надо будет излишне затачивать под некие слишком специфические особенности ДромЕда, типа поддержки кастомных скриптов в dll'ках :suspect:, что навряд ли когда-нибудь будет сделано...[/off]
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: nemyax от 30 июля 2017 22:02:00
Цитата: Force от 30 июля 2017 15:51:35
2-й слишком уступает как визуально, так и алгоритмически
Например? У тебя будут шейдеры геометрии и тесселяции?
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 30 июля 2017 22:22:27
nemyax, геометрии - возможно, тесселяции в 3-м огле нет. Но во 2-м ограничение на количество инструкций шейдерных.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Zontik от 30 июля 2017 23:02:09
Минуточку. Начнем с того, что PinkDot никому ничего не обещал и вообще с публичными заявлениями не выступал. Maxim, это же частная переписка. Давайте хотя бы воздержимся от дальнейшего обсуждения.
А теперь по теме.
Force
Во-первых, рад слышать снова.
Во-вторых,
ЦитироватьСамое главное ограничение: требуется видеокарта уровня не ниже DX10
Железо пролетает на 100%. Тут я ничего поделать не могу (требуется системный апгрейд, причем слово "требуется" здесь совершенно не отвечает изначальному смыслу, другими словами - мне это не надо), но это же не повод отказывать себе в удовольствии сделать что-то для других. Я за то, чтобы продолжать работу. Ну или за то, чтобы начать и продолжать.
Насчет форматов полностью согласен с Чужим. Сам я не перехожу полностью на DDS по банальнейшей причине: мне неудобно с ним работать. Это формат, слишком требовательный к харду и софту, а я и сам такой. И наши с ним требования в корне различаются.
[off]Ничего, 8 миссий из девяти готовых даже при этом не должны тормозить. Насчет девятой не уверен, но вероятность процентов 95, что тоже не будет. Есть и другие способы оптимизации, помимо перехода на иной формат.[/off]
Ну и в-третьих. Желаю удачи с тем, что ты так забавно называешь "поделкой". Мне кажется, это немного заниженная оценка. По крайней мере, все, что я понял из прочитанного, мне пока нравится. Ну, кроме несовместимости с New Dark, но нельзя же иметь все и сразу.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 30 июля 2017 23:55:32
Zontik, грустно слышать... Если не секрет, какая у тебя видеокарта?
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Maxim от 31 июля 2017 00:26:49
Zontik А что, у тебя не было такого что некоторые PNG текстуры дают рябь от того, что детализация сохраняется даже на больших расстояниях игрока от текстуры? Вроде как DDS как раз от этого помогает.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Призрак Boris'а3000 от 31 июля 2017 01:27:42
Цитата: Zontik от 30 июля 2017 23:02:09
Железо пролетает на 100%. Тут я ничего поделать не могу (требуется системный апгрейд
С чего это? Даже если у тебя мать с AGP, то AMD очень долго поддерживала эту шину, и две самые мощные видеокарты на AGP -- Radeon HD 3850 и Radeon HD 4670 не только поддерживают DX10 (даже 10.1), но и по производительности будут где-то на уровне GeForce 9600 GT.
А если PCI-E, то проблем вообще никаких.
Так что, Зонтик, третий раз говорю -- айда на Авито! Иначе это уже просто несерьёзно -- из-за ерунды, на решение которой нужен один день и 500 рублей (если повезёт, то вообще задаром), ты будешь напрягать человека с поддержкой древнющего железа. Либо обломаешь сам себя.
Хочешь, я тебе сам найду подходящую модель.
[spoiler]Только не говори, что у тебя видеокарта на PCI.[/spoiler]
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Chuzhoi от 31 июля 2017 04:01:39
Цитата: Force от 30 июля 2017 15:51:35
Интерфейс - а всё-таки зачем АПИ-интерфейс? Неужели не подойдет интерфейс в самом 3d приложении? Ну, как в гонках мы выбираем модель автомобиля, который крутится на экране.
В простейшем случае незачем. Но если реализовывать весь список хотелок - а именно просмотр списком с превьюшками, то, возможно, интерфейс, нарисованный средствами готовой GUI-библиотеки реализовать проще, нежели изображать все это посредством OpenGL.

Цитата: Force от 30 июля 2017 15:51:35
Тени строятся действительно реалтайм. У каждого источника есть флажок, происходили изменения в радиусе его действия или нет (надо перерисовывать тень или нет), если да - тень перерисовывается, если нет - остается прежней. Так вот, в режиме отрисовки всех теней от всех источников единожды (как это делается при портализации уровня - один раз и навсегда), и рендеринге ВСЕЙ геометрии уровня, ВСЕХ объектов и ВСЕХ источников (то есть, когда мы видим весь уровень целиком), фпс не проседает ниже 30, что ОЧЕНЬ неплохо, на мой взгляд, потому что на подходе отсечение по перекрытию и тогда вообще не будет рисоваться ничего лишнего, что повлечет значительный рост фпс. Но, если ПЕРЕРИСОВЫВАТЬ тени каждого источника каждый кадр - фпс падает ниже одного кадра и игра практически виснет.
Интересно. А если источник света начнет двигаться - например, по уровню пойдет стражник с факелом - сильно ли это ударит по быстродействию?

Цитата: Maxim от 31 июля 2017 00:26:49
Zontik А что, у тебя не было такого что некоторые PNG текстуры дают рябь от того, что детализация сохраняется даже на больших расстояниях игрока от текстуры? Вроде как DDS как раз от этого помогает.
Это оттого, что при использовании PNG, видимо, не поддерживается мипмэппинг (т. е. замена исходной текстуры на ее версии более низкого разрешения по мере удаления). В DDS все эти мип-уровни сохраняются в одном файле вместе с основной текстурой (но для этого надо при экспорте в DDS включить соответствующую опцию; в Фотошопе это MIP map generation - Generate MIP maps -  All). По идее, движок сам должен сгенерировать мип-уровни для основной текстуры, если их нет в исходном файле, но, видимо, не все движки себя этим утруждают.

Хотя вот здесь (http://www.ttlg.com/forums/showthread.php?t=144776&p=2272140&viewfull=1#post2272140) утверждается, что Dark Engine генерирует мипы при отсутствии их в файле текстуры сам (но точно не в DDS - проверено; в DDS они должны быть сгенерированы при экспорте). Короче, везде какие-то противоречивые слухи. Все надо проверять.

Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Призрак Boris'а3000 от 31 июля 2017 04:52:27
Цитата: Force от 30 июля 2017 15:51:35
Интерфейс - а всё-таки зачем АПИ-интерфейс? Неужели не подойдет интерфейс в самом 3d приложении? Ну, как в гонках мы выбираем модель автомобиля, который крутится на экране.
Тут уже говорилось, что собственно просмотрщик -- это только полдела. Прежде чем отображать модель, её нужно найти. Поэтому нужен минимальный функционал СУБД. Таким функционалом обладает любой каталогизатор музыки, фоток и т. д. Должны быть предусмотрены возможности назначения каждой модели множества тегов, введения тега с клавиатуры в некое поле, поиска модели по введённым тегам и отображения списка найденных моделей. И только после этого пойдёт выбор модели "как в гонках". Если это проще реализовать в 3D, тогда нет вопросов.

База с тегами должна висеть в оперативке, естественно, иначе это будет издевательство над винтом.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Zontik от 31 июля 2017 09:34:31
ЦитироватьА что, у тебя не было такого что некоторые PNG текстуры дают рябь
Не было. Просто никогда не использовал текстуры PNG.
С другими форматами никогда не замечал ничего подобного в критической стадии.
Может, еще и потому, что я не гонюсь за размерами текстур. Естественно, от текстуры большего разрешения с большей детализацией следует скорее ожидать ряби. Если движок настолько туп, что действительно пытается отобразить каждый пиксел.
Force
Radeon 1950x Pro. Кажется. По-моему, это PCI-E, было настолько давно, что уже просто не помню.
Я в гонке вооружений не участвую. Не тянет - и не надо. Ограничивать себя, ха. Ограничивать - это ставить себя в зависимость от каких-то драных железок. Да пропади они все.
ЦитироватьНо если реализовывать весь список хотелок - а именно просмотр списком с превьюшками
Да где же там в хотелках список с превьюшками? Не нужны превьюшки, они даже вредны. Что, долго мышкой ткнуть в файл?
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: nemyax от 31 июля 2017 09:40:15
Есть мнение, что лучше всего взять тривьюшку, которую предлагает Доброчёрт, приделать к ней вьюпорт на gl2 и приспособить к нему код, которым Force набивает вертексбуферы (ну или чего он там делает) из содержимого бинок.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Призрак Boris'а3000 от 31 июля 2017 10:03:27
Цитата: Zontik от 31 июля 2017 09:34:31
Radeon 1950x Pro. Кажется. По-моему, это PCI-E, было настолько давно, что уже просто не помню.
Эта карта была и на AGP. Давай модель материнки в студию.

Цитата: Zontik от 31 июля 2017 09:34:31
Я в гонке вооружений не участвую. Не тянет - и не надо. Ограничивать себя, ха. Ограничивать - это ставить себя в зависимость от каких-то драных железок. Да пропади они все.
Значит, так тебе нужен просмотрщик. Это, в принципе, ясно сразу. Кто хочет, ищет возможности, а кто не хочет -- причины. Хотя идея ведь не от тебя исходит, поэтому тебе можно.
Но в таком случае я предлагаю Форсу не мучиться и делать программу под OpenGL 3.2, а ты, если захочешь ею воспользоваться, поменяешь себе видеокарту. Тебе даже с нВидии на Радеон не нужно переходить -- вообще плёвое дело.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 31 июля 2017 10:43:15
Мое мнение таково: вы мечетесь между простым, но функциональным решением и глобальным, правильным и всеобъемлющим. Только с отклонением в сторону глобального. При этом вы же понимаете, что вам в любом случае придется каталогизировать все необходимые вам модели?

Если расставлять всё по полочкам и описать идеальную "программу", а точнее - вебсервис (да-да), то выглядит это примерно так:
Есть сайт по типу соц-сети, куда пользователи заносят модели для вора, они добавляют к ним любые описания, теги и чего только вздумается, в простом интерфейсе прямо на сайте можно ткнуть в любую модель, повертеть ее и понять, нужна она или нет, заодно посмотрев используемые ею ресурсы и пути к ним. Скачать. А и в качестве мегафичи - ткнуть в модель карандашиком и увидеть где располагается соответствующая точка в ее скине. (почти цитата) :biggrin: Именно подобное решение является окончательным шагом в ваших "хотелках", потому что вслед за поиском по тегам встанет вопрос, а как бы так поудобнее получить уже заполненную базу тегов где кто-то кропотливо свои модельки уже описал. А как же быть с моими двумя тысячами описанных моделек, чтобы мне соединить их с тремя тысячами других моделек Зонтика и т. п. А в таком вот мегасервисе, где все пользователи работают с единой базой - такого вопроса не возникнет. Правда, понадобится доступ к инету, но это уже другой вопрос ;).

Такое решение - оно, безусловно, правильное и покроет пожалуй большую часть потребностей дромедеров... Задержитесь на последнем слове предыдущего предложения подольше, осмыслите его, а потом возвращайтесь. Вернулись? Осмыслили? Тогда, должно быть вы уже начали понимать, что описанный выше идеальный сервис - это "золотая иголка для примуса". При этом разработка такого вебсервиса ОЧЕНЬ дорогостоящая (если пересчитать трудозатраты, т.е. человекочасы в деньги, получатся десятки тысяч рублей или тысячи долларов, если угодно). Вы же хотите получить такое бесплатно. Ладно, допустим, но при этом пользоваться этим сервисом будет два с половиной человека... ну ладно, можно умножить на десять... ну так и быть, на двадцать... То есть даже сотня юзеров не наберется. Не впечатляет. При всем при этом описанный сервис он уже идет перпендикулярно тому, что делаю я. То есть, общего с моим проектом тут будет только код чтения bin-файла, при этом, скорее всего его надо будет переписать под JavaScript, чтобы модельку рисовать прямо на сайте при помощи WebGL... В общем, я думаю, вы уже поняли, что как бы классно ни звучала такая идея - она слишком специфическая и узконаправленная и получить такую вот так вот просто по заказу бесплатно - практически нереально. Заинтересованных нет.

Альтернативой такому мегаудобному и функциональному сервису может служить простой просмотрщик, который показывает модельки в структуре ваших каталогов. Например, каталог Жилые помещения/Мебель/Кухня/Столы... То есть, вы располагаете в некоей своей подготовленной личной структуре каталогов bin-модельки (только модельки, текстуры можно свалить в кучу, мало того, скорее всего именно так и придется делать), а при помощи просмотрщика путешествуете по ней и ищете нужные. Нашли - скопировали в каталог Дромеда и строите дальше. Нужно просмотреть какой-нибудь новый пак - помещаете его в рабочий каталог просмотрщика, либо в самом просмотрщике указываете путь и смотрите модели в паке. Но как я понял, у вас уже есть личные коллекции моделей, которые хотелось бы каталогизировать, так вот, вы можете сами растащить их по папкам так как вам удобно. При этом в таком подходе решается даже вопрос слияния двух "баз" моделей, потому что "база" обеспечивается файловой системой, а не дополнительным уровнем абстракции в лице дополнительной же базы данных. Думаю, можно будет даже прикрутить поиск по каталогам, хотя на первых парах можно будет искать нужный каталог в такой структуре средствами операционной системы (ctrl+f, все дела).

Такое решение сделать в разы проще, при этом я сам заинтересован в этом, потому что 80% функционала мне понадобится для движка. Так что предлагаю подумать еще раз и обсудить.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Zontik от 31 июля 2017 11:14:43
Я и не мечусь, мне нужно простое функциональное решение. Все остальное - для какого-то абстрактного дисциплинированного человечества, которого в этом мире нет и быть не может.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Призрак Boris'а3000 от 31 июля 2017 11:33:41
Цитата: Force от 31 июля 2017 10:43:15
вслед за поиском по тегам встанет вопрос, а как бы так поудобнее получить уже заполненную базу тегов где кто-то кропотливо свои модельки уже описал
Не встанет. Каждый будет работать со своей личной, собственноручно созданной БД тегов. Точно так же как запускает музыку на прослушку в своём каталогизаторе музыки, а не лезет куда-то во вселенский склад.
Я беру и надираю откуда-то этих моделек. Пофиг, с описаниями они или без - я их в любом случае игнорю. При первом просмотре каждой модели я назначаю им теги. Таким образом постепенно будет формироваться моя личная БД, в которой надо будет производить поиск.
Это есть попросту документирование собственной работы, но в чуть более продвинутом виде -- не файлик текстовый с описанием всего и вся, а элементарная СУБД.

Цитата: Force от 31 июля 2017 10:43:15
Альтернативой такому мегаудобному и функциональному сервису может служить простой просмотрщик, который показывает модельки в структуре ваших каталогов. Например, каталог Жилые помещения/Мебель/Кухня/Столы... То есть, вы располагаете в некоей своей подготовленной личной структуре каталогов bin-модельки (только модельки, текстуры можно свалить в кучу, мало того, скорее всего именно так и придется делать), а при помощи просмотрщика путешествуете по ней и ищете нужные
Так и знал, что кто-нибудь это предложит. Ну не годится же. Вернее, годится лишь по сравнению с полным отсутствием просмотрщика. Очевидно, что у любой вещи не один, а несколько признаков, т. е. несколько параллельных классификаций. Возьмём музыку -- у нас есть год выпуска, исполнитель, жанр, автор и т. д. и т. п. По какому из этих признаков создавать каталоги? А в какой каталог помещать альбом, если он удовлетворяет сразу нескольким признакам?

Поэтому в БД всё валяется в общей куче, без всякой сортировки по каталогам, но каждой единице назначен ряд признаков, по которым и производится поиск и выдача его результатов.

Цитата: Force от 31 июля 2017 10:43:15
"база" обеспечивается файловой системой, а не дополнительным уровнем абстракции в лице дополнительной же базы данных. Думаю, можно будет даже прикрутить поиск по каталогам, хотя на первых парах можно будет искать нужный каталог в такой структуре средствами операционной системы (ctrl+f, все дела).
Да, файловая система -- это тоже база данных. Тем не менее не надо делать из файлового менеджера СУБД. Файловый менеджер -- это файловый менеджер. Предназначен для того, чтобы что-то делать с файлами, а не для бесконечного по ним поиска. Почему? Потому что иначе это:
1) медленно по сравнению с поиском по базе тегов, висящей в оперативке
2) приводит к повышенному износу жёсткого диска

Вот поэтому и существуют "дополнительные уровни абстракции в виде дополнительной базы данных". А иначе сидели бы все в Тотал Коммандере, а не в Экцессе.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 31 июля 2017 11:40:00
Мнения разделились... Прийдите к консенсусу.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: nemyax от 31 июля 2017 11:41:59
Force
В глобальные абстракции уводит только Бориса, который ни миссий не делает, ни утилиты не заказывал. А Maxim и Zontik просили вьювер браузерного типа.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 31 июля 2017 11:53:09
Значит делаем для начала что попроще - модели в каталогах? С поддержкой структуры каталогов или без? Для начала можно вообще прототип сделать, максимально простой, потом нарастить...
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Призрак Boris'а3000 от 31 июля 2017 11:58:07
Цитата: nemyax от 31 июля 2017 11:41:59
В глобальные абстракции уводит только Бориса, который ни миссий не делает, ни утилиты не заказывал. А Maxim и Zontik просили вьювер браузерного типа.
А это что:
Цитата: Maxim от 24 июля 2017 02:34:39
Да не, Борис всё правильно говорит. Просто нужен каталогизатор с возможностью поиска или какой-то разбивкой на категории/иерархии
?
Или по-твоему "каталогизатор с возможностью поиска" -- это дерево виндового Проводника?

И если я не набрался смелости кого-то об этом просить, это не значит, что я её "не заказывал". Если б не заказывал, меня бы вообще тут не было.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: nemyax от 31 июля 2017 12:14:00
Цитата: Boris3000 от 31 июля 2017 11:58:07
Или по-твоему "каталогизатор с возможностью поиска" -- это дерево виндового Проводника?
Ну я бы мог расписать, какой я вижу эту прогу, но толку? Я тут не заказчик и вообще не ЦА. И к счастью не исполнитель =)
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Chuzhoi от 31 июля 2017 13:31:00
Цитата: Zontik от 31 июля 2017 09:34:31
Да где же там в хотелках список с превьюшками?
Первый пункт.
"1) Просмотр как при щелчке по конкретному файлу, так и списком (запуск программы, выбор активной папки, отображение моделей в виде превьюшек - либо все скопом (наверное, чересчур затратно по ресурсам), либо по выбору из списка в окне программы)."
Значит, первый пункт упрощается? Все, что после первой запятой, отсекается? Ну и замечательно. Давайте спустимся на землю.

Цитата: Boris3000 от 31 июля 2017 11:33:41
Так и знал, что кто-нибудь это предложит. Ну не годится же.
Годится, годится. Начинать надо именно с этого. Именно в связи с полным отсутствием нормального просмотрщика. Я вообще считаю, что лучше взять готовый просмотрщик и добавить в него поддержку bin. Но раз уж у Форса уже есть код, который читает содержимое bin и отправляет его в OpenGL, то нужно просто-напросто сколотить из него программу, которая будет показывать bin по щелчку на файле. Это не должно занять много времени, а профит должен быть огромный. А база данных с тегами и проч. - это уже действительно из разряда долгосрочных проектов.

Цитата: Boris3000 от 31 июля 2017 11:33:41
Но в таком случае я предлагаю Форсу не мучиться и делать программу под OpenGL 3.2, а ты, если захочешь ею воспользоваться, поменяешь себе видеокарту.
А вот здесь совершенно поддерживаю. Если доработка кода ради того, чтобы он запустился у одного человека в мире, отнимет у Форса пару месяцев жизни (при том, что цена вопроса несколько сот рублей) - я готов самолично за свои деньги купить Зонтику видеокарту. Ибо смотреть на это все спокойно совершенно невозможно. Борис, продолжай расспросы.

Цитата: Force от 31 июля 2017 11:53:09
Значит делаем для начала что попроще - модели в каталогах? С поддержкой структуры каталогов или без? Для начала можно вообще прототип сделать, максимально простой, потом нарастить...
Я думаю, оптимальный путь такой:
1. Показ модели по щелчку на файле с возможностью перехода к следующему/предыдущему bin'у в текущей папке. Вверх/вниз по структуре катологов не надо, иначе все несоразмерно усложняется.
2. Также желательно реализовать открытие через стандартное системное диалоговое окно выбора файла (папка по умолчанию должна быть текущая). Вот там пусть и путешествуют по структуре, если хотят.
3. Поиск текстур открываемой модели в текущей папке, а также в  txt/txt16.
4. Отображение имени текущей модели (с абсолютным путем), списка текстур (с относительными путями в случае их наличия - txt/txt16), геометрических размеров модели (длина/ширина/высота), числа полигонов в модели. Все отображение прямо во вьюпорте средствами OpenGL (сверху/снизу/сбоку/по углам).
5. Фон окна черный. Один источник света слева-сверху со стороны зрителя + эмбиент лайт в разумных пределах. Опционально: режим Full Bright.
6. Возможность вращать модель мышью и приближать/удалять камеру колесом. Вращаться должна именно модель, а не камера (у нас же будет источник света - зачем нам смотреть на модель с темной стороны).
7. По умолчанию (сразу после загрузки) модель занимает примерно 1/2...2/3 вьюпорта. Дефотный угол - вдоль одной из осей или что-то типа изометрии (обсудить с заказчиками, как лучше). Если модель покрутили/изменили масштаб - то следующая открываемая модель все равно показывается в масштабе и под углом по умолчанию.
8. Опционально: можно реализовать отключаемый режим "фиксированный масштаб", когда при переходе к следующей модели масштаб/угол не изменяются (может быть полезно при сравнении размеров моделей). Но можно и не реализовывать, если влом или если никто из потенциальных юзеров не видит в этом пользы.
9. Все управление (кроме того, что в п. 6) - с  клавиатуры. Например: стрелки вправо/влево - следующий/предыдущий файл, O/Ctrl+O - открыть файл, F - режим "Full bright". На экране внизу - краткая инструкция мелким шрифтом. Никаких тулбаров с кнопками. Раскладку клавиатуры обсудить с заказчиками и захардкодить - никаких ini,  привыкнут.
10. Если при загрузке модели пошло что-то не так, программа не должна виснуть или вылетать, а выдавать внятное сообщение в центре пустого окна. Например: "Animated models are not currently supported." Или просто: "Could not open file ...."
11. Программа должна нормально работать в окне любого размера и адекватно реагировать на изменение размера окна, распахивание на весь экран и т. д. Масштаб модели при изменении размера окна пропорционально изменяется.
12. Опционально: Копирование имени файла и дополнительной информации (имена текстур) в буфер обмена.
13. Опционально: отображение джойнтов, вхотов (что там еще в модели может быть?)
14. Опционально: работа с zip-архивами, в т. ч. *.crf (если это просто технически и если заказчики подтвердят, что это действительно надо).
15. Опционально: снятие скриншота.

Думаю, этого функционала программе вполне достаточно, чтобы называться полноценным просмотрщиком, а реализовать все это поэтапно относительно несложно. Что скажете?
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: nemyax от 31 июля 2017 13:49:43
Цитата: Chuzhoi от 31 июля 2017 13:31:00
А база данных с тегами и проч. - это уже действительно из разряда долгосрочных проектов.
"База данных с тегами" - это один словарик с ключами - строчками и значениями - бинарными деревьями строчек-путей.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 31 июля 2017 13:55:36
Chuzhoi, отличное ТЗ!  :yes:
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Zontik от 31 июля 2017 14:21:57
ЦитироватьТак и знал, что кто-нибудь это предложит. Ну не годится же. Вернее, годится лишь по сравнению с полным отсутствием просмотрщика.
А что у нас есть, кроме полного отсутствия? View.exe - это даже не костыль, а лишь ручка от него.
ЦитироватьДля начала можно вообще прототип сделать, максимально простой, потом нарастить...
Поддерживаю. Это не тот случай, когда нужно тянуть до последнего и выдать сразу само совершенство.
А вообще Chuzhoi все правильно написал. Разве что кроме двух последних пунктов. Работать с архивами - зачем? Распаковать, что ли, долго? Тем более что для оригинальных моделей T2 уже имеется средство. А последнее - вообще опция для домохозяек. Но им эта программа и так не нужна.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Призрак Boris'а3000 от 31 июля 2017 16:14:04
Цитата: Chuzhoi от 31 июля 2017 13:31:00
Борис, продолжай расспросы.
Расспросы мои что-то получаются уж больно риторическими. Риторические расспросы -- это как комические куплеты (https://www.youtube.com/watch?v=JvP4hrwVLd8) в "Трое в лодке..."
- Что же вы мне всё время играете, сээр?
- Я уже в са... в са...
- В саду.
- Сэээр.
- Сэээр.

ЗЫ.
Ещё одно маленькое пожелание -- писать максимально читаемый и закомментированный код, чтоб в случае чего его мог легко подхватить другой человек.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Chuzhoi от 31 июля 2017 23:03:15
Ну что? Оставляем 13 пунктов? Никто не суеверный?

Если непременно нужен 14-й пункт, могу еще предложить добавить режимы отображения Wireframe/Wireframe+textures, но это уже очень-очень опционально и при условии, что это сделать легко. Если в этом есть хоть какая-то сложность - лучше не делать (не в этом главное назначение программы).

Еще хочу добавить по вращению модели: оно должно осуществляться при зажатой левой кнопке мыши. То есть кликаем на вьюпорте, оставляем кнопку нажатой и крутим модель. При ненажатой кнопке мыши ничего в программе происходить не должно. Так, как сделано в моем "мини-симуляторе" - когда мышка полностью перехватывается для управления камерой - делать не надо, иначе невозможно будет, например, управлять размером окна и закрывать программу крестиком. Вон, Борис даже жаловался... Колесо же должно функционировать все время, когда программа в фокусе (вверх - приближение, вниз - удаление).
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Chuzhoi от 01 августа 2017 00:42:22
Еще нюансы.
- масштабирование (которое колесом) должно быть реализовано либо приближением/удалением камеры, либо изменением размера объекта, что визуально одно и то же. Но это не должно быть изменение FOV камеры (FOV должен иметь какое-то постоянное визуально комфортное значение). Так масштабирование выглядит естественнее, и именно так обычно делается в 3d-программах.

- источник света лучше сделать направленный (directional), а не точечный. С точечным возникает много дополнительных вопросов - на каком он расстоянии должен быть от модели; каков его радиус и по какому закону убывает освещенность; что делать, если модель слишком большая и источник оказался внутри нее. В случае направленного источника мы выбираем лишь его яркость и направление.

- модель желательно автоматически центровать на экране по своим реальным габаритам вне зависимости от того, где находится ее начало координат. Особенно это актуально для моделей персонажей, у которых начало координат находится на уровне ступней - если мы этого не сделаем, персонаж будет занимать только верхнюю часть окна и пространство в окне будет расходоваться неэффективно. Начало координат, если не сложно, можно показывать трехмерным крестиком (для улучшения восприятия этот крестик - вместе с джойнтами, вхотами, осями вращения, костями скелета и пр. - можно сделать отключаемым).
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: nemyax от 01 августа 2017 07:14:17
Цитата: Chuzhoi от 01 августа 2017 00:42:22
масштабирование (которое колесом) должно быть реализовано либо приближением/удалением камеры, либо изменением размера объекта, что визуально одно и то же. Но это не должно быть изменение FOV камеры (FOV должен иметь какое-то постоянное визуально комфортное значение). Так масштабирование выглядит естественнее, и именно так обычно делается в 3d-программах.
Масштаб меша никто никогда не трогает. Возят либо камеру, либо меш. Фов лучше всего дефолтный из вора.

Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Призрак Boris'а3000 от 01 августа 2017 11:24:37
Не все модели поступают со скинами (например, TDBonko'вские персонажи), и наоборот -- в некоторых паках ко многим моделям лежат несколько скинов на выбор. Поэтому кроме автоматического натягивания умолчанских текстур надо обеспечить возможность ручного выбора произвольной текстуры после выбора bin-файла и его отображения в окне.
Так будет куда быстрее подбирать скины для моделей -- http://darkfate.org/forum/index.php?topic=374.msg229382#msg229382
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: nemyax от 01 августа 2017 12:16:09
Цитата: Boris3000 от 01 августа 2017 11:24:37
Не все модели поступают со скинами (например, TDBonko'вские персонажи), и наоборот -- в некоторых паках ко многим моделям лежат несколько скинов на выбор.
А как авторы тех паков предлагают выбирать скины, НЁХ-редактором? Или файлы переименовывать?
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Призрак Boris'а3000 от 01 августа 2017 12:22:31
nemyax
Или. Но это в игре. Просмотрщику же пофиг, чего натягивать. Должно быть.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Zontik от 01 августа 2017 14:38:31
Пошли какие-то частные случаи. Зачем просмотрщику усеченная функциональность редактора?
ЦитироватьА как авторы тех паков предлагают выбирать скины
Тот же TDBonko  использует оригинальные текстуры. Модель - в редактор, и скин автоматически надет. Все просто.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Призрак Boris'а3000 от 01 августа 2017 14:52:57
Цитата: Zontik от 01 августа 2017 14:38:31
Зачем просмотрщику усеченная функциональность редактора?
Цитата: Boris3000 от 01 августа 2017 11:24:37
Так будет куда быстрее подбирать скины для моделей -- http://darkfate.org/forum/index.php?topic=374.msg229382#msg229382
Зачем задавать вопросы, на которые уже есть ответы? Или они тоже риторические?

Цитата: Zontik от 01 августа 2017 14:38:31
Модель - в редактор, и скин автоматически надет. Все просто.
С чего начали, тем и закончили. Так может, не делать ничего? Есть же редактор.

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

И да, это не функциональность редактора. Редактор -- это программа, которая умеет сохранять изменения. Иначе любой просмотрщик фоток с возможностью их масштабирования -- это фоторедактор.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Maxim от 01 августа 2017 15:34:10
ЦитироватьВозможность вращать модель мышью и приближать/удалять камеру колесом.
ЦитироватьЕще хочу добавить по вращению модели:
Опять про вращения. Ну какие вращения модели, когда вы даже вещи попроще типа каталога говорите что делать будете 100 лет? :) Вы сначала попробуйте отобразить её хотя бы, не то что там вращать/приближать.

Короче, нужно типа такого. Сделал дизайн простенького макета:

(http://i.piccy.info/i9/3a8f4e0825c56d36c005edfd2509002c/1501590706/235253/1159022/model_viewer1.png)

Если будет возможность делать упорядочивание по имени бин файла модели или по размеру, то уже чуть лучше будет. А поиск в указанных каталогах так вообще супер. Например, помнишь, что назвал текстуру требуемой модели "обруч... что-то там" и по одному только hoop нашлась нужная бочка.

Напоминаю главную задачу автора для Thief: быстро найти/вспомнить какую-нибудь модель для определённой локации или заниматься перебором подходящих моделей в окне просмотрщика. Как в магазин сходить и выбирать с витрины. Для этого при клике на какую-нибудь модель из списка или листая стрелочками с клавиатуры должна тут же отображаться модель в окне просмотра и указаны: название модели, имена текстур и их расположение. Всё.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Zontik от 01 августа 2017 16:25:03
ЦитироватьТак может, не делать ничего? Есть же редактор.
Во всех остальных случаях редактор неудобен. Хотя что там у TDBonko вообще просматривать-то? Все модели на замену оригинальным, а добавочные легко вычисляются по имени файла: ns - no sword, к примеру. То есть безоружный.
Хотя если речь идет о каком-то другом частном случае - тут я, возможно, промахнулся. Но на все такие случаи нужна функциональность последней версии Фотошопа.
Впрочем, если надо накидать идей, чтобы затормозить, а то и полностью парализовать разработку - только скажите.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 01 августа 2017 16:43:07
Поскольку не все могут совладать со своим графоманством, предлагаю вынести резюмирующее ТЗ и эту замечательную картинку с наброском дизайна Максима в первый пост.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Zontik от 01 августа 2017 16:51:24
Сделал. Можем графоманить дальше.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Chuzhoi от 01 августа 2017 17:32:55
Ничего подобного, Макс. Программа будет выглядеть так:

(http://chuzhoi.city/images/darkfate/bin-viewer.jpg)

И после нажатия F1:

(http://chuzhoi.city/images/darkfate/bin-viewer-help.jpg)

То, что ты нарисовал - как раз гораздо сложнее, учитывая, что за это берется Force (я правильно понял?) У Форса OpenGL-движок, который умеет читать и выводить bin-модели, но не умеет работать с GUI. Поэтому никаких списков, полей, кнопочек и прочего. К тому же Форс уже проделал большой объем работ, и выводить модель в маленьком окошечке без возможности покрутить - это несколько кощунственно.

А вот идея возможности задавать дополнительные папки для поиска текстур, безусловно, хороша. Но это можно сделать в ini-файле, который редактируется текстовым редактором.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Maxim от 01 августа 2017 17:53:12
Вот говорят, мол, TTLG — там крутые чуваки, да разное могут. А у нас Force, который аж движок создаёт, ещё и в одиночку. Обалдеть. Я даже тетрис не смогу сделать, не то что там движок и тени динамические.
А если б была команда таких же опытных людей, Force мог бы наверное и Thief 4 сделать истинный в качестве аддона :)

Chuzhoi, ну не знаю.... программа выглядит в стиле поделки программиста первокурсника. Что сложного? Просто не понятно, если люди вон движок даже могут свой пилить, то как можно с Graphic User Interface тормознуться? Разве это не проще? А может кто-то другой сможет и тогда можно было бы объединить наработки в одно целое?
ЦитироватьА вот идея возможности задавать дополнительные папки для поиска текстур, безусловно, хороша.
Не, ну что значит хороша идея? Вот опять  ;D
Мы чётко сказали что нам надо. Откуда берутся какие-то уже ваши заключения о том, что надо и как это должно быть?
Цитироватьбудет выглядеть так
Прикольно. Особенно "будет выглядеть так". Решил за нас  ;D

Нам нужна утилита. Легковесная утилита, а не тормозной монстр на весь экран. Если сделать не получается как мы написали, то не надо делать вообще ничего. Потому что другого нам не надо. Не во всех случаях нужно быть экспертом, чтобы включить всеобъемлющую логику, которая говорит о том, что та хрень (а именно это нам надо) что изобразил я — достаточно простецкая вещь. И если были те, кто забацал T2OComplete, значит GUI кого-то не пугает. А стало быть можно объединить наработки.

Это требование взято не с потолка, а согласуется с обыденностью авторов для Thief. Имея уже открытый редактор, нам совсем не хочется для просмотра моделей запускать какой-нибудь Photoshop II по уровню исполнения и отзывчивости к действиям. Нужно что-то минималистичное, предоставляющее базовую информацию.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Chuzhoi от 01 августа 2017 17:57:05
Ладно, я сделал все, что мог. Дальше разбирайтесь сами.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 01 августа 2017 18:01:36
На самом деле, Истина она как обычно где-то посередине. То что нарисовал Макс - очень в стиле самопальных интерфейсов, нарисованных полигонами, ну или вебсайтов начинающих. Скажу по секрету, у меня интерфейсы реализованы чтением xml-файлов, в которых по аналогии с HTML и CSS описаны рисуемые элементы, их размеры, пропорции и прочие свойства в атрибутах тегов. Так что возможности практически не ограничены :). Поэтому я и не планирую припахивать никакие осевые интерфейсы открытия файлов и прочего, дабы не городить заросли ветвлений. Но мне нравится минимализм, изображенный на картинке с Буддой. Я подумывал о выпадающей панельке выбора файла. Возможно как в тоталкомандере с точечками хождения по вложенным папкам (потенциально). Попробуйте не ограничивать себя в фантазии в плане дизайна, попробуйте нарисовать дизайн, который вас всем устраивает, но с учетом отсутствия операционно-зависимых окон. Можете панельку выбора тоже изобразить.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Maxim от 01 августа 2017 18:05:32
Главное чтоб был список моделей, чтоб они быстро прогружались и была информация по ним, по текстурам, которые задействованы.
Выглядит на скриншоте от Chuzhoi - красиво, да. Но нам же не на красоту отображения большой модели любоваться, а работать. И работать быстро. Когда под 1000 моделей в папке и когда ты ставишь на уровень какой-нибудь 100500-й стол или факел — там уже не до крутых просмотрщиков с красиво вращающейся моделью.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Chuzhoi от 01 августа 2017 18:13:30
Цитата: Force от 01 августа 2017 18:01:36
Поэтому я и не планирую припахивать никакие осевые интерфейсы открытия файлов и прочего, дабы не городить заросли ветвлений.
Вообще-то вывести системное окно открытия файла и потом прочитать имя выбранного файла - раз плюнуть (https://msdn.microsoft.com/en-us/library/ms646927(VS.85).aspx).

Цитата: Maxim от 01 августа 2017 18:05:32Главное чтоб был список моделей
Я не против, если Форс скажет, что это просто, и согласится. Или скажет, что это непомерно сложно, и согласится.

Цитата: Force от 01 августа 2017 18:01:36
Можете панельку выбора тоже изобразить.
Завтра-тире-послезавтра. Пусть Макс пока порисует.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Chuzhoi от 01 августа 2017 20:27:49
Цитата: Force от 01 августа 2017 18:01:36Скажу по секрету, у меня интерфейсы реализованы чтением xml-файлов, в которых по аналогии с HTML и CSS описаны рисуемые элементы, их размеры, пропорции и прочие свойства в атрибутах тегов.
Это все очень интересно, но есть вопросы:
1. У тебя поддерживаются текстовые поля (в которых можно вводить текст с клавиатуры и копипастить из буфера/в буфер)?
2. Поддерживается ли обработка Mouse Over (чтобы при наведении мыши можно было подсветить кнопку, подчеркнуть надпись, изменить форму курсора мыши и т. п.)?
3. Есть ли возможность реализовать полосы прокрутки (списки-то могут быть большие)?
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 01 августа 2017 22:08:39
Chuzhoi, повторюсь, у меня нет никаких осевых API в проекте, кроссплатформа же. И говоря про заросли ветвлений я имел в виду именно ветвления в этих самых апи.

Когда я делал интерфейс, я ориентировался в первую очередь на воссоздание интерфейса оригинальных воров. Вспоминаем его. Там есть изменение цвета по mouse over, mouse out, mouse active (click), еще там есть выделение элемента (рисуется рамочка вокруг него), ввод текста, скролл списка, чекбоксы и таскание бегунка яркости/громкости :). Я успел сделать только mouse over, mouse out, mouse active. Кроме того реализованы элементы, содержащие текст и смена цвета этого самого текста в зависимости от действий мыши. Ну и обработка клика на таком элементе тоже имеется. Поскольку не предполагается никакой системный интерфейс, скролл длинных списков жизненно необходим, но я отложу это на более поздние этапы разработки программы, как и ввод в поле поиска и сам поиск. Но нарисовать вы можете всё сразу.

По поводу копипасты - не уверен, как и относительно формы курсора.

Кстати да, если есть пожелания относительно интерфейса вора, высказывайтесь. Вдруг вам что-то в нем жутко не нравилось или очень не хватало. А возможно стоит сделать что-то как-нибудь иначе чем там.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Призрак Boris'а3000 от 01 августа 2017 22:52:32
Цитата: Zontik от 01 августа 2017 16:25:03
Во всех остальных случаях редактор неудобен.
И в этом случае он тоже неудобен.

Цитата: Zontik от 01 августа 2017 16:25:03
Хотя что там у TDBonko вообще просматривать-то? Все модели на замену оригинальным
Какая связь между предназначением модели и необходимостью её просмотра?
Ну и повторяю в третий раз:
Цитата: Boris3000 от 01 августа 2017 11:24:37
Так будет куда быстрее подбирать скины для моделей -- http://darkfate.org/forum/index.php?topic=374.msg229382#msg229382

Цитата: Zontik от 01 августа 2017 16:25:03
добавочные легко вычисляются по имени файла: ns - no sword, к примеру. То есть безоружный
Угу. Я это понял уже ПОСЛЕ просмотра. Ну, раз всё так легко, почему бы вам просто не переименовать модели, добавив подобные тыр-пыр к именам файлов? Все эти тыр-пыр вы легко запомните, после чего -- Alt+F7 в Тотал Коммандере.

Цитата: Zontik от 01 августа 2017 16:25:03
Хотя если речь идет о каком-то другом частном случае - тут я, возможно, промахнулся
Их полно, и нетрудно догадаться, что будут ещё. Или мододелание завершилось? Но вы почему-то не хотите посмотреть даже на миллиметр дальше собственного носа.

Цитата: Zontik от 01 августа 2017 16:25:03
на все такие случаи нужна функциональность последней версии Фотошопа
Фотошоп -- редактор. Редактор не нужен. ACDSee будет достаточно.

Цитата: Zontik от 01 августа 2017 16:25:03
если надо накидать идей, чтобы затормозить, а то и полностью парализовать разработку - только скажите
Кидай. Не тебе и не мне решать, затормозит это работу или нет, т. к. мы в этом не разбираемся. Об этом должен сказать исполнитель. Я, например, без понятия, насколько тяжело добавить возможность ручного выбора текстуры. Мне кажется, что это полнейшая ерунда, раз программе по-любому придётся искать некую текстуру в некой папке и её натягивать. Но в любом случае -- сначала составляется список пожеланий, а потом уже из них выбираются реальные. И делать это надо совместно с программистом, а не самому.
И что касается моих пожеланий, то, если кто до сих пор не понял, они касаются конечной версии программы, а не начальной.
[spoiler]Хотя я сильно опасаюсь, что начальная и конечная версии -- это будет одно и то же.[/spoiler]

А чего лично ТЫ кипятишься, я вообще не понимаю -- ты этой проги даже не увидишь. Или ты уже купил себе GTX 1090 Ti?


Цитата: Chuzhoi от 01 августа 2017 17:32:55
выводить модель в маленьком окошечке без возможности покрутить - это несколько кощунственно
Да. Если маленькое окошечко, то должна быть возможность по клику просмотреть в полный рост, как картинку на форуме. Иначе придётся покупать монитор, как у Вороба.
Ну или хотя бы по вертикали вытянуть окошко на высоту экрана.

Цитата: Chuzhoi от 01 августа 2017 17:32:55
идея возможности задавать дополнительные папки для поиска текстур, безусловно, хороша. Но это можно сделать в ini-файле, который редактируется текстовым редактором
Как? На каждый скин закрывать прогу, лезть в FAR, открывать иник, вбивать туда руками путь для текстур, потом снова запускать прогу? Проще тогда как обычно -- накопировать в том же FAR'е скинов в общую кучу и переименовывать их.

Что касается интерфейса, то до тех пор, пока к просмотрщику не будет прикручен функционал каталогизатора, я за вариант Чужого.


Цитата: Maxim от 01 августа 2017 17:53:12
Откуда берутся какие-то уже ваши заключения о том, что надо и как это должно быть?
Оттуда, что вы тут не одни. И если реализовать что-то дополнительное не составляет особого труда, то почему нет?

Цитата: Maxim от 01 августа 2017 17:53:12
Если сделать не получается как мы написали, то не надо делать вообще ничего. Потому что другого нам не надо
Сильная заява. Не надо вам -- надо другим.

Цитата: Maxim от 01 августа 2017 17:53:12
быстро найти/вспомнить какую-нибудь модель для определённой локации или заниматься перебором подходящих моделей в окне просмотрщика. Как в магазин сходить и выбирать с витрины
А в магазинах у нас что уже давно? Правильно -- компьютеры с СУБД.
Други, вы сами не понимаете, что вам надо. То есть не понимаете, как это называется. Просмотрщик -- это программа, которая предоставляет ПОЛНЫЕ возможности по просмотру объектов заданного типа, и при этом не предоставляет никаких средств для их автоматизированного поиска -- только вручную по дереву Проводника.
А то, что описал и нарисовал ты, называется каталогизатор. С превьюшками. Таким образом именно функционал СУБД выходит в ваших требованиях на первый план, а просмотр -- это лишь довесок. Потому что там, где необходимо ИСКАТЬ, там привет СУБД.
И "поиск" методом перелистывания всей кучи вручную -- это не поиск, а извращение. Ненамного лучше, чем перебирать в Дромеде. Это лишь отсрочивает наступление "информационного коллапса", но не решает проблему на корню.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: nemyax от 01 августа 2017 23:41:52
А дайте ссылку на пак с ТЫСИЧЯМЕ объектов. Хоть посмотреть, о чём базар.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Призрак Boris'а3000 от 02 августа 2017 00:23:35
nemyax
10 по 100 или 100 по 10 устроит? Лезешь к Риффу на ФТП, Pub\edirors\dromed, и там папки models и objects. Я даже попыток не предпринимал просмотреть всё это добро через редактор.

А, и ещё есть тысиче с гаком ФМ-ок, которые тоже неплохо бы просмотреть, что из них можно скомуниздить.
И ещё штук 10-20 текстурно-объектных паков для оригинала.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: nemyax от 02 августа 2017 09:26:39
Цитата: Maxim от 01 августа 2017 17:53:12
Вот говорят, мол, TTLG — там крутые чуваки, да разное могут. А у нас Force, который аж движок создаёт, ещё и в одиночку. Обалдеть.
Ну на ttlg был тов. Volca, который пилил в одиночку собственный движок (https://sourceforge.net/projects/opde/), но он накодил рендеринг и сдулся. Не сдуваются в этом деле только самые упёртые.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 02 августа 2017 10:01:23
nemyax, он использовал Ogre 3D для рендеринга. То есть, можно сказать, он пошел по популярному пути на тот момент - взять готовый графический движок. Основная заслуга Волки в том, что он описал в своем движке загрузку основных форматов ресурсов, используемых вором. Именно его исходники я исследую в поисках описания форматов. Читать код оригинального вора для этих целей не представляется возможным... по крайней мере для меня.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: nemyax от 02 августа 2017 10:21:01
Цитата: Force от 02 августа 2017 10:01:23
Читать код оригинального вора для этих целей не представляется возможным... по крайней мере для меня.
То есть даже опытному программисту этот код кажется макаронным монстром?
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 02 августа 2017 10:37:43
nemyax, да, он ужасен. Возможно, если б я поковырялся в нем месяцок, я бы чувствовал себя там уверенно, но не вижу в этом смысла... Смысл был бы ковыряться в Нью Дарке, но его тщательно прячут. Но главный нюанс заключается в том, что C++ - не моя основная специальность, поэтому есть возможность просто не работать с плохим кодом, а отсюда и меньший опыт разбираться в "сортах говна"  :rolleyes:, уж простите мой французский :biggrin:. Мне очень понравился современный C++, его мощь, гибкость и потенциал, поэтому изучение шло легко и увлекательно. Я пока изучал плюсы, значительно усовершенствовал программистские навыки в общем, крайне толковая книжка попалась с дельными рекомендациями.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Zontik от 02 августа 2017 11:05:47
ЦитироватьА вот идея возможности задавать дополнительные папки для поиска текстур, безусловно, хороша
Текстуры могут находиться только в трех жестко фиксированных местах. Если они там не находятся, пользователю просто следует навести порядок на своем жестком диске. И если что, это не я сказал, а PinkDot, но я с ним полностью согласен.
ЦитироватьГлавное чтоб был список моделей
+100%. Это основная функциональность программы, как можно прятать ее в выпадающие окошки?
ЦитироватьА чего лично ТЫ кипятишься, я вообще не понимаю -- ты этой проги даже не увидишь.
Да я сам не знаю. По сути, идея Максима, ему эта программа нужна как хлеб, и не в необозримом будущем, а прямо сейчас. Поэтому я против всего, что может неоправданно затормозить выпуск хотя бы пилотной версии. Мне эти частные случаи кажутся совершенно не оправданными.
А потом, ведь и у меня может сломаться какая-нибудь железка. Никто не застрахован.
ЦитироватьА дайте ссылку на пак с ТЫСИЧЯМЕ объектов.
Ссылку не дам, но сейчас глянул в давно забэкапленной версии - так там в папке OBJ 1271 файл. Текстуры не в счет, конечно. Хорошо, штук 200 я могу отсеять просто по именам. Но даже в тысяче ориентироваться уже... малореально. Особенно когда не помнишь точно, есть ли у тебя модель, которую ты ищешь.
А вообще есть хороший способ избавиться от нужды в просмотрщике. Не надо просто городить кампаний. Краткость - сестра таланта.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Призрак Boris'а3000 от 02 августа 2017 12:14:37
Цитата: Zontik от 02 августа 2017 11:05:47
Текстуры могут находиться только в трех жестко фиксированных местах. Если они там не находятся, пользователю просто следует навести порядок на своем жестком диске.
А, то есть "навести порядок на жёстком диске" -- это растиражировать все пургаторовские скины по всем моделям персонажей. Соответственно, каждую модель придётся ещё и поместить в отдельную папку, в чём совершенно нет необходимости, если у модели нет чётко назначенного скина. При этом для некоторых операций (например пакетная обработка файлов) бывает удобнее, чтоб всё лежало в одной папке.
Извините, но я не слишком большой любитель плодить дубликаты файлов. И чтоб что-то изменить в одном скине, надо потом ещё и менять все копии. Вот уж порядок так порядок. Шурик, это не наши методы. (с)

Цитата: Zontik от 02 августа 2017 11:05:47
это не я сказал, а PinkDot
Не надо повторять за людьми всякие глупости. "Порядок на винте" определяется вовсе не структурой Вора.
А иначе я могу точно так же сказать -- "модели в игре могут находиться только в двух жёстко фиксированных местах. Если они там не находятся, пользователю просто следует навести порядок на своем жестком диске."
Ну, типа, чтоб игру запустил и сразу увидел желаемую модель. И просмотрщик не нужен. Железная логика, да? Вот и делай себе по копии игры на каждую модель.

А идея о ручном выборе текстуры, она даже не просто хороша -- это настолько естественная вещь, что это даже и не идея вообще. Это просто сама собой разумеющаяся вещь. Кто хоть раз пробовал подбирать скин для модели, тот поймёт.

Цитата: Zontik от 02 августа 2017 11:05:47
ведь и у меня может сломаться какая-нибудь железка. Никто не застрахован.
Ну так ты ведь останешься верен принципам до конца, айда на Авито, и купишь себе на замену точно такое же, верно? :biggrin:
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 02 августа 2017 12:30:10
Boris3000
Цитата: Boris3000 от 02 августа 2017 12:14:37
купишь себе на замену точно такое же
Я так полагаю, средний род тут выбран неспроста  :biggrin:.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Призрак Boris'а3000 от 02 августа 2017 13:00:18
Цитата: Force от 02 августа 2017 12:30:10
Цитата: Boris3000 от 02 августа 2017 12:14:37
купишь себе на замену точно такое же
Я так полагаю, средний род тут выбран неспроста  :biggrin:.
Ага. "Устройство". :biggrin:

Хотя если брать те времена, то у Зонтика весьма крутая видюха. У неё аж 256-битная шина памяти вкупе с GDDR3 одновременно. Только благодаря этому у Зонтика и ворочается сейчас хоть что-то.
Я даже слегка удивлён -- как это Зонтик, не гонясь за вооружениями, купил такую.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: nemyax от 02 августа 2017 14:34:38
[off]

Force
Что за книжка про плюсы?
[/off]
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Zontik от 02 августа 2017 14:43:41
ЦитироватьНу так ты ведь останешься верен принципам до конца, айда на Авито, и купишь себе на замену точно такое же, верно?
Нет. Будет жестокая ломка и случится наконец неизбежное. А вообще прогнозы строить - дело неблагодарное.
ЦитироватьЯ даже слегка удивлён -- как это Зонтик, не гонясь за вооружениями, купил такую.
Очень просто - нужно было решение, которое оставалось бы актуальным как можно дольше. Вот с этим просмотрщиком впервые столкнулся с проблемами, но все-таки 10 лет прошло.
Зато у меня миссии от ST до их пор идут так, что в них даже немного можно играть. Главное - не прыгать через ямы посреди города, остальное терпимо.
ЦитироватьКто хоть раз пробовал подбирать скин для модели, тот поймёт
Борис, вот если не секрет - зачем тебе это? Ну хорошо, я пробовал. В редакторе, за неимением других способов. Не скажу, что архиудобно. Но это требуется относительно редко, чтобы не заморачиваться комплексными решениями. И это мне требуется редко, так что я с трудом представляю себе круг задач, при котором это требовалось бы часто.
Хотя... если есть поклонники у ACDSee, почему бы им не быть и у другого навороченного софта. Не все же чистят зубы обычной щеткой, некоторые предпочитают с мотором.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 02 августа 2017 14:51:04
nemyax https://www.ozon.ru/context/detail/id/2610625/
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Призрак Boris'а3000 от 02 августа 2017 15:46:34
Цитата: Zontik от 02 августа 2017 14:43:41
нужно было решение, которое оставалось бы актуальным как можно дольше.
Об этом имеет смысл задумываться только насчёт того, на замену чего нужно много времени и/или денег. Вот мать сменить на несовместимую -- это писец, да. Поэтому материнка выбирается тщательно. Процессор -- у кого как. У кого-то легко поменять, у кого-то надо разбирать весь системник до винтика. У меня второй вариант, поэтому процессор я купил как раз по этому принципу -- чтоб как можно дольше не менять. Заодно он позволяет не менять и материнку.
Но такие вещи как видеокарта, память, винт меняются на раз-два -- одну вытащил, другую вставил, всё. Максимум, обновить видеодрова ещё. Поэтому никакого смысла закладываться на долгосрочное использование видеокарты нет. И мощная видеокарта обычно покупается тогда, когда этой мощи хочется прямо сейчас.

Цитата: Zontik от 02 августа 2017 14:43:41
зачем тебе это?
У меня перманентная вялотекущая возня с апдейтом оригинала. Хобби такое. Да, я знаю, что ты этого не понимаешь и понимать не хочешь. Но мало ли кто из нас чего не понимает...
В частности я хотел (и хочу) сделать готовый к употреблению пак персонажей из тех моделей и скинов, которые есть в наличии. На данный момент это не реализовано ни в одном моде. Есть что-то похожее в NecroAge, но это мод-прикол -- его серьёзно воспринимать нельзя.
Скинов этих -- овердойуха (извините). Плюс, я ещё вошёл во вкус, стал пересаживать им лица и прочие запчасти. Пытался подобрать лица под голоса и т. д. В итоге дело затянулось и подзаглохло, хотя наполовину готово.
Так вот для каждых модели и скина переименовывать файлы, копировать их в то самое предназначенное для них место, заново открывать миссию и добегать до того места, где стоит этот персонаж -- это писец. Это приходится делать сотнями раз, и если б не это, пак был бы уже давно готов.

Цитата: Zontik от 02 августа 2017 14:43:41
чтобы не заморачиваться комплексными решениями
Какие ещё "комплексные решения" и какие ещё заморочки? Где заморочки, в чём? И почему опять это утверждаешь ты? Ты программист?

Цитата: Zontik от 02 августа 2017 14:43:41
это мне требуется редко
В этом как раз ничего удивительного нет. Т. к., во-первых, тебе пофиг на угловатые модели с чудовищными лицами и убогими скинами. А во-вторых, если вдруг станет не пофиг, то скорее всего тебе изготовят на заказ -- одну модель и один скин, поэтому подбирать не придётся.
Я же занимаюсь перебором имеющихся в наличии сочетаний, коих сотни. И даже когда перебор завершится, это не значит, что возможность ручного выбора текстур станет неактуальной, т. к. Пургатор и Ко ещё не ушли на пенсию.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 02 августа 2017 15:59:52
Boris3000, ну по поводу видюхи - это ты не подумавши ляпнул. Мы не обижаемся. :)
А что касается скинов - это сделать не сложно, но далеко не в первую очередь. Потому что и не особо просто.
Я предлагаю вам составить список реальных хотелок, я бы написал напротив каждой краткое резюме. Это бы положило конец спорам.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Zontik от 02 августа 2017 16:29:38
ЦитироватьХобби такое.
Понял. Ну что, вполне убедительная причина.
ЦитироватьПытался подобрать лица под голоса
Далеко зашел, однако, но в правильном направлении.
Цитироватьзаново открывать миссию и добегать до того места, где стоит этот персонаж
persistent_player_pos 1
Если наврал в синтаксисе, прошу простить, но, по-моему, именно так. Минус одна операция на каждое действие. У меня это вшито в startup.cmd. Пригодится, пока просмотрщик не готов.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Призрак Boris'а3000 от 02 августа 2017 16:47:02
Цитата: Zontik от 02 августа 2017 16:29:38
Далеко зашел, однако, но в правильном направлении.
Направление, может, и правильное, но практически тупиковое -- разрабы не озаботились привязкой актёров к конкретным моделям. В итоге один и тот же скин говорит голосом то прокуренного забулдыги, то студента-интеллигента.

Цитата: Zontik от 02 августа 2017 16:29:38
persistent_player_pos 1
Это у меня всё настроено. Всё, что касается максимально быстрого добирания до заданной точки, есть -- Гарретта аж заносит на поворотах. И летать тоже умеет.
Только причём тут оно, если для смены модели и/или скина миссию надо перезапустить? Или есть способ без перезапуска?
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Zontik от 02 августа 2017 22:36:11
Нет, без перезапуска никак. Увы.
Цитироватьразрабы не озаботились привязкой актёров к конкретным моделям
Если уж ты полез в редактор, то вполне можешь сделать это вручную. Для каждого из персонажей, конечно, по отдельности. Движок действительно назначает голос случайным образом, но только при условии, что он не был до этого назначен принудительно.
В своих миссиях я именно так и поступаю - в тех редких случаях, когда это почему-либо важно.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: HellRaiser от 03 августа 2017 00:20:57
Цитата: Maxim от 01 августа 2017 17:53:12
программа выглядит в стиле поделки программиста первокурсника.
медленно сползаю под стол. Не, Макс, всё наоборот :lmao:

Цитата: Maxim от 01 августа 2017 17:53:12
Если сделать не получается как мы написали, то не надо делать вообще ничего. Потому что другого нам не надо.
Ладно, не гневи Чужого, он всё правильно говорит :) Даже собрал хотелки почти в одно сообщение. Ничо попож отредактируем.

Force, я к сожалению в сотнях километров от тебя, но очень хоцца пожать тебе руку :agree: Просто "no comments", просто респект!


Цитата: nemyax от 02 августа 2017 14:34:38
[off]

Force
Что за книжка про плюсы?
[/off]
Я бы тебе для начала вот эту (http://rutracker.org/forum/viewtopic.php?t=1471956) посоветовал. Тыж давно не новичок уже :)  я старое издание читал, но наверное уже родили и поновее. Мне понра. Остальное чтиво в личку покидаю. Но эт тоже хорошая книга.

короче резюмирую:
идея с веб-версией мне очень понравилась, но я в пэхэпэ не очень. Хотя, есть такое древнее говно мамонта под названием cgi, при том что оно платформозависимое, ну да ладно. разберёмся. Пусть это будет долгоиграющими планами...
Самая трезвая мысля была от немаекса: накидать по-быстренькому (мне походу) прогу под виндуз, взяв наработочки от Форса.
Вы как на это смотрите? (быстро конечно не обыщаю, тут фатальных обстаканательств дохрена, но по возможности яб помог чем смог - т.е. сделал верхушку, близкую к ТЗ)
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Призрак Boris'а3000 от 03 августа 2017 02:38:52
[off]
Цитата: HellRaiser от 03 августа 2017 00:20:57
есть такое древнее говно мамонта под названием cgi
Can't Go Instantly[/off]
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 03 августа 2017 10:25:56
HellRaiser, спасибо за респект.

Цитата: HellRaiser от 03 августа 2017 00:20:57
Я бы тебе для начала вот эту (http://rutracker.org/forum/viewtopic.php?t=1471956) посоветовал. Тыж давно не новичок уже :)  я старое издание читал, но наверное уже родили и поновее. Мне понра. Остальное чтиво в личку покидаю. Но эт тоже хорошая книга.
А я бы - не посоветовал, по причине его как раз-таки ее старости. Я не просто так написал, что мне нравится именно СОВРЕМЕННЫЙ C++. Хотя, каждому свое... Если вы используете printf, getc, fopen и malloc и pointer hell вас не смущает, равно как и ручное управление памятью - то да, пожалуйста можно читать :biggrin:. Хотя, я бы предложил не развивать эту тему здесь.

Цитата: HellRaiser от 03 августа 2017 00:20:57
Самая трезвая мысля была от немаекса: накидать по-быстренькому (мне походу) прогу под виндуз, взяв наработочки от Форса.
Если взялся делать вместо меня - возьми тогда наработочкики от Volca, у которого их брал я. Там по крайней мере полная версия.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: HellRaiser от 03 августа 2017 10:39:09
[off]
Цитата: Force от 03 августа 2017 10:25:56
А я бы - не посоветовал, по причине его как раз-таки ее старости. Я не просто так написал, что мне нравится именно СОВРЕМЕННЫЙ C++.
Ну какбе за всеми синтаксическими конфетками скрывается конкретная реализация. А как оно там внизу реализовано, желательно знать хотя бы общие принципы, которые более прозрачны как раз в старых книжках. Да и не длинная она, на вечерок всего :)
[/off]

Цитата: Force от 03 августа 2017 10:25:56
Если взялся делать вместо меня - возьми тогда наработочкики от Volca, у которого их брал я. Там по крайней мере полная версия.
Я пока финального решения (что взялся) озвучивать бы не хотел [spoiler](но видят небеса, что к этому всё идёт и так и придётся)[/spoiler], но сорцы Волки надо посмотреть. Сцылочка на код есть (или уже была и я проглядел)? Всё, нашёл, OPDE же :)
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 03 августа 2017 11:35:03
Ну что, я тогда официально могу умыть руки, раз ты такой шустрый? :biggrin:
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: HellRaiser от 03 августа 2017 12:40:10
Более-менее жопа законч дела разгребаются. Надеюсь, что буду посвободнее чуток во второй половине месяца и время останется на говнокодинг поделочку.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Призрак Boris'а3000 от 03 августа 2017 17:50:37
[off]
Цитата: Zontik от 02 августа 2017 22:36:11
Если уж ты полез в редактор, то вполне можешь сделать это вручную.
Ковырять миссии можно только в том моде, который основной, базовый. А всякие довески должны быть с этим, основным, модом совместимы, поэтому в них не должно быть файлов миссий. Так что если только через dml. Через dml это можно сделать?[/off]
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Chuzhoi от 03 августа 2017 21:57:17
Force, реально такую штуку соорудить? Чтобы работала максимально близко к тому, как работала бы с системным GUI.

(http://chuzhoi.city/images/darkfate/bin-viewer-filelist.jpg)
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Zontik от 03 августа 2017 23:36:33
[off]
ЦитироватьЧерез dml это можно сделать?
Не пробовал никогда связываться с DML, но насколько я в курсе - препятствий никаких нет. У DML ведь вроде как приоритет. Все, что тебе нужно - переписать свойство Speech > Voice (или SpchVoice по справочику свойств, наверное, так оно и именуется в DML). Попробуй на каком-нибудь единичном экспонате, и если сработает - можешь смело задавать соответствия лицам.
Есть, правда, маленький нюанс: это свойство нельзя заменить динамически (в ходе игры). Но DML, будем надеяться, это другая тема. Возможно, они подгружаются еще до того, как игра стартует.[/off]
Chuzhoi, до меня только сейчас дошло, как это здорово - темный фон. Большинство-то текстур в игре достаточно темные, и яркий фон экрана их попросту забивает. Глаз адаптируется к усредненной (по площади) яркости и ни хрена не видит.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Призрак Boris'а3000 от 04 августа 2017 03:34:46
Chuzhoi
То, что слева, -- это просто проводник с поиском по имени файла? А что за кнопка с крестом справа от строки поиска?
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: nemyax от 04 августа 2017 07:46:08
Boris3000
Очистка строки поиска.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 04 августа 2017 08:11:15
Chuzhoi, думаю, да. Я сейчас как раз начал реанимировать свои интерфейсные функции (после очередного переписывания рендерера они устарели и я их заморозил), так что работа уже идет. Как что-то вырисуется, я покажу.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Chuzhoi от 04 августа 2017 08:34:31
Force, очень хорошо. А еще пофантазировать можно будет? Или этого пока хватит?

Цитата: Boris3000 от 04 августа 2017 03:34:46
Chuzhoi
То, что слева, -- это просто проводник с поиском по имени файла? А что за кнопка с крестом справа от строки поиска?
Да, типа того. Поиск просто по текущей папке (фактически фильтр). Крестик - очистка поля поиска и вывод всех файлов.

[off]
Цитата: Zontik от 03 августа 2017 23:36:33Chuzhoi, до меня только сейчас дошло, как это здорово - темный фон
Именно поэтому я часто делаю рендеринг на черном фоне: на нем даже темные модели выглядят эффектно. С другой стороны, можно немного обмануться с яркостью: модель, которая хорошо смотрелась на черном фоне, может оказаться слишком темной в игре. Но лично я все равно частенько делаю рендеринг на черном. Больше вероятность, что заказчик скажет "Вау". А яркость, если что, можно потом и подправить.[/off]

Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 04 августа 2017 09:13:47
Chuzhoi, конечно, фантазируйте, главное помнить о реализме ;).
А вообще, главное сейчас - выпустить прототип.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Chuzhoi от 05 августа 2017 11:19:30
Цитата: Force от 01 августа 2017 22:08:39
Chuzhoi, повторюсь, у меня нет никаких осевых API в проекте, кроссплатформа же.
Интересно, получается, просмотрщик будет кросплатформенный? Его и на Линуксе можно будет запустить?

Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 05 августа 2017 11:45:11
Chuzhoi, да.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Chuzhoi от 10 августа 2017 04:32:26
Я обещал еще пофантазировать. Force, слабо такую штуку реализовать?

(http://chuzhoi.city/images/darkfate/bin-viewer-explorer-mode.jpg)

Эй, Force, ты куда побежал?
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Zontik от 10 августа 2017 09:15:49
Я уже столкнулся с функциональностью подобной штуки, когда число текстур перевалило за пять сотен. Теперь если мне надо найти какую-то конкретную текстуру - приходится готовить чай с бутербродами. Сначала все это добро минуту-две грузится на экран, а потом начинается пролистывание с просматриванием, причем где-то после первой трети мозги плывут, концентрация рассеивается и приходится напоминать себе, а что я, собственно, ищу. Несколько раз банально пропускал найденное и искал по второму и даже третьему разу.
Короче, при больших объемах такая штука становится совершенно неосязаемой. При небольших - вполне удобно, но со списком все равно не сравнить.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 10 августа 2017 10:06:31
Цитата: Chuzhoi от 10 августа 2017 04:32:26
Я обещал еще пофантазировать. Force, слабо такую штуку реализовать?
...
Эй, Force, ты куда побежал?
Побежал делать...  :biggrin: Сделать-то не слабо, и можно даже сделать ее быстрой и нетормозящей, как правильно заметил Зонтик (тем более что все текстуры запросто могут не влезть в видеопамять)... Только вы определитесь конкретнее. Я пока ориентируюсь вот на эту:
(http://chuzhoi.city/images/darkfate/bin-viewer-filelist.jpg)
Zontik, можешь ее приклеить к первому посту? Кстати, вариант со значками тоже можно. Для обсуждения.

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

Насколько я помню, в XP просмотрщик папок с фотками мог так же трансформироваться, либо ты смотришь на крупные значки, либо на список мелких превьюшек внизу с просмотром полноценной фотки вверху, которую можно вращать. Причем для поиска нужной мне фотки я всегда выбирал вариант многих превьюшек и быстро находил нужную, а для просмотра ВСЕХ фоток последовательно - пользовался нормальным просмотрщиком. Но это я. Правда, кому и зачем понадобится просматривать все модели последовательно - это вопрос.

Можно сделать два режима, но что-то подсказывает мне, что использоваться будет только один.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Zontik от 10 августа 2017 10:34:58
Ну, поскольку мне с этой программой не работать в обозримом будущем, я, пожалуй, на этот раз воздержусь от хотелок. Спорный вопрос, на самом деле, я боюсь, что из варианта со множеством картинок получится опять какой-нибудь тормозной монстр, которым неудобно будет пользоваться. И свою главную задачу - посмотреть конкретную модель - эта программа будет решать через пень-колоду, поскольку сначала надо будет долго листать до нужного места, читая имена файлов и невольно отвлекаясь на картинки.
[off]А что, после XP трансформировать просмотр уже нельзя?[/off]
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Призрак Boris'а3000 от 10 августа 2017 10:56:31
А если сделать гибрид -- чтоб в исходном варианте список слева мог трансформироваться из списка файлов в список превьюшек и обратно. В одну или максимум в две колонки. Когда много колонок, глаза разбегаются и легко что-то пропустить, Зонтик тут прав.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Maxim от 10 августа 2017 13:03:14
ЦитироватьА что, после XP трансформировать просмотр уже нельзя?
[off]Можно. Причём, эта опция стала ещё гибче.[/off]
ЦитироватьНу, поскольку мне с этой программой не работать в обозримом будущем
Так в итоге почему? Из-за ОС или из-за карты? У тебя ж вроде не древняя карта. Вон даже Соул_Тира играешь.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: spy от 10 августа 2017 13:15:11
Есть такая утилита, Slade http://slade.mancubus.net/index.php?page=about, работает со многими движками семейства id (и не только). Может было бы проще связаться с автором, он бы добавил поддержку Т и Т2
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Zontik от 10 августа 2017 14:17:09
ЦитироватьИз-за ОС или из-за карты?
Force говорит, из-за карты. Dx10 им подавай. А между 9 и 10 находится компенсационный зазор. Если бы не намеренное разделение функциональности, моя карта еще бы работала и работала. Да, миссии S_T тянет получше некоторых новых. Что лично мне говорит следующее: дело вовсе не в прогрессе, а в элементарном маркетинге. Ну так хрен им. Не получат от меня вообще ничего.
Впрочем, я думаю, в ОС тоже во что-нибудь бы да уперлось. Этих XP тоже как собак нерезаных. А подойдет версия, так потребуются различные навески в неадекватном количестве. В общем, я закатался обратно. Пролистал вручную все 1000+ моделей (на этой неделе закончил), все нужные отобрал. Следующий раз будет не скоро.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 10 августа 2017 15:17:50
Цитата: Zontik от 10 августа 2017 14:17:09
ЦитироватьИз-за ОС или из-за карты?
Force говорит, из-за карты. Dx10 им подавай. А между 9 и 10 находится компенсационный зазор. Если бы не намеренное разделение функциональности, моя карта еще бы работала и работала. Да, миссии S_T тянет получше некоторых новых. Что лично мне говорит следующее: дело вовсе не в прогрессе, а в элементарном маркетинге. Ну так хрен им. Не получат от меня вообще ничего.
Zontik, не совсем так... Дело в возможностях самой видеокарты. А если быть еще более точным, то в драйверах видеокарты, которые эти возможности предоставляют. Бывают случаи, когда это упирается в маркетинг, но это далеко не всегда так. Так уж вышло, что поддерживать старое железо часто бывает не только бессмысленно, но и трудоемко. Поэтому и существуют некие "отсечки" в АПИ, в DX - это происходит очень жестко, в OpenGL - менее. Но я выбрал OpenGL 3 не только по причине железа, а по причине некоей "большей стандартности", то есть, OpenGL 3 на уровне кода минимально отличается от OpenGL 4... Тогда как OGL 2 - имеет слишком много особенностей, что не позволит использовать одинаковые шейдеры и функции вызова в коде, а это приведет к излишнему усложнению кода. А если подумать, то ради чего? Ради двух пользователей, которые решат проверить работоспособность проекта на своем старом ноутбуке? Вот честно, мне несоизмеримо легче и дешевле будет купить новую видеокарту, приехать к тебе лично и вручить её прямо в руки. Поэтому нежелание апгрейдить эту деталь мне видится неразумными, особенно, если возможность есть и нынешняя видюха УЖЕ вызывает неудобства в каких-то других ситуациях.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Chuzhoi от 10 августа 2017 15:43:10
Цитата: Boris3000 от 10 августа 2017 10:56:31
А если сделать гибрид -- чтоб в исходном варианте список слева мог трансформироваться из списка файлов в список превьюшек и обратно.
Именно это я и имел в виду. Два режима. Это - режим обозревателя, в отличие от режима просмотра. Переключаются режимы по нажатию клавиши, например, Enter (видите надпись "Press Enter to exit explorer mode"?) Рамкой выделена модель, которая в данный момент открыта в режиме просмотра и к которой мы можем вернуться, нажав Enter. Естественно, если мы кликнем на другую модель, то откроется другая модель.

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

Если данная задача слишком непосильна, то, вероятно, следует как-то ее упростить. Например, отказаться от одного из режимов вообще (и мне кажется, что это режим обозревателя). Или, например, отказаться от списка в режиме просмотра, но оставить обозреватель (но почему-то некоторым нужен именно список).

Цитата: Zontik от 10 августа 2017 09:15:49
Я уже столкнулся с функциональностью подобной штуки, когда число текстур перевалило за пять сотен. Теперь если мне надо найти какую-то конкретную текстуру - приходится готовить чай с бутербродами. Сначала все это добро минуту-две грузится на экран
Все зависит от квалификации программиста. Если генерация каждой превьюшки занимает значительное время, то превьюшки стоит закэшировать (технически я продумал, где и как хранить превьюшки, пара вариантов у меня есть - хотя здесь ничего сложного). В идеале на относительно современной даже огромные папки должны грузиться за пару секунд (по крайней мере, по второму разу; но ведь вы все время с одними и теми же папками работаете, не так ли?)

Цитата: Zontik от 10 августа 2017 09:15:49Короче, при больших объемах такая штука становится совершенно неосязаемой. При небольших - вполне удобно, но со списком все равно не сравнить.
Я бы не сказал, что этот режим бесполезен. От может быть очень удобен, в т. ч и в больших папках, но все зависит от того, как он реализован (в т. ч. и с  дизайнерской точки зрения). Я не исключаю, что мою картинку следует несколько доработать, чтобы превьюшки воспринимались лучше - сделать интерфейс потемнее, отрегулировать размер превьюшек и расстояние между ними, чтобы все это нормально смотрелось на среднестатистическом экране (в идеале размер превьюшек должен регулироваться, но тогда Форс уж точно от нас сбежит). Хотя мне кажется, что и сейчас все не так уж плохо.

Для упрощения поиска сверху есть фильтр по имени файла - такой же, как и в режиме просмотра. Он должен работать по любой части имени файла (а не только по началу).

А вообще, я в Windows практически всегда просматриваю папки с фотографиями таким образом (благо размер превьюшки можно регулировать на лету):

(http://chuzhoi.city/images/darkfate/explorer-win.jpg)

И просто не понимаю, что может быть удобнее. Правда, Windows не показывает превьюшки для некоторых типов файлов (ARW или тот же DDS, например), и приходиться пользоваться XN View. А там этот режим реализован уже не настолько внятно, но при должной настройке вполне юзабелен.

Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Призрак Boris'а3000 от 10 августа 2017 15:48:59
Цитата: Zontik от 10 августа 2017 14:17:09
миссии S_T тянет получше некоторых новых
Это ты загнул. Вряд ли среди 1000-го семейства nVidia найдётся карта слабее твоей. Поэтому сейчас можно брать самую простенькую. При этом она будет поддерживать все современные фишки касательно и игр и воспроизведения видео, она будет с пассивным охлаждением, значит не будет проблем с поломками вентилятора, а комп станет тише, она будет намного холодней и экономичней (ватт на 70-75 под нагрузкой с учётом КПД блока питания) и хотя бы частично отобьёт затраты на её покупку, она будет давать меньшую нагрузку на блок питания, и с ней будет достаточно блока питания меньшей мощности и возможно тоже пассивного, с ней комп будет дольше работать на бесперебойнике.
Поэтому сидеть с устаревшим, ослабшим, пожирающим электричество и греющим воздух монстром совершенно бессмысленно, учитывая, как легко заменить видеокарту. Так же как и бессмысленно покупать видеокарты на будущее. Если не нужна производительность прямо сейчас, надо покупать простенькие дешёвенькие видеокарточки и часто менять их -- по производительности будет как минимум не хуже (в среднем за весь период), но в довесок будут ещё и все вышеперечисленные плюсы.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Chuzhoi от 10 августа 2017 16:24:15
[off]
Цитата: Zontik от 10 августа 2017 14:17:09
Да, миссии S_T тянет получше некоторых новых.
По-моему, для миссий ST (как и для любых графически сложных миссий на Dark Engine) важнее мощность процессора, нежели видеокарты. Движок такой.[/off]
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Призрак Boris'а3000 от 10 августа 2017 16:36:56
[off]Chuzhoi
Не, так с ddfix'ом было. У Нью-Дарка с этим всё в порядке.[/off]
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Maxim от 10 августа 2017 16:38:15
Boris3000 всё правильно сказал. А что скажешь насчёт своей 9600GT? Тебе хватает?
Chuzhoi всё правильно сказал. Движок не умеет нормально фунициклировать с внедрениями по современным тенденциям. Плохо переваривает, тормозит и мощность процессора по-идее должна сгладить это.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Призрак Boris'а3000 от 10 августа 2017 17:01:00
Цитата: Maxim от 10 августа 2017 16:38:15
А что скажешь насчёт своей 9600GT? Тебе хватает?
Если поставить требование, чтоб фпс нигде не проседал ниже 60 на максимальной и в игре и в дровах графике, то не хватает. Но так как таких мест мало, то можно считать, что хватает. Для того, во что я иногда поигрываю (старьё всякое 2000 - 2005 годов).

[off]
Цитата: Boris3000 от 10 августа 2017 16:36:56
Не, так с ddfix'ом было. У Нью-Дарка с этим всё в порядке.
Хотя, возможно, у меня немного ложное ощущение этого, т. к. у моего компа совершенно неигровое сочетание процессора и видеокарты. Но то, что Нью-Дарк гораздо лучше загружает видеокарту и значительно разгружает процессор по сравнению с ddfix'ом, -- это стопроцентно.[/off]
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Zontik от 10 августа 2017 17:04:09
Force, нет нужды оправдываться. Я прекрасно понимаю, что у тебя есть причины делать так, а не иначе, а не просто какие-то там капризы. Но у меня тоже никаких неудобств нет, это пока первое, да и то теоретическое пока.
ЦитироватьЯ бы не сказал, что этот режим бесполезен.
Конечно, он не бесполезен, но лично для меня он просто не на первом месте по востребованности. И Борис совершенно прав, такая каша на экране вызывает мгновенный мозговой паралич. Две колонки - абсолютный максимум, даже если в ущерб отображению сразу всего на экране.
ЦитироватьОн должен работать по любой части имени файла (а не только по началу).
Золотые слова!
ЦитироватьПо-моему, для миссий ST (как и для любых графически сложных миссий на Dark Engine) важнее мощность процессора, нежели видеокарты. Движок такой.
Я в этом вопросе не эксперт, но чем в первую очередь характерны миссии ST? Размерами текстур и количеством полигонов на объектах. Если движок перекладывает всю работу по их отрисовке на процессор... фиг его знает, но тогда у меня, получается, вообще суперкомпьютер: бессмертная видеокарта и мощнейший даже по сегодняшним меркам процессор.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Призрак Boris'а3000 от 10 августа 2017 17:28:44
Цитата: Chuzhoi от 10 августа 2017 15:43:10
Цитата: Boris3000 от 10 августа 2017 10:56:31
А если сделать гибрид -- чтоб в исходном варианте список слева мог трансформироваться из списка файлов в список превьюшек и обратно.
Именно это я и имел в виду.
Нет, ты не это имел в виду. Вернее я не это имел в виду. Ты меняешь вид всего окна. А я предлагаю переключать лишь вид списка -- голые имена / превьюшки, правая же часть с полноразмерным просмотром остаётся без изменений, разве что немного сужаясь по горизонтали.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Chuzhoi от 10 августа 2017 17:47:21
Цитата: Boris3000 от 10 августа 2017 17:28:44
Нет, ты не это имел в виду. Вернее я не это имел в виду. Ты меняешь вид всего окна. А я предлагаю переключать лишь вид списка -- голые имена / превьюшки, правая же часть с полноразмерным просмотром остаётся без изменений, разве что немного сужаясь по горизонтали.
Надо подумать. Возможно, это и имеет смысл. Правда, я не вижу никакого неудобства в режиме, когда превьюшки занимают весь экран. При должном дизайне этого режима не должно быть никакой "каши". Правда, тут получаются уже три режима отображения - модель+список, модель+превьюшки и просто первьюшки. Бедный Форс... [spoiler]Сидит, проклинает, наверное, сейчас всех нас.[/spoiler]


[off]
Цитата: Zontik от 10 августа 2017 17:04:09
Если движок перекладывает всю работу по их отрисовке на процессор...
Движок, конечно, не рисует все сам, но перед отправкой полигонов в видеокарту он, вероятно, перемалывает их процессором - обсчитывает видимость, производит геометрические преобразования, считает вертексное освещение для моделей... Ведь движок разработан в конце 1990-х, а в те времена видеокарты еще не умели сами выполнять геометрические преобразования и освещение - GeForce с их hardware T&L появились позже. Или NewDark умеет использовать hardware T&L? В общем, я точно не уверен, но у меня от запуска соултировских миссий на разных конфигурациях (на НьюДарке, естественно) сложилось впечатление, что им именно процессор подавай помощнее, а видеокарта сойдет и средненькая.[/off]
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Призрак Boris'а3000 от 10 августа 2017 17:49:21
Цитата: Chuzhoi от 10 августа 2017 15:43:10
(http://chuzhoi.city/images/darkfate/explorer-win.jpg)

И просто не понимаю, что может быть удобнее.

Опять ты со своим мастдайным виндовым проводником. Полупроводником...


(https://cloclo28.datacloudmail.ru/weblink/thumb/xw1/GM81/T4gYP7N8N/ACDSee14.jpg)

(https://cloclo37.datacloudmail.ru/weblink/thumb/xw1/MYSw/eU9X4EzwQ/ACDSee14-2.jpg)

И никакой адовой кучи мелких превьюшек по всей площади экрана.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Chuzhoi от 10 августа 2017 17:53:48
Вот верхний скриншот как раз и похож на кашу, перенасыщенную функциями. Нижний - вполне норм (если не считать отсутствия имен файлов под превьюшками).

Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 10 августа 2017 18:29:07
Цитата: Chuzhoi от 10 августа 2017 17:47:21
Бедный Форс... [spoiler]Сидит, проклинает, наверное, сейчас всех нас.[/spoiler]
Нет, пока функционал пересекается с нужным мне, никаких проблем. Из этого функционала слепится вполне достойная прога, пока в ней не появится необходимость подключать SQL-базу ;). То что вы обсуждаете сейчас - это дизайн по большей части, на функционал оказывающий весьма косвенное влияние.

Сегодня я восстановил работоспособность интерфейсов в движке, но им требуется серьезная доработка. ОЧЕНЬ серьезная... некоторое переосмысление... Изначально я ошибочно предполагал частично воплотить поведение элементов как в HTML, но это был не очень верный способ, поскольку HTML слишком избыточен для целей рисования полноэкранных интерфейсов и слишком заточен на исходное разрешение изображений. И у меня до сих пор дилемма. Я использую проценты оконного пространства и самих элементов для их позиционирования и изменения размеров... Но поскольку разрешение экрана, или размер окна может быть любым, то нужна некая опорная фигура, в которую или относительно которой нужно будет вписывать все элементы, потому что если их просто всегда рисовать не обращая внимания на разрешение, то в 16:9 это будет выглядеть, например, растянуто, а в 4:3 - сплюснуто по горизонтали... Короче, надо решить что делать с единицами измерения в интерфейсах. Я надеюсь, хоть кто-нибудь понял о чем я и у него есть идеи... А пиксели привлекать не хочется потому что гладиолус.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Zontik от 10 августа 2017 22:22:56
Force, да делай все что угодно, только, действительно, не как на этом ужасном скриншоте, напоминающем мне 3D Max. Все эти тумблеры, кнопочки и пятиуровневые меню хороши там, где в них есть реальная необходимость - в кабине самолета, например. Я бы не хотел видеть перед собой такое, если мне нужно просто посмотреть модель.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Chuzhoi от 11 августа 2017 18:21:48
ЦитироватьЯ использую проценты оконного пространства и самих элементов для их позиционирования и изменения размеров... Но поскольку разрешение экрана, или размер окна может быть любым, то нужна некая опорная фигура, в которую или относительно которой нужно будет вписывать все элементы, потому что если их просто всегда рисовать не обращая внимания на разрешение, то в 16:9 это будет выглядеть, например, растянуто, а в 4:3 - сплюснуто по горизонтали... Короче, надо решить что делать с единицами измерения в интерфейсах. Я надеюсь, хоть кто-нибудь понял о чем я и у него есть идеи... А пиксели привлекать не хочется потому что гладиолус.
Конечно, лучше бы задавать все размеры в пикселях. По крайней мере, использовать проценты в чистом виде без каких либо поправок - не очень хорошая идея. Это, возможно, неплохо работает для игровых интерфейсов, но плохо подходит для утилит, имитирующих системный GUI. Иначе может получиться так, что мы удовлетворим потребности Бориса, подобрав размеры под его 1024*768, но на современном 24-дюймовом мониторе такой интерфейс будет выглядеть, мягко говоря, крупновато (да еще и растянуто по горизонтали), и пространство такого большого окна будет расходоваться совершенно нерационально. В общем, лучше бы все размеры - панели, шрифт, превьюшки - жестко задавать в пикселях. Растягиваем окно - расширяется область просмотра (при этом увеличивается модель), уползает влево дополнительная информация, увеличивается количество видимых файлов в списке (но сам список по ширине остается такой же); в режиме обозревателя увеличивается количество превьюшек (имеющих фиксированный размер) по горизонтали и вертикали, вызывая окончательный коллапс сознания у Бориса и Зонтика... В общем, идеальный интерфейс, с моей точки зрения, именно таков. Если нет возможности использовать пиксели - то надо, наверное, вводить какие-то поправочные коэффициенты, которые пересчитываются при каждом изменении размера окна...
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Призрак Boris'а3000 от 11 августа 2017 20:15:30
Цитата: Chuzhoi от 11 августа 2017 18:21:48
в режиме обозревателя увеличивается количество превьюшек (имеющих фиксированный размер) по горизонтали и вертикали, вызывая окончательный коллапс сознания у Бориса и Зонтика
Я представляю себе монитор Вороба, заполненный этими превьюшками. Тут не только сознание сколлапсирует, но ещё и окосеешь.
В общем не нужен этот режим оборзевателя, это тебя уже куда-то не туда понесло. Сначала было всё нормально, а потом начинается "а что бы ещё сделать этакого". Если и делать превьюшки, то только на замену списку, а не всему окну.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Chuzhoi от 11 августа 2017 20:20:24
Как хотите. Хотя я впервые в своей жизни сталкиваюсь с подобным - чтобы у кого-то были проблемы с восприятием такого режима.

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

(http://chuzhoi.city/images/darkfate/textures-dromed.jpg)

(http://chuzhoi.city/images/darkfate/textures-t3.jpg)
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Призрак Boris'а3000 от 11 августа 2017 20:44:44
Цитата: Chuzhoi от 11 августа 2017 20:20:24
я впервые в своей жизни сталкиваюсь с подобным - чтобы у кого-то были проблемы с восприятием такого режима
В качестве примера можно привести разбивку текста в газете на узкие колонки -- это делается специально для скорочтения, чтобы можно было глазами почти без движения влево-вправо пробегать текст сверху-вниз. И никто и никогда не будет печатать газету сплошняком, чтоб глазами надо было влево-вправо на метр туда и метр обратно.
Поэтому если уж искать глазами, а не через БД, то они должны не лихорадочно метаться по всей площади экрана, а пробегать сверху вниз по узкой полосе, либо вообще быть неподвижными, наблюдая за проезжающей полосой. И так как в случае компьютера никаких ограничений на длину полосы нет, то можно всю информацию залепить в одну полосу. Вот так всё и приходит к тому виду превьюшек, что у меня на первом скрине в ACDSee.

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

Цитата: Chuzhoi от 11 августа 2017 20:20:24
Мне интересно, а как вы в таком случае выбираете текстуры в игровых редакторах - ведь там текстуры демонстрируются подобным образом.
Всё правильно -- интерфейс Дромеда недалеко от проводника ушёл. Но то, что я в нём делаю, сложно назвать работой. Так что я в нём просто не работаю.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Chuzhoi от 11 августа 2017 22:41:01
Я сто лет не читал бумажных газет, но я неплохо воспринимаю и форумный текст почти во всю ширину экрана, и узкий текст на экране мобильного телефона. Кроме того, есть еще и бумажные книги, причем довольно большого формата - и текст в них практически никогда не разбивается на колонки, что не мешает его нормально читать. Так что еще раз повторюсь, что я не вижу никаких особенных проблем в восприятии мозаики из картинок во всю ширину окна. Хотя могу частично согласиться, что если окно распахнуто на весь экран, то на современном большом мониторе это может оказаться перебором. Но если окно занимает, скажем, 2/3 ширины экрана и выводится по 4-6 картинок в ряд (что у меня обычно и происходит) - то никаких проблем. Наоборот, если сузить окно до 2 картинок и пытаться что-то визуально искать в папке, в которой находится 1000 файлов - то такой режим я скорее признаю бесполезным, т. к. он не дает никакой обзорности и скорости поиска. Современный же виндовой проводник я считаю практически идеальным средством визуального поиска картинок - для обеспечения комфорта всегда можно моментально отрегулировать размер превьюшки, причем в очень широких пределах - покрутив колесо мыши при нажатом Ctrl - и размер самого окна, подогнав под себя количество картинок и интервал между ними, и единственный его серьезный недостаток в том, что он поддерживает только самые распространенные форматы (хотя, возможно, есть какое-то средство, чтобы заставить его работать с тем же DDS - но я пока с этим не заморачивался; для подобных случаев у меня есть визуально менее удобный, но, тем не менее, вполне функциональный XNView).

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

Неплохо бы еще, конечно, иметь возможность регулировать размер превьюшки (в идеальном случае - на лету, как в виндовом проводнике), но грузить Форса такими сложностями я считаю себя не вправе.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Призрак Boris'а3000 от 11 августа 2017 23:17:19
Цитата: Chuzhoi от 11 августа 2017 22:41:01
есть еще и бумажные книги, причем довольно большого формата - и текст в них практически никогда не разбивается на колонки, что не мешает его нормально читать
Потому что в книгах не нужно скорочтение. Я ж написал, что разбитие на узкие колонки необходимо для скорочтения. В нашем случае -- для быстрого поиска.
Так что там, где надо быстро пробежаться глазами в поисках нужной информации, будет именно узкая колонка. И никто не скажет, что типа как же это так -- узкая колонка не даёт наглядного представления о количестве текста в газете. А потому что оно не нужно, это представление. Сколько есть текста, столько и есть. Задача -- точно и быстро пропустить его через глаза, причём скорость не должна идти в ущерб точности.

Цитата: Chuzhoi от 11 августа 2017 22:41:01
если сузить окно до 2 картинок и пытаться что-то визуально искать в папке, в которой находится 1000 файлов - то такой режим я скорее признаю бесполезным, т. к. он не дает никакой обзорности и скорости поиска
Вот именно что обзорности не даёт, которая непонятно зачем нужна. Чтоб увидеть, как много у тебя моделек?
Необходимо пропустить через глаза всю кучу объектов так, чтоб ничего не пропустить. Свои две колонки я подобрал из опыта, т. к. при большем числе я начинал уже зевать и вся скорость большего числа колонок сводилась на нет необходимостью повторного поиска. Либо надо очень внимательно водить глазами влево-вправо, но это задолбает. Если же не водить, то все колонки, кроме пары центральных, уезжают в область бокового зрения, и стопроцентно что-нибудь пропускаешь.
А при двух колонках скорость достигается гарантированной однократностью поиска и большей скоростью прокрутки. При этом глаза не утомляются.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Chuzhoi от 11 августа 2017 23:55:49
Цитата: Boris3000 от 11 августа 2017 23:17:19
Необходимо пропустить через глаза всю кучу объектов так, чтоб ничего не пропустить.
Ну и что. В чем проблема-то? Я вполне нормально воспринимаю мозаику из четырех колонок. И даже из шести. Восемь колонок - это, возможно, уже и перебор, но если не будет другого выбора, я без особых проблем адаптируюсь и к восьми колонкам. У меня нет проблемы в том, чтобы водить глазами туда-сюда.

Все индивидуально. Ты подобрал эти две колонки под себя - но это не значит, что остальные семь миллиардов людей также должны довольствоваться двумя колонками. У кого-то могут быть другие предпочтения.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Призрак Boris'а3000 от 12 августа 2017 15:48:22
Цитата: Chuzhoi от 11 августа 2017 23:55:49
Ты подобрал эти две колонки под себя - но это не значит, что остальные семь миллиардов людей также должны довольствоваться двумя колонками. У кого-то могут быть другие предпочтения.
Семь миллиардов установили узкие колонки, когда ещё не было компов и были лишь газеты. Так что именно узкая длинная колонка -- это основы юзабилити для быстрого поиска. Не для разглядывания, а именно для быстрого вычленения искомого. Всё остальное -- частности.
В естественной жизни не бывает ситуаций, когда человек сидит и 5-10 минут без перерыва шныряет глазами туда-сюда с максимальной скоростью. Это извращение.

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

Почему режим совсем без превью на первом месте? Потому что в процессе работы большинство файлов всё-таки запоминаются, да и названия у многих вполне говорящие. Если же скачал откуда-то тыщу новых моделей, то их всё равно надо сначала просмотреть как следует.
Поэтому поиск в основном производится по имени, и только для отдельных файлов, которые позабылись, тыкается на это имя для просмотра и освежения воспоминаний. Понятно, что в этом случае режим с исключительно превьюшками будет лишь тормозить поиск и является излишеством, поэтому должен быть опциональным, а не основным.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Chuzhoi от 12 августа 2017 18:22:44
Никто не спорит, что режим обозревателя - это вспомогательный режим. Я совершенно согласен, что он не на первом месте (на втором или третьем - это вопрос личных предпочтений). Но при этом если будет реализован режим "2 колонки превьюшек + модель", то я не вижу особенных технических препятствий против того, чтобы дополнить программу режимом обозревателя - основная сложность здесь в получении превьюшек для файлов, а уж в какой форме их отобразить - дело десятое. Тормозить при грамотной реализации (по крайней мере, при заходе в данную папку во второй раз) ничего не должно - ведь в превьюшках отображаться должны не 3d-модели в реальном времени, а отрендеренные картинки (которые, скорее всего, должны кэшироваться и обновляться только по необходимости).
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Zontik от 14 августа 2017 09:24:01
Попробую угадать: в каждой просмотренной папке опять навсегда останутся какие-нибудь thumbnails.db (скрытые для пущей важности), которые так и выйдут вместе с релизом?
Надеюсь, что я ошибся.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 14 августа 2017 09:59:46
Вообще, я тоже не планировал заморачиваться с кэшем. Построение множества изображений для каждой модельки происходит овер-мгновенно. Поэтому кэшировать ради этого эскиз не вижу смысла - это городить еще один огород сомнительной нужности.

Правда, есть один нюанс... У меня сейчас экспериментально для всей рисуемой геометрии создается массив текстур, и его создание требует определенного времени работы ОСНОВНОГО потока программы, то есть, фактически прога зависает, приводя все текстуры к одному формату, чтобы запихать их в массив. По-хорошему надо бы ресайзить все текстуры в фоновом потоке на ЦПУ, да вот нет у меня алгоритма ресайза на ЦПУ... Да и отрисовка из массива текстур хоть и быстрее, но приводит к незначительным специфическим артефактам, да и видеопамяти этот массив по факту сжирает в разы больше... Короче, я пока не решил, оставить так или рисовать по-старинке с переключением каждой текстуры...
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 14 августа 2017 13:55:15
Прям только что обнаружил еще одну проблему, связанную с массивами текстур... Невозможность нарисовать один и тот же объект из буфера с разными текстурами... А это сводит практически на нет все преимущества массивов... Так что радуйтесь, вертаю всё в зад :biggrin:.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Chuzhoi от 14 августа 2017 20:24:31
А может быть, пока и не стоит заморачиваться с выводом превьюшек? Все-таки основной режим, который мы все ждем и который сильно облегчит жизнь авторам миссий - это "текстовый список + модель", а уж остальное - это добавки, которые можно делать уже потом, да и то при наличии большого желания и свободного времени у автора.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: nemyax от 17 августа 2017 14:47:20
Ну приступил кто-нибудь?
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 17 августа 2017 14:49:59
Я приступил, как только появился черный эскиз с буддой...
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: nemyax от 17 августа 2017 14:54:20
Force
А исходники выложишь на гитхаб там или ещё куда?
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 17 августа 2017 15:18:21
nemyax, сложный вопрос. Вся информация, которую я использую для чтения моделей есть в открытом доступе. Причем пока что даже в одном файле. С какой целью нужны именно мои исходники? Возможно, я выложу исходники после того, как закончу работу над ними... а пока не вижу в этом смысла.

Если нужна будет, какая-то конкретная их часть - да, скорее всего я поделюсь, там пока нет каких-то секретных разработок :). Но сразу целиком все - может быть, и то только после окончания работ.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 26 августа 2017 16:27:55
Ура! Прототип готов!

(http://forcesw.com/static/object_viewer.jpg)
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Chuzhoi от 26 августа 2017 16:41:50
Ух ты! И уже все крутится?

PS. У меня есть некоторое ощущение, что камера близковата и FOV широковат. Я бы немного отодвинул и сузил.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 26 августа 2017 21:04:25
Крутится, но пока не совсем так, как должна. Еще многое предстоит сделать, но начало положено - всё собрано воедино :).

Я практически всё это время дорабатывал интерфейс. Многое переделал. Сделал поддержку distance field шрифтов. Переработал загрузку dds-текстур. Даже написал простой шаблонизатор для подстановки переменных и разворачивания списков в интерфейсе... В общем, работа движется.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Chuzhoi от 26 августа 2017 22:18:20
Здорово.

[off]А что за ОС? Явно не Windows.[/off]
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 27 августа 2017 07:09:29
Цитата: Chuzhoi от 26 августа 2017 22:18:20
[off]А что за ОС? Явно не Windows.[/off]
[off]Да, это linux mint. Следующий скрин могу сделать на винде для разнообразия :biggrin:.[/off]
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: HellRaiser от 29 августа 2017 10:25:10
Force
Крутотенечка!  ;D
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 29 августа 2017 18:11:39
Возник вопрос.

Модель хранит только имена используемых текстур без пути, но с расширением. Например, STAT3B.GIF . Но в самом изощренном случае это может привести нас к тому, что мы используем текстуру txt32/stat3b.dds, а не STAT3B.GIF . В связи с чем возникает вопрос, какое имя выводить? Потому что существуют разные варианты:
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Призрак Boris'а3000 от 29 августа 2017 20:18:11
Я за третий вариант. Расширение, прописанное в модели, New-Dark'у абсолютно пофиг.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Chuzhoi от 29 августа 2017 20:31:42
Мне кажется, приоритеты в поиске текстуры лучше сделать такими, какие они в текущей версии NewDark. Если NewDark'у действительно пофиг, какое расширение у текстуры, указанной в модели, и он действует исключительно по неким зашитым в него приоритетам, то Форс Энджину следует прикинуться Нью Дарк Энджином и действовать точно так же. Хотя, мне кажется, нелишним будет в случае расхождения расширений указывать что-то вроде: TEXTURE.GIF (txt16/texture.dds used). Если же подходящая текстура не найдена вообще, то можно указывать: TEXTURE.GIF (not found).

Какой приоритет поиска текстуры по папкам? Наверное, так:
1. Текущая папка
2. txt и txt16 в текущей папке (не знаю, какая из них приоритетнее, но, наверное, стоит посмотреть, какую из них предпочтет Dark Engine)
3. Дополнительные папки, указанные в ini
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Zontik от 30 августа 2017 10:08:51
Что-то вы, по-моему, чрезмерно усложняете.
Как уже неоднократно говорилось, текстуры следует искать в трех местах: в папке с моделью, в папке TXT16 и в папке TXT. Все остальные варианты следует считать частными случаями и не рассматривать вообще.
Если в папке имеются текстуры с одним именем и разными расширениями, на экран выводится текстура, прописанная в модели. Она же натягивается просмотрщиком на модель. И плевать, что рядом может лежать текстура с таким  же именем, с другим расширением и более высоким разрешением. Мы ведь пытаемся опознать модель, а не улучшить ее.
Самый критический случай - если автор начал разрабатывать модель, поместил одну текстуру в текущей папке для разработки, затем в этой же папке создал для готовых материалов подпапку TXT16 (или, боже упаси, TXT) и поместил туда идентичные или модифицированные копии. В этом случае одна и та же текстура или различные ее версии могут оказаться в двух разных местах. Чтобы устранить неоднозначность, достаточно вывести на экран относительный путь для использованной при просмотре текстуры. В этом случае логично установить приоритет сверху вниз: текущая папка (то есть с моделью) по умолчанию считается главной.
Не надо подстраиваться под многочисленные приоритеты New Dark. Автор вполне в состоянии разобраться, куда он какие текстуры понапихал. Если же он и сам не может разобраться, самое глупое, что можно сделать - это попытаться решить проблему за него.
P.S. Исхожу из того, что автору модели прежде всего следует навести порядок у себя в голове и не пытаться скормить модели текстуры с неправильным расширением, используя приоритетную систему NewDark и набивая себе на лбу шишки от грабельной ручки. Поменять расширение на актуальное с помощью HEX-редактора - дело нескольких секунд. Помимо всего прочего, это упрощает процедуру перетаскивания моделей из миссии в миссию.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Zontik от 30 августа 2017 10:15:28
Еще вдогонку: пересечение имен текстур в папках TXT и TXT16 - крайне маловероятное событие, свидетельствующее, помимо прочего, о неорганизованности автора, которая должна быть наказана.
В папке TXT вообще могут находиться только текстуры со стандартной 256-цветной Thief-палитрой, которая сегодня почти никем не используется.  Если в эту папку ошибочно угодит что-то другое, оно все равно не будет корректно отображаться движком, поэтому такую возможность не стоит даже рассматривать.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 30 августа 2017 13:02:08
Zontik, спасибо за разъяснения. Так и сделаем...
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Zontik от 30 августа 2017 14:11:16
Подожди благодарить, сейчас последует опровергающее уточнение от Бориса.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Призрак Boris'а3000 от 30 августа 2017 21:22:46
Господи, Зонтик, что за бред??

Цитата: Zontik от 30 августа 2017 10:08:51
Что-то вы, по-моему, чрезмерно усложняете.
Вот уж кто усложнил, так это ты. С первого раза и не въедешь.

Цитата: Zontik от 30 августа 2017 10:08:51
текстуры следует искать в трех местах: в папке с моделью, в папке TXT16 и в папке TXT. Все остальные варианты следует считать частными случаями и не рассматривать вообще
Не вообще, а сейчас.

Цитата: Zontik от 30 августа 2017 10:08:51
Если в папке имеются текстуры с одним именем и разными расширениями, на экран выводится текстура, прописанная в модели. Она же натягивается просмотрщиком на модель
Угу, особенно если в папке просто НЕТ текстуры с тем расширением, которое прописано в модели. Во всех моделях для оригинала прописано gif, и при этом ни в одном моде не будет gif-текстур.
Да, Зонтик, придётся в очередной раз тебе напомнить про такую вещь, как моддинг оригинала. И людям, которые этим занимаются, данная прога тоже пригодится.

Да и редактор твой ненаглядный, в которым ты сейчас просматриваешь (и будешь продолжать просматривать) модели, разве по такому алгоритму действует? С какого перепугу логика просмотрщика должна отличаться от логики редактора??

Цитата: Zontik от 30 августа 2017 10:08:51
плевать, что рядом может лежать текстура с таким  же именем, с другим расширением и более высоким разрешением. Мы ведь пытаемся опознать модель, а не улучшить ее
Причём тут разрешение?? Какое ещё улучшение???
У Нью-Дарка есть чёткий приоритет типов файлов -- DDS, PNG, TGA, BMP, PCX, GIF, CEL
При просмотре в редакторе и в игре будет использоваться текстура в соответствии с этим приоритетом. Всё, чего тут тень на плетень наводить??

Цитата: Zontik от 30 августа 2017 10:08:51
Не надо подстраиваться под многочисленные приоритеты New Dark
1) Надо
2) Они не многочисленные. В данном случае всего один
3) Давно пора эти приоритеты изучить, а не пытаться подстроить весь мир под собственное незнание предмета

Цитата: Zontik от 30 августа 2017 10:08:51
Исхожу из того, что автору модели прежде всего следует навести порядок у себя в голове и не пытаться скормить модели текстуры с неправильным расширением, используя приоритетную систему NewDark и набивая себе на лбу шишки от грабельной ручки
Ты исходишь из собственного нежелания учить матчасть и порой просто идиотского консерватизма на пустом месте. Порядок в голове как раз у тех, кто использует приоритетную систему НьюДарка -- потому что именно НьюДарком и пользуются. А чью ещё приоритетную систему использовать тогда?
Кидание нескольких текстур -- обычная практика. Делается для выбора пользователем. Сам автор порой не может определиться, какая текстура лучше, и даёт пользователю несколько вариантов на выбор.

Повторюсь -- НьюДарку плевать на расширение, прописанное в модели. Вообще. Поэтому нет никаких "неправильных расширений".

А шишки набивают те, кто не желает изучить то, чем пользуется. Именно у тех, кто из-за каких-то там своих мозговых завихрений пытаются делать всё по старинке (ДаркЛоадер, там, и т. д.), и возникают бесконечные проблемы.

Цитата: Zontik от 30 августа 2017 10:08:51
Поменять расширение на актуальное с помощью HEX-редактора - дело нескольких секунд
Зачем его менять, если НьюДарк его ВООБЩЕ ИГНОРИТ?! Чисто порядку ради? Я так и представляю, как после каждой случайной смены типа файла человек лезет хексом в модель и её ковыряет. Ну не иначе в команде НьюДарка дураки сидят, раз сделали расширение, прописанное в модели, не имеющим никакого значения.

Цитата: Zontik от 30 августа 2017 10:08:51
Помимо всего прочего, это упрощает процедуру перетаскивания моделей из миссии в миссию.
Что "это"? Ковыряние хекс-редактором??

Цитата: Zontik от 30 августа 2017 10:08:51
В папке TXT вообще могут находиться только текстуры со стандартной 256-цветной Thief-палитрой, которая сегодня почти никем не используется.  Если в эту папку ошибочно угодит что-то другое, оно все равно не будет корректно отображаться движком, поэтому такую возможность не стоит даже рассматривать.
Ну вот не надо ля-ля. Сейчас в txt можно кидать всё то же самое, что и в txt16.
Поставь себе HDMod и посмотри, чего и где там лежит. Там же увидишь и по нескольку текстур в одной папке -- на выбор.

Цитата: Zontik от 30 августа 2017 10:08:51
пересечение имен текстур в папках TXT и TXT16 - крайне маловероятное событие, свидетельствующее, помимо прочего, о неорганизованности автора, которая должна быть наказана.
Зонтик, наказано должно быть твоё незнание, а главное -- ничем разумным не мотивированное НЕЖЕЛАНИЕ изучить Нью-Дарк и по-человечески им пользоваться. Один из твоих заскоков на ровном месте. Вместе с ДаркЛоадером, вместе с упёртым сидением на забагованной 1.23, вместе с нежеланием сменить видеокарту за 500 рублей и т. д. и т. п. Уже давно пора подвергнуть жестокой порке.


Цитата: Force от 30 августа 2017 13:02:08
спасибо за разъяснения...
..., товарищ Иван Сусанин.
Это не разъяснения, а полный аналог с эпопеей со слезанием с Win98 и этой древней видеокартой.

Цитата: Force от 30 августа 2017 13:02:08
Так и сделаем...
Не надо так делать. Выводиться должно имя той текстуры, которая будет натянута на модель. При наличии нескольких вариантов выбор натягиваемой текстуры должен производиться по алгоритму работы Нью-Дарка. А Нью-Дарк вообще не обращает внимание на расширение в модели, и выбор производится в соответствии с приоритетом (по убыванию) -- DDS, PNG, TGA, BMP, PCX, GIF, CEL.
Всё. Всё просто и элементарно.
Единственная альтернатива, касающаяся отображения названия на экране, -- это вариант Чужого со скобками, но он, естественно, длинней.

Если просмотрщик будет натягивать то, что прописано в модели (читай, GIF), то для любого мододела эта программа будет практически бесполезной. Потому что никто не будет лазить хексом в модель, чтобы поменять текстуру. :doh:
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Призрак Boris'а3000 от 31 августа 2017 02:45:59
Проверил как следует на примере папки Mesh.

1) Непосредственно в папке Mesh текстура лежать НЕ может. Движок её игнорирует.
2) Текстура может лежать ТОЛЬКО в подпапке txt16 или подпапке txt. Никаких txt32 и прочих *txt*
3) По типу и формату файлов текстур, которые можно класть в эти папки, txt16 и txt абсолютно равноценны
4) txt16 имеет приоритет над txt
5) Приоритет расширений уже озвучивал -- DDS, PNG, TGA, BMP, PCX, GIF, CEL
6) Приоритет папок имеет приоритет над приоритетом расширений.

Исходя из этого строится логика работы просмотрщика:
1) Из файла модели считывается имя текстуры. Только имя, без расширения.
2) В папке с моделью ищется папка txt16. Если нашлась, то в ней ищется DDS с именем из п.1. Если нет DDS, то PNG и т. д. Если текстура с этим именем нашлась, то поиск завершён.
3) Если текстуры с нужным именем в папке txt16 не нашлось, или самОй папки txt16 нет, то в папке с моделью ищется папка txt. Если нашлась, то в ней ищется DDS с именем из п.1. Если нет DDS, то PNG и т. д. Если текстура с этим именем нашлась, то поиск завершён.
4) Если текстуры с нужным именем в папке txt также не нашлось, или самОй папки txt тоже нет, то выдаётся запрос на ручное указание файла текстуры (ну, это опционально).

На экран выводится имя и расширение применённой текстуры с огрызком пути, начиная с имени той папки, в которой лежит файл модели.

Именно на этот алгоритм рассчитывает любой адекватный моддер, и согласно именно этому алгоритму называет и размещает свои текстуры. Поэтому именно по этому алгоритму должен действовать просмотрщик. Иначе в ряде случаев он просто будет выдавать неадекватные результаты.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Chuzhoi от 31 августа 2017 03:58:50
Дело в том, что модель вполне может дистрибутироваться с текстурой, находящейся в той же папке, что и bin - такое бывает, хоть и не часто. Специально создавать папку txt16 только для того, чтобы посмотреть такую модель, может быть не очень удобно. Поэтому игнорировать текущую папку для поиска текстуры все же не стоит, и логичнее всего начинать поиск с нее. Далее может следовать вся эта свистопляска с подпапками и приоритетами расширений, о необходимости и порядке которой вы, надеюсь, договоритесь без моего участия.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Призрак Boris'а3000 от 31 августа 2017 04:38:03
Chuzhoi
Так Зонтик же не столь давно возмущался "беспорядком на винте" у тех, кто желает возможности ручного указания текстуры. При этом "беспорядок" обосновывался именно логикой работы движка [spoiler](да, двойные стандарты -- они такие двойные)[/spoiler]. Так что поставка моделей с текстурами в общей куче является тем самым "беспорядком", от которого Зонтик призывал избавляться вручную.
Тем не менее, папку модели можно и не игнорировать, да. Только вот насчёт её приоритета не согласен -- наоборот, он должен быть самым низким. Просмотрщик должен натянуть ту текстуру, которая отобразится в игре, поэтому все приоритеты должны совпадать с Нью-Дарком. Нью-Дарк же вообще не позволяет класть текстуру в папку модели, а это значит, что приоритет папки модели должен быть самым низким.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Zontik от 31 августа 2017 10:01:01
ЦитироватьПо типу и формату файлов текстур, которые можно класть в эти папки, txt16 и txt абсолютно равноценны
ЦитироватьПриоритет расширений уже озвучивал -- DDS, PNG, TGA, BMP, PCX, GIF, CEL
Уточним: в текущей версии движка. Что будет потом - никому не известно. Что было раньше - известно даже мне.
Цитироватьtxt16 имеет приоритет над txt
Пожалуй, самое ценное из уточнений. Вероятно, в оригинале было то же самое, и нет никаких оснований предполагать, что это когда-либо изменится.
По поводу текущей папки - ну ясно же, моддерам ни к чему знать, как делаются 3D-модели. Вообще их мнение об авторах, мягко говоря, не позитивное:
ЦитироватьКидание нескольких текстур -- обычная практика. Делается для выбора пользователем. Сам автор порой не может определиться, какая текстура лучше, и даёт пользователю несколько вариантов на выбор.
Так с какого перепугу для этих раздолбаев вообще что-либо делать? Есть специалисты по перетяжке, вот они пускай и заказывают музыку.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 31 августа 2017 10:18:57
Цитата: Boris3000 от 31 августа 2017 02:45:59
Проверил как следует на примере папки Mesh.

1) Непосредственно в папке Mesh текстура лежать НЕ может. Движок её игнорирует.
2) Текстура может лежать ТОЛЬКО в подпапке txt16 или подпапке txt. Никаких txt32 и прочих *txt*
3) По типу и формату файлов текстур, которые можно класть в эти папки, txt16 и txt абсолютно равноценны
4) txt16 имеет приоритет над txt
5) Приоритет расширений уже озвучивал -- DDS, PNG, TGA, BMP, PCX, GIF, CEL
6) Приоритет папок имеет приоритет над приоритетом расширений.

Исходя из этого строится логика работы просмотрщика:
1) Из файла модели считывается имя текстуры. Только имя, без расширения.
2) В папке с моделью ищется папка txt16. Если нашлась, то в ней ищется DDS с именем из п.1. Если нет DDS, то PNG и т. д. Если текстура с этим именем нашлась, то поиск завершён.
3) Если текстуры с нужным именем в папке txt16 не нашлось, или самОй папки txt16 нет, то в папке с моделью ищется папка txt. Если нашлась, то в ней ищется DDS с именем из п.1. Если нет DDS, то PNG и т. д. Если текстура с этим именем нашлась, то поиск завершён.
4) Если текстуры с нужным именем в папке txt также не нашлось, или самОй папки txt тоже нет, то выдаётся запрос на ручное указание файла текстуры (ну, это опционально).

На экран выводится имя и расширение применённой текстуры с огрызком пути, начиная с имени той папки, в которой лежит файл модели.

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

Именно подобная информация мне и нужна, я рад что кто-то сделал это вместо меня. Спасибо :yes:. Единственное что смутило: что за формат текстур CEL?
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 31 августа 2017 10:27:17
ЦитироватьЕдинственное что смутило: что за формат текстур CEL?
Нашел на вики описание... но, подумав... ну его в лес. :biggrin:

Ради эксперимента провел несколько тестов, совершенно бестолковый формат. Размер больше BMP, глючит, очень долго открывается. Не вижу в нем никакого смысла.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: nemyax от 31 августа 2017 10:36:05
Папку с самой моделькой, конечно, тоже неплохо бы проверять (в последнюю очередь).
Цитата: Zontik от 31 августа 2017 10:01:01моддерам ни к чему знать, как делаются 3D-модели
А как они делаются?
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Zontik от 31 августа 2017 10:43:49
В основном как попало, но вряд ли кто распихивает текстуры заранее по адресным папкам.
Да, кстати, насчет расширений: по-моему, то ли старая версия движка, то ли одна из новых поддерживала еще один экзотический формат - RLE. Ну Борис-то наверняка знает.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 31 августа 2017 10:58:07
Цитата: Zontik от 31 августа 2017 10:43:49
Да, кстати, насчет расширений: по-моему, то ли старая версия движка, то ли одна из новых поддерживала еще один экзотический формат - RLE. Ну Борис-то наверняка знает.
GIMP такой не поддерживает. :)
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Zontik от 31 августа 2017 10:59:34
Главное - что его никто из авторов не поддерживает. Как и CEL, я думаю.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 31 августа 2017 11:01:26
Ну, это логично, если его НЕЧЕМ поддерживать.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Zontik от 31 августа 2017 11:14:12
Посмотрел сейчас - Фотошоп может теоретически сохранить в RLE (хотя считает его разновидностью BMP, наверное, так оно и есть). Про CEL он не знает ничего.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: nemyax от 31 августа 2017 13:53:54
Цитата: Zontik от 31 августа 2017 10:43:49
В основном как попало, но вряд ли кто распихивает текстуры заранее по адресным папкам.
Можно и не распихивать. В директории с модельками с-под администратора:
mklink /d txt16 .
Ну если действие происходит не на XP, разумеется.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Zontik от 31 августа 2017 14:16:14
В ходе работы текстуры часто подлежат изменениям. Зачем сразу класть их на место, я не очень понимаю. Работаешь локально, порой даже на разных машинах, затем - когда все готово - кладешь результат в нужные папки. Не так уж и сложно.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Призрак Boris'а3000 от 31 августа 2017 23:05:14
Цитата: Zontik от 31 августа 2017 10:01:01
ЦитироватьПриоритет расширений уже озвучивал -- DDS, PNG, TGA, BMP, PCX, GIF, CEL
Уточним: в текущей версии движка.
Не только в текущей -- c 1.19 так. А пофиг на расширение, прописанное в модели, стало ещё во времена ddfix -- т. е. сразу же, как появилась возможность цеплять что-то покруче, чем PCX и GIF.

Цитата: Zontik от 31 августа 2017 10:01:01
Что будет потом - никому не известно. Что было раньше - известно даже мне.
Да, только то, что было раньше, уже в любом случае никому не нужно. Во-вторых, это самое "потом", которое никому не известно, может не только поменять текущий вариант, но и ещё сильнее перечеркнуть то, что было раньше. Поэтому любые попытки найти статичный вариант "на века" априори обречены на провал. Надо просто уже сейчас предвидеть возможные изменения в приоритете расширений и писать код так, чтобы в случае чего его можно было исправить малой кровью.

Цитата: Zontik от 31 августа 2017 10:01:01
то ли старая версия движка, то ли одна из новых поддерживала еще один экзотический формат - RLE
Это хоть и формат, но не "ещё один". Из файла modders_notes.txt дистрибутива Нью-Дарка:
ЦитироватьNew image formats: PNG, DDS, PCX 32-bit, BMP 24/32-bit, BMP RLE, TGA RLE
Т. е. можно сохранить текстуру в TGA RLE, но расширение файла всё равно должно быть TGA. Если расширение будет RLE, то файл будет проигнорирован.

Цитата: Zontik от 31 августа 2017 10:01:01
В ходе работы текстуры часто подлежат изменениям. Зачем сразу класть их на место, я не очень понимаю
А как же пресловутый "порядок на винте"?


Цитата: Force от 31 августа 2017 10:27:17
ЦитироватьЕдинственное что смутило: что за формат текстур CEL?
Нашел на вики описание... но, подумав... ну его в лес.
Да в принципе я и BMP ни разу не видел. А вот все остальные, кроме BMP и CEL, видел.


А вот какие мысли по поводу анимированных тексутр? Если взять робота, то, конечно, нет никакой необходимости делать топку и глаз движущимися, но что если модель будет целиком покрыта анимированной текстурой?
Если их применять, то надо будет ещё детектить их наличие (судя по всему движок, найдя текстуру с заданным именем и первым попавшимся расширением (например, texture.png), следующим шагом ищет текстуру с тем же расширением и с именем texture_1.png, потом texture_2.png и т. д. вплоть до texture_98.png -- ограничение в 99 файлов), а также искать соответствующий mtl-файл, считывать из него параметры и применять их.

Кстати, mtl надо по-любому искать и считывать из него параметры, если он есть. Забыл про это. И на экранчик наверно не помешает вывести и факт наличия mtl и параметры из него.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Chuzhoi от 01 сентября 2017 00:17:18
Цитата: Zontik от 31 августа 2017 10:43:49
Да, кстати, насчет расширений: по-моему, то ли старая версия движка, то ли одна из новых поддерживала еще один экзотический формат - RLE. Ну Борис-то наверняка знает.
RLE - это всего лишь алгоритм сжатия. То есть бывает несжатый TGA, а бывает сжатый с помощью алгоритма RLE (устанавливается галкой в Фотошопе при сохранении файла, например). То же и с BMP. На расширение наличие сжатия не влияет.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Chuzhoi от 01 сентября 2017 00:22:09
Цитата: Boris3000 от 31 августа 2017 23:05:14
А вот какие мысли по поводу анимированных тексутр? Если взять робота, то, конечно, нет никакой необходимости делать топку и глаз движущимися, но что если модель будет целиком покрыта анимированной текстурой?
Ну может у Форса анимированные текстуры уже показываются? Он же делает функциональную копию Dark Engine, насколько я понял.

Если нет, то, наверное, достаточно показывать только первую текстуру в последовательности (отмечая, однако, что текстура анимированная). Хотя если анимация выводилась бы, это было бы замечательно.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Zontik от 01 сентября 2017 09:29:42
ЦитироватьА как же пресловутый "порядок на винте"?
Если я люблю порядок, из этого вовсе не следует, что я беру щетку и подметаю опилки после каждого движения пилы. Рабочий беспорядок - вполне нормальное состояние, если только он плавно не утрачивает слово "рабочий".
Да, такие вот двойные стандарты.
ЦитироватьRLE - это всего лишь алгоритм сжатия.
Теперь понятно. Просто когда-то давно мне встречались файлы с расширением RLE. Когда я их переименовывал в BMP, ничего вроде бы не менялось, только файлы после этого можно было просмотреть.
Так, добрались до анимации. Не считаю этот вопрос сколько-нибудь принципиальным, но раз уж сказано А, надо говорить и В. Как насчет флуоресценции и прозрачности? Последнее, пожалуй, действительно имеет смысл, особенно для текстур с альфа-каналом или гифок с прозрачным цветом.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 21 сентября 2017 18:04:22
Я с микро отчетом.
Работа движется. За это время был проведен очень серьезный рефакторинг архитектуры движка. Подготовлен задел на необходимые в дальнейшем фичи.
Переделан механизм обработки событий ввода.
Переделаны структуры управления ресурсами для упрощения работы с памятью. Теперь, когда память освобождается от неиспользуемых ресурсов, обнаружилось подтекание. Пока нет идей, что может течь. Массивы вершин освобождаются, текстуры - тоже...
Для интерфейса написан шаблонизатор для подстановки изменяемых данных.
Визуально пока изменений не много, работает выбор модели из списка, приближение-удаление. Вращение пока не готово.
(http://forcesw.com/static/object_viewer_build.jpg)

Ах, да. К сожалению, слово по поводу скрина из винды не сдержал. :embarassed: На этот раз скрин из manjaro.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Chuzhoi от 22 сентября 2017 03:22:18
Здорово. Не совсем понятно, правда, почему некоторые текстуры дублируются. Модель составная?

Цитата: Force от 21 сентября 2017 18:04:22Ах, да. К сожалению, слово по поводу скрина из винды не сдержал
Да ладно, нам главное - хоть какие-то весточки с фронта (работ).

Цитата: Force от 21 сентября 2017 18:04:22На этот раз скрин из manjaro
Ты меняешь дистрибутивы как перчатки?
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 22 сентября 2017 10:14:32
Цитата: Chuzhoi от 22 сентября 2017 03:22:18
Здорово. Не совсем понятно, правда, почему некоторые текстуры дублируются. Модель составная?
Точно подмечено! Надо будет уникализировать список. И отсортировать заодно. Да, это ж камера, она вращается, значит у нее минимум две кости, а у каждой кости может быть произвольный набор текстур.
Цитата: Chuzhoi от 22 сентября 2017 03:22:18
Да ладно, нам главное - хоть какие-то весточки с фронта (работ).
Могу чаще писать. :) Сообщать о своих успехах и изысканиях. Но мне казалось, что народу это не интересно...
Цитата: Chuzhoi от 22 сентября 2017 03:22:18
Цитата: Force от 21 сентября 2017 18:04:22На этот раз скрин из manjaro
Ты меняешь дистрибутивы как перчатки?
[off]Нет. Manjaro у меня на работе. Поставил в качестве эксперимента. Обнаружил в нем целый ворох мелких косяков и проблем разной степени критичности. А жаль, очень мне понравился местный менеджер пакетов. Обновления ставятся ОЧЕНЬ быстро. Попутно заодно выяснил, что использование любого дистрибутива кроме Ubuntu-based - это боль. Всё из-за неофициального патча ядра, который поставлен на Убунту, но проигнорирован остальными дистро-делами. Суть патча заключается в том, что он переключает раскладку клавиатуры по отпусканию клавиш, что позволяет не конфликтовать с другими сочетаниями клавиш, находящихся на тех же кнопках (то есть, они просто перестают работать).

Дома стоит Mint Cinnamon, но, чувствую, идеальной для меня системой будет Mint XFCE (очень нравится мне этот DE). Почему Mint, а не Ubuntu или Xubuntu? В минте есть дополнительные надстройки в виде удобного управления репозиториями и зеркалами, ну и плюс, намного меньше всего необходимого надо доставлять и меньше выпиливать ненужного (в xubuntu совсем унылые проги стоят по дефолту... Кому нужен этот gnumeric, к примеру?).[/off]
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: HellRaiser от 22 сентября 2017 10:22:31
Цитата: Force от 22 сентября 2017 10:14:32
Но мне казалось, что народу это не интересно...
Интересно как минимум двоим (если быть точнее, то 1.25) не заинтересованным в готовом продукте лицам :)
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 22 сентября 2017 10:29:38
HellRaiser, :biggrin: ok.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Zontik от 22 сентября 2017 10:36:12
ЦитироватьНо мне казалось, что народу это не интересно...
Может, некоторые вещи не до конца понятны, но одно дело - догадываться, что работа где-то там идет, и совсем другое - видеть это.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: HellRaiser от 22 сентября 2017 10:45:15
Zontik, а зачем тебе углубляться в эти самые некоторые вещи? Есть прототип. Есть повесть об оптимизации оного (тебе знать необязательно, а вот будущим последователям может пригодиться). Подробности про дистрибы семейства линух, людям со слабой психикой тоже знать нежелательно. А вот технические моменты (тут же ведётся двойная работа: основная идея - движок, а редактор - это лишь следствие) читать очень интересно, но опять же тем, кто хоть немного "в теме". Поэтому рекомендую вам с Максом просто "откинуться на спинку кресла и..." наслаждаться скриншотами, ожидая магии: [spoiler]наблюдать, как бездушная машина, умеющая по сути только складывать и сдвигать, постепенно превращается в существо, имеющее душу умеющее показывать модельки любимой серии игор.[/spoiler]
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Zontik от 22 сентября 2017 10:48:49
А я примерно так и делаю. Тем более что мне спешить некуда, моя заинтересованность скрывается где-то за горизонтом событий.
С другой стороны, тот же Линукс внезапно может оказаться безальтернативным вариантом, так что не стоит совсем уж от него отгораживаться и уши зажимать.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 22 сентября 2017 11:07:00
Zontik
Цитата: Zontik от 22 сентября 2017 10:48:49
А я примерно так и делаю. Тем более что мне спешить некуда, моя заинтересованность скрывается где-то за горизонтом событий.
Скажу по секрету, я попробую прикрутить поддержку лично твоего компа... Типа if ( комп Зонтика ) { тогда работаем дальше }! ;)
Цитата: Zontik от 22 сентября 2017 10:48:49
С другой стороны, тот же Линукс внезапно может оказаться безальтернативным вариантом, так что не стоит совсем уж от него отгораживаться и уши зажимать.
Я практикую установку Минтов на компы и ноуты всем своим знакомым, просящим помощи в настройке оных. С их согласия, разумеется. Главный довод - абсолютная неуязвимость без антивируса и сводящаяся к серфингу интернета "работа" на этом самом устройстве.
Дома у меня две системы, но по дефолту - линукс. Даже жена без труда освоилась. Но, как только наступает пора заняться мультимедиа-креативом - винда без вариантов, к сожалению.

HellRaiser, :lol:, спасибо, знатно посмеялся :up:. В хорошем смысле.  :yes:
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: nemyax от 22 сентября 2017 12:18:20
Цитата: Zontik от 22 сентября 2017 10:48:49
С другой стороны, тот же Линукс внезапно может оказаться безальтернативным вариантом, так что не стоит совсем уж от него отгораживаться и уши зажимать.
И ньюдарк, и дромед, и Anim8or преспокойно работают в линуксах под вайном. Так что не надо пони ковать.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 22 сентября 2017 12:26:51
nemyax, у меня с ними были некоторые проблемы, скажем так... Они работали, конечно... но не очень стабильно.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Zontik от 22 сентября 2017 14:17:18
Нестабильно работающий DromEd я уже проходил. Достаточно.
"Работа" в кавычках - это не то, чем я обычно занимаюсь.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 22 сентября 2017 14:27:29
Zontik, и вот как раз ради таких вещей и не удается полностью переехать на линукс... Это у тебя еще новой винды нет. А вот если сравнивать с вин десять, то линукс - это просто островок спокойствия, по сравнению с мегаполисом внутренней жизнедеятельности десятки :).
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Zontik от 22 сентября 2017 14:33:57
Успокоил, называется. Я и так как на пороховой бочке сижу, жду, когда закончатся счастливые дни. А теперь оказывается, что и запасной выход заварен.
А вот возьму и все равно не застрелюсь!
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 22 сентября 2017 14:46:27
Zontik, не фатализируй. Семерка - идеальный вариант в твоем случае. Ну а если хочется спокойствия - то линух подмогнет ;). Я рекомендую попробовать вариант с двумя системами. Причем спецаильно поставить линукс основной и пытаться решать все задачи там. И когда пообвыкнешься, это начнет даже нравиться :). Но тут есть тонкость - твои задачи. Если у тебя всё завязано на специфические виндовые проги, которые не могут работать в линуксе вообще, тогда это не твой вариант. Но такое случается довольно редко. Всё реже и реже в последнее время.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Призрак Boris'а3000 от 22 сентября 2017 15:39:39
Цитата: Force от 22 сентября 2017 11:07:00
Скажу по секрету, я попробую прикрутить поддержку лично твоего компа... Типа if ( комп Зонтика ) { тогда работаем дальше }!
Что-то мне это не очень нравится... Идея с насильственным имплантированием новой видеокарты прямо в комп Зонтика мне по душе гораздо больше.

Зонтик, а почему ты здесь не возмущаешься, что это есть риск удлинить разработку, утяжелить прогу и сделать её глючной и забагованной? По-мойму, тут вероятность этого куда выше, чем, например, при добавлении такой мелочи как ручной выбор текстуры, против которого ты внезапно восстал из ада.
Ты осознаёшь, что выбор между имплантированием видеокарты за копейки и усложнением проги (которое к тому же по-любому необходимо лишь временно даже для тебя, а потом оно станет вообще никому не нужным) в пользу усложнения -- это абсурдно и неразумно? Где моск в такие моменты?

Короче, Баба-Яга против. Кроме всего перечисленного, в принципе незачем потакать тараканам в голове и лишать человека возможно единственного стимула хоть немного проапгрейдиться. Это называется "медвежья услуга".
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Zontik от 22 сентября 2017 16:47:46
Я об этом не просил, но не думаю, что прямо так уж сейчас Force возьмет и все забагует.
Да и вообще у меня будет эксклюзивная версия, не переживай. Все баги мои.
Ну и главное: ты ошибаешься, это не стимул. Совсем. Насильственное имплантирование - вот это да, стимул, есть чего бояться.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 22 сентября 2017 17:14:21
Цитата: Zontik от 22 сентября 2017 16:47:46
Да и вообще у меня будет эксклюзивная версия, не переживай. Все баги мои.
Ты делаешь собственный просмотрщик?
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Zontik от 22 сентября 2017 19:38:46
Нет, ты.
[spoiler]Впрочем, неважно, что там на самом деле. Главное - никого не нервировать.[/spoiler]
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: HellRaiser от 22 сентября 2017 22:28:00
Boris3000 Борь, оставь эту головную боль Форсу. Я уверен, что он оценил все "за" и "против" и это вполне себе такое взвешенное решение, и даже одним ифом обойдётся в лучшем случае ;)
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Maxim от 22 сентября 2017 23:19:37
Force, Когда примерно можно будет уже пощупать программу? Может какие-нибудь первичные версии будут? Просто чтоб посмотреть как пойдёт вообще.

Цитата: Force от 22 сентября 2017 14:46:27
Zontik, не фатализируй. Семерка - идеальный вариант в твоем случае.
Хех, Force, вставайте в очередь ))) Уж сколько было попыток объяснить это Зонтику... Совращение Зонтика на что-то это вообще мишн импоссибл почти.  ;D
Этот "идеальный вариант", к сожалению сам уже на издыхании. Вот-вот начнут везде выпиливать. А он вместо того, чтобы продержаться подольше с нормальностью, предпочитает потом сразу нырнуть в море идиотизма Десяток и прочих. Я там плавал. И водичка мне крайне не понравилась.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Zontik от 23 сентября 2017 00:03:37
Ну не то чтобы я предпочитал... Но голову действительно лучше рубить, чем отпиливать.
А семерка - да. Конченый вариант.
Но пока подо мной не горит.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Maxim от 23 сентября 2017 00:34:20
Забавная опечатка у тебя  ;D
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 23 сентября 2017 22:38:51
Цитата: Maxim от 22 сентября 2017 23:19:37
Force, Когда примерно можно будет уже пощупать программу? Может какие-нибудь первичные версии будут? Просто чтоб посмотреть как пойдёт вообще.
Когда основной функционал будет доделан, когда программой можно будет пользоваться по назначению. Тестовые версии обязательно будут.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Zontik от 25 сентября 2017 09:19:00
Maxim, это не опечатка, если ты про прилагательное к "варианту".
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 29 сентября 2017 15:30:11
Функциональный прототип готов... почти... Это значит что список моделей можно прокручивать, файлы из списка можно выбирать, загружать разные модельки, саму модельку можно вращать, приближать-отдалять, память не захламляется... Да вот только в каждом из этих пунктов еще есть изъяны. Это помимо поддержки разных форматов текстур и моделей персонажей. Работы еще очень много. Когда использование прототипа не будет вызывать эргономическую боль, я выпущу тестовую версию.

P. S. Я, конечно, ожидал, что вращение модели сделать будет не просто, но то что это НАСТОЛЬКО непросто, я не ожидал. Буду переделывать, в итоге.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Zontik от 29 сентября 2017 15:32:49
Хорошая новость.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: HellRaiser от 29 сентября 2017 15:46:42
Цитата: Force от 29 сентября 2017 15:30:11
Я, конечно, ожидал, что вращение модели сделать будет не просто, но то что это НАСТОЛЬКО непросто, я не ожидал.
А как у тебя на данный момент это реализовано? Я себе представляю это примерно так:
1) хватаем нажатую ПКМ/стрелочку на клаве.
2) Двигаем модель в нужную сторону относительно выбранной оси координат (а точнее - вымеряем дельту между текущим положением и новым).
3) в зависимости от реализации: двигаем модель/изменяем положение камеры/втыкаем модель с новыми координатами
4) [опционально:] команда "фас" драйверу.
В институтских лабораторках, ЕМНИП, модель сама по себе только двигалась по осям, а вращение достигалось камерой и никакой дополнительной команды драйверу не требовалось слать, но с тех пор утекло много воды, поэтому я в данный момент не в роли советчика, а в роли любопыста  :embarassed:

Если многабукафф, то можно в личку.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: nemyax от 29 сентября 2017 15:49:39
HellRaiser
Я так понимаю, трудности возникли с конструированием правильной modelview-матрицы.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 29 сентября 2017 16:06:27
Да, nemyax почти угадал. Трудности возникли с конвертацией координат мыши в ориентацию объекта. Из ориентации матрица сама строится, этот момент как раз уже схвачен. Пробовал и через углы Эйлера и через кватернионы... Во всех случаях есть косяки - неочевидное вращение объекта. Узнал о такой теме как arcball, буду ее пробовать.

HellRaiser, тут сложность в том, что мы не положение камеры меняем, а ориентацию модели (!). А так да, алгоритм примерно такой же :).
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: nemyax от 29 сентября 2017 16:19:24
Force
Дельта мыши по горизонтали соответствует азимуту. По вертикали — высоте. Чтобы матрица не расползлась, задаём шаг в полградуса и каждый раз пересчитываем матрицу по новому значению, а не трансформируем старую. То есть обычный arc rotate. Не?
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Maxim от 29 сентября 2017 16:21:50
Не понимаю. Неужто так важно крутить в смотровике модель? Мы хотели хотя бы какой-то функционал, а теперь вон изыски пошли. Которые Force, межу прочим, весьма стопорят, как выясняется. Потому что реализация сложна.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: nemyax от 29 сентября 2017 16:24:49
Цитата: Maxim от 29 сентября 2017 16:21:50
Неужто так важно крутить в смотровике модель?
Конечно. Кому нужен просмотрщик триде-моделек без базовой навигации?
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Zontik от 29 сентября 2017 16:25:11
Maxim, бывает. Вот выдаст тебе плоский прямоугольник в профиль, и гадай, что там у него на фасаде.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 29 сентября 2017 16:31:39
nemyax, да. Вот только при конвертации направления в сферические координаты и обратно происходит сброс приращения... радианы живут своей жизнью. В результате, модель внезапно начинает вращаться в сторону противоположную движению мыши. Мне не удалось победить это полностью, да и характер вращения мне не нравится, поэтому попробую аркбол.

Цитата: nemyax от 29 сентября 2017 16:19:24
То есть обычный arc rotate. Не?
Вполне возможно, мы говорим об одном и том же :).

Maxim, как оказалось, просмотр модели с одного ракурса, порой, не дает ровным счетом ничего. Поэтому вращение модели - это базовая фича. То есть, она обязана быть :).
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: nemyax от 29 сентября 2017 16:44:40
Цитата: Force от 29 сентября 2017 16:31:39при конвертации направления в сферические координаты и обратно происходит сброс приращения... радианы живут своей жизнью
Ну а если хранить трансформацию не в сферических, а тупо в градусах для осей X и Y? Азимуту при обновлении делать az = (az + az_delta) % 360, а высоту упирать в 90 и -90.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Maxim от 29 сентября 2017 16:46:23
Понятно, спасибо.
А как насчёт требований программы к системе? Какая она будет - лёгкая, али тяжёлая?
В процессе работы я люблю параллельно держать открытыми и редактор dromed и фото-редактор, браузер с кучей вкладок и т.п. Но если что, то готов пожертвовать удобствами параллельных процессов. Просто спрашиваю.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 29 сентября 2017 16:50:06
nemyax, по результатам отчитаюсь, но, если что, совет приму к сведению, спасибо ;).

Maxim, в простое ничего не жрет, в отличие от дромеда, сжирающего ядро целиком :).
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 29 сентября 2017 17:45:23
Сделал через arcball и да, это самый приятный вариант. :yes: Надо будет еще доработать напильником. :biggrin:
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 02 октября 2017 17:32:17
Комитет оценки вращения объектов поставил "зачет" за реализацию вращения объекта в просмотрщике! ВУХУ! :yay:
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 30 октября 2017 11:04:07
Здравствуйте!

Я прошу прощения за долгое отсутствие и молчание. У меня возникли жизненные трудности, из-за которых пришлось на некоторое время прервать разработку просмотрщика (и вообще). Если вкратце - это сгоревшая видеокарта, поиск новой работы, разруливание дел на старой... Как только всё стабилизируется и я вернусь к разработке, сообщу тут.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Призрак Boris'а3000 от 30 октября 2017 11:54:17
Ничего страшного. Зато Зонтик успеет сменить себе видеокарту. Возможно даже, что текущая у него тоже сгорит.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Zontik от 30 октября 2017 14:39:09
Boris3000, ты уже кончаешь мастерить сжигающий вирус?
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Призрак Boris'а3000 от 30 октября 2017 14:46:38
Zontik
Да ты чё, я ж уже не только закончил, но и в сеть пустил -- вон, у Форса-то сгорела. Я сначала на нём испытал. :biggrin:
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 30 октября 2017 14:48:26
Zontik, кстати! Поставь себе Unreal Engine, потесть, посмотри функции, может заинтересует...  :rolleyes: :rolleyes: :rolleyes: :sly:
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: nemyax от 30 октября 2017 15:14:38
Цитата: Force от 30 октября 2017 14:48:26Поставь себе Unreal Engine
Который 64-bit only? =)
Ему на XP максимум Xash3D (http://cs-mapping.com.ua/forum/forumdisplay.php?f=189) сгодится.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 30 октября 2017 16:00:46
nemyax, скорее всего Xash3D не сжигает видюхи как UE, пропатченный Борисом...
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Zontik от 30 октября 2017 16:34:34
Всем спасибо, я лучше куплю паяльную лампу.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 31 декабря 2017 13:32:44
Привет.

Это снова я, к сожалению, пока без новых картинок... но с хорошими новостями :). Хотел сообщить, что трудности, с которыми я столкнулся, постепенно преодолеваются, видеокарта была куплена, работа найдена, осталось пройти испытательный срок, пообвыкнуться и продолжить разработку просмотрщика.

К счастью, удалось сделать решительный шаг: сменить профессиональную деятельность с Perl-, на C++-разработчика. Это было нелегко (убедить работодателя, что надо смотреть не только на профессиональный опыт). В общем, теперь есть возможность сделать наш проект еще лучше за счет перенятия опыта у моих новых C++ коллег.

Наверное, стоит вкратце рассказать нюансы столь затянувшейся истории... Всё навалилось внезапно. Мой работодалель объявил о поглощении нашей компании, и что компании-поглотителю программисты не нужны: ищите работу. Продолжать тухнуть в болоте разложения Perl'а мне уже не хотелось, тем более давно хотел C++, в идеале даже геймдев. Подумалось мне, что надо изучить Unreal Engine, но в какой-то момент после очередного запуска сего монструозного редактора моя видюха сказала "ой, всё"... Очень некстати, пришлось тратиться на покупку GTX 1060 6gb (я слишком мало зарабатываю, чтобы покупать дешевые вещи (с))... А потом оказалось, что геймдеву не нужен такой программист, как я - им нужен опыт коммерческой разработки на C++, а не шесть лет опыта в качестве хобби. Так что, с геймдевом не сложилось, да и всё-таки зарплаты нам ниже, как правило - люди, типа, готовы там работать за идею... ну-ну... А я пока что очень доволен случившимися переменами, настроен на лучшее.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Призрак Boris'а3000 от 31 декабря 2017 16:02:22
Цитата: Force от 31 декабря 2017 13:32:44
с геймдевом не сложилось, да и всё-таки зарплаты нам ниже, как правило - люди, типа, готовы там работать за идею
Джамшуты? Теперь понятно, откуда в локализации 7Wolf кавказский акцент. "Да я тэбя па стэнке размажю."(с)
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: spy от 31 декабря 2017 17:23:11
есть такая штука Noesis - http://richwhitehouse.com/index.php?content=inc_projects.php . И еще   DragonUnPacker https://www.elberethzone.net/dragon-unpacker.html, вполне возможно было бы договориться с авторами, чтобы те сделали полную поддержку Т и ТГ, тем более, что они частично поддерживают эти игры
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 03 января 2018 10:55:10
spy, не возникало желания пойти, к примеру, в эту тему (http://darkfate.org/forum/index.php?topic=2008.0) и сказать, "надо Зонтика попросить всё сделать, он уже вон сколько наделал, и тут справится"?
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Zontik от 04 января 2018 22:45:10
Цитироватьвсё-таки зарплаты нам ниже, как правило - люди, типа, готовы там работать за идею...
Это где такие наивные работодатели обитают, не в Москве же?!
В принципе, я согласен работать за идею. В общем, так и делаю. Пока мне платят за работу в другом месте.
Но у меня нет иллюзий, что оплачиваемый труд может иметь какое-то отношение к идее. В лучшем случае, конечно, может иметь место идея, но ведь все равно не моя!
Вообще извлекать лимонад из лимона - это редкий талант. Поздравляю с переменами к лучшему!
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: nemyax от 04 января 2018 23:39:41
Цитата: Zontik от 04 января 2018 22:45:10
Цитироватьвсё-таки зарплаты нам ниже, как правило - люди, типа, готовы там работать за идею...
Это где такие наивные работодатели обитают, не в Москве же?!
В гейдев идёт много юношей с горящими глазами. Их берут, без особых затрат выжигают за пару лет и отпускают на все четыре стороны уже с потухшими.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Soul_Tear от 05 января 2018 17:39:49
Цитата: Zontik от 04 января 2018 22:45:10
В принципе, я согласен работать за идею. В общем, так и делаю. Пока мне платят за работу в другом месте.

Стремиться надо к тому, чтобы работать за идею, когда за нее же и платят. Или зарыть талант в землю, работая в другом месте.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Zontik от 05 января 2018 23:43:28
Soul_Tear, так стремись, кто не дает? А для меня это уже пройденный этап.
Надеюсь только, что ты не станешь одним из этих
Цитироватьюношей с горящими глазами.
(Возраст, как я понимаю, тут значения не имеет.)
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Soul_Tear от 06 января 2018 23:32:42
Мне не надо стремиться, я итак это делаю. Еще давно здесь говорил, что на дядю не работаю. А тебе да, уже поздно.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Soul_Tear от 06 января 2018 23:39:04
Цитата: Zontik от 05 января 2018 23:43:28
Надеюсь только, что ты не станешь одним из этих
Цитироватьюношей с горящими глазами.

Вообще об ком речь? Любой человек так или иначе проходит какой-то путь, и все так или иначе достигают цели. Если у кого-то цель: спиться и попасть под машину - это никак не связано с тем, что человек не смог воплотить свои идеи, просто не очень-то и хотел или не было там никаких идей.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 07 января 2018 09:55:51
Soul_Tear, а ты, оказывается, чёрно-белый чувак  ;)
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: nemyax от 01 марта 2018 08:42:44
Цитата: Force от 30 июля 2017 15:51:35
Интерфейс - а всё-таки зачем АПИ-интерфейс? Неужели не подойдет интерфейс в самом 3d приложении? Ну, как в гонках мы выбираем модель автомобиля, который крутится на экране.
Дело хозяйское, но очень рекомендую FLTK. Без проблем настроил сборку в студии под вендой и в GCC под линуксом. Под обеими системами завёлся OpenGL 3+. Невероятно легковесный со статической линковкой, всё нужное умеет и хорошо оттестирован.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 01 марта 2018 10:18:10
nemyax, ага, гляну, спасибо!

А я тут приближаюсь к выпуску первой тестовой сборки. Уже прикрутил поддержку почти всех графических форматов, кое-где значительно поменял внутреннюю архитектуру движка, сделал ее прозрачнее. Но большую часть времени возился именно с интерфейсом... хех, чтобы в итоге выпустить первую сборку без него :cheesy:... потому что так и не допилил. Скроллинг оказался непростой задачей... Осталось еще несколько штрихов... Ориентируюсь на ближайшие недели две, если не возникнет внезапных авралов на работе.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: nemyax от 08 марта 2018 10:06:25
Force
Вот ты остановился на GL3. А как ты создаёшь матрицы модельвью-проекции? Всё руками? Стек-то убрали.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 08 марта 2018 12:32:25
Я использую библиотеку glm. Это аналог glsl методов и структур данных - векторов, матриц. Там есть все необходимое для работы. Рекомендую туториалы посмотреть, например learnopengl.com, а первые статьи уже на Хабре переведены https://habrahabr.ru/post/310790/ . Вообще, сейчас современный набор либ для OpenGL выглядит так: GLFW (для окон и контекста), GLAD (для OpenGL и расширений), GLM (для трансформаций и структур данных). Если у тебя что-то другое, советую рассмотреть эти либы.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: nemyax от 08 марта 2018 12:37:50
Да, про glm читал. Но пока не знаю, не будет ли перебор его подключать. Для окошек всё есть в FLTK, а инициализация через файлики, сгенерированные GLLoadGen-ом.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 08 марта 2018 12:53:42
Ну тогда придется самому реализовывать всю математику, трансформации и пр. Это не сложно, все есть в справочниках, но потребует времени. А glm - это header only библиотека, специально компилить ее не надо.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 15 марта 2018 16:59:44
Всем, привет!
С радостью сообщаю вам что готов выслать тестовую версию просмотрщика всем желающим по email!
Реализованы следующие пункты ТЗ (http://darkfate.org/forum/index.php?topic=5789.msg264943#msg264943):

- Показ модели по щелчку на файле с возможностью перехода к следующему/предыдущему bin'у в текущей папке, переход осуществляется стрелками клавиатуры влево/вправо.
- Поиск текстур открываемой модели в текущей папке, а также в  txt/txt16.
- Отображение имени текущей модели (с абсолютным путем), списка использованных текстур, геометрических размеров модели (длина/ширина/высота), числа полигонов в модели.
- Возможность вращать модель мышью и приближать/удалять камеру колесом.

Пока реализован только режим Full Bright, без источников света и теней и нет автоматического позиционирования камеры при открытии модели, чтобы она вся была видна во вьюпорте, поэтому иногда после открытия файла нужно пользоваться скроллом.
Огромное количество времени было уделено разработке интерфейса выбора моделей из списка и навигации по каталогам, но волевым усилием решено было выпустить первую тестовую версию без него, поскольку работы в этом направлении еще много, а базовый функционал программа уже предоставляет.

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

Спасибо за ваше терпение!

(http://forcesw.com/i/de_resource_viewer_v05.jpg)
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Chuzhoi от 15 марта 2018 19:06:44
Впервые в жизни улыбнулся, увидев лопату. Конечно, я посмотрю. Адрес выслал личкой.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Maxim от 15 марта 2018 20:26:52
Большое спасибо за труды! Наконец-то можно попробовать и потестировать. По результатам пробы и практического использования можно будет написать отзыв подробнее.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Призрак Boris'а3000 от 15 марта 2018 22:03:50
Force
Высылай.

Когда слева появится список, стрелки влево и вправо станут напрашиваться поменяться на вверх и вниз.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 15 марта 2018 22:13:26
Boris3000, я тоже так думал, но потом понял что удобнее будет, если переключение модели будет осуществляться по нажатию ENTER, выделенной курсором модели. Поэтому вверх/вниз, pgup/pgdown, home/end будет двигать курсор, а ENTER открывать модель, а влево вправо открывать следующую от текущей :).

К сожалению, я забыл флэшку с релизом на работе, поэтому выслать смогу только завтра. Прошу простить меня за такую невнимательность.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: nemyax от 15 марта 2018 22:16:21
Для перебора списка в просмотрщиках часто используют пробел и забой (вперёд и назад соответственно).
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Maxim от 16 марта 2018 01:35:15
Да ладно, ничего же страшного. Это ведь не к спеху. Всего-лишь 1 день на фоне уже прошедшего времени. А то говорите так, будто мы заказ с контрактом подписывали :)
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Zontik от 16 марта 2018 09:49:48
Хочу! Хочу! Адрес прежний.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 16 марта 2018 11:21:31
Совсем забыл написать! :doh: У кого есть возможность проверить запуск просмотрщика на видеокарте семейства Radeon? Это было бы ценным опытом.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Zontik от 16 марта 2018 14:38:33
Цитироватьзабой
Как давно не слышал этой вариации!
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: nemyax от 16 марта 2018 14:44:26
Цитата: Zontik от 16 марта 2018 14:38:33
Цитироватьзабой
Как давно не слышал этой вариации!
[off]Надо же иногда радовать Maxim-а =)
А вот как по-человечьи сказать Shift, Alt и Ctrl, не знаю.
[/off]
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 16 марта 2018 15:05:36
Отлично! Уже подоспели первые баги! А я сообщу, что нужно делать, чтобы они не мешали запускать программу: проследите за тем, чтобы путь к программе не содержал русских символов! Эту проблему исправим в будущих релизах.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Zontik от 16 марта 2018 16:12:41
[off]nemyax, да неужели "шифт" - это не русское слово?! Все еще? Ну тогда пускай будет ВР (верхний регистр).[/off]
Программа пока радует. Баги есть, но не такие критичные, как в том, чему на замену она пришла. Да и умеет хоть чуть-чуть, но все-таки больше. Даже в таком варианте.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Chuzhoi от 16 марта 2018 17:20:10
Программу испытал, пооткрывал свои и не свои модельки. У меня все нормально функционирует, ничего не виснет; все, что обещалось в данной версии, вроде работает. Багов не видел.

Пожелание: убавить число знаков после запятой в размерах модели (двух, максимум трех, на мой взгляд, достаточно), т. к. в таком виде цифры трудновоспринимаемы. Впрочем, у авторов миссий могут быть свои соображения.

И еще: у меня возник некоторый дискомфорт от невозможности панорамирования (смещения) модели (или взгляда относительно модели). Иногда, даже если модель полностью влезает на экран, хочется ее как-нибудь сдвинуть - хотя бы из эстетических соображений, для лучшего восприятия. Более того, в некоторых моих моделях начало координат намеренно расположено не по центру модели, а где-нибудь с краю или вообще за пределами. Иногда также хочется разглядеть какой-нибудь фрагмент, однако при увеличении он оказывается за пределами окна. Ни у кого не возникает желания добавить не только вращение, но еще и смещение? (Однако, если это сильно усложнит задачу, делать, конечно, этого не надо).

[off]
Цитата: nemyax от 16 марта 2018 14:44:26
А вот как по-человечьи сказать Shift, Alt и Ctrl, не знаю.
Ctrl по-русски называется УС, а Shift - СС. А еще Esc называется АР2.[/off]
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Chuzhoi от 16 марта 2018 19:42:15
Заметил, что если модель состоит из нескольких подмоделей (это бывает, когда у модели есть двигающиеся части), то одна и та же текстура дублируется в списке несколько раз (по количеству частей). Случай, конечно, довольно редкий, но убрать лишние дубли не мешало бы.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 16 марта 2018 20:35:44
Chuzhoi, присылай модель с текстурами! ;)
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: nemyax от 16 марта 2018 22:13:58
Цитата: Chuzhoi от 16 марта 2018 17:20:10Ни у кого не возникает желания добавить не только вращение, но еще и смещение? (Однако, если это сильно усложнит задачу, делать, конечно, этого не надо).
Да не должно особо усложнить. Это поменять две чиселки в модельвью-матрице =)
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Zontik от 16 марта 2018 22:58:47
ЦитироватьПожелание: убавить число знаков после запятой в размерах модели
Присоединяюсь. На кой хрен такая точность в ГАБАРИТНЫХ размерах? Это же почти условность. Три знака после запятой меня даже рассмешили. Кому надо учитывать толщину торчащей шляпки гвоздя, добро пожаловать в специализированный редактор.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Maxim от 17 марта 2018 01:06:31
ЦитироватьКому надо учитывать толщину торчащей шляпки гвоздя
[off]Я думаю мы с тобой даже знаем кому[/off]
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Призрак Boris'а3000 от 17 марта 2018 09:52:39
Запустилась. :biggrin:

1) Хотелось бы режим увеличения/уменьшения без приближения/удаления, мне даже кажется, что именно такой режим и должен быть основным.

2) Наверно надо как-то ограничить диапазон приближения/удаления, ведь никому не нужно просматривать модель изнутри?

3) Сделать hot-key, возвращающий вид в исходный.

4) При запуске проги через тычок по bin она начинает кидать свой лог в... папку с этим bin. Оказывается, за ней глаз да глаз нужен -- как-то не очень хочется, чтоб в результате тестирования все мои многочисленные папки с модами оказались засраны логами. :biggrin:

5) Возможность поступательного перемещения модели во всех трёх измерениях нужна обязательно -- ведь с какого-то шага увеличения она перестаёт влезать в экран.

6) Что-то надо сделать для облегчения вращения -- крутить как попало-то легко, а вот чтоб, например, прокрутить в строго горизонтальном положении, приходится два часа нащупывать волшебную точку.

7) При запуске через bat-ник не находит свою лопату и крашится.

8) Не хочет листать дальше при постоянно нажатой клавише.

9) Очень долгое открытие модели с сетевого диска, если отсутствует хотя бы одна из текстур, -- секунд 10. При этом в эти 10 секунд прога не реагирует на нажатия клавиш, не позволяя пропустить эту модель и идти дальше. Если же ещё и сама прога запущена с сетевого диска, то время ожидания вообще секунд 30.

10) Ну и конечно просмотр bin из mesh очень хотелось бы.

Пока вроде всё, пойду тестить приоритеты.

Ну а вообще крутая штука. :up: Наконец-то можно будет по-нормальному рассмотреть все модели и понять, какие где находятся.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Zontik от 17 марта 2018 10:44:01
ЦитироватьПри запуске проги через тычок по bin она начинает кидать свой лог в... папку с этим bin.
А вот это я прозевал. Хреново, конечно. Терпеть не могу, когда все эти служебные файлы потом поставляются вместе с готовой миссией. И уж тем более не готов присоединиться к этим авторам.
Цитироватьведь никому не нужно просматривать модель изнутри?
Неоднозначно. Бывают редкие случаи, когда надо посмотреть на модель именно изнутри - ну хотя бы чтобы определить, есть ли там видимые поверхности. Пата таких моделей у меня сейчас как раз в работе (нет, я их не делаю, а просто использую).
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: HellRaiser от 17 марта 2018 10:48:57
Таки уронил!  :devil: просто подпихнув лошадку вместо статической модели.
[2018-03-17 10:32:28] Thread exception: Unknown BIN model format: 'LGMM'

А вот и косячок (если это косячок конечно): есть 2 модели с одинаковыми именами, ссылающиеся на одну и ту же текстуру. (какая-то из них исходная, а какая-то чем-то сконверчена, возможно как-то давно баловался с конвертором nemyax-a).
Размером отличаются на 1кб, но для одной он текстуру подгружает, а для второй - default.dds, хотя в обоих файликах ссыль на гифку есть. , если надо, могу отослать модельки.

UPD: В данный момент не могу проверить, открывает ли вообще сам мрак-мотор проблемную модель...

На этом пока всё, попозже поправлю пост, если ещё что-то откопаю.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 17 марта 2018 11:36:32
Цитата: Boris3000 от 17 марта 2018 09:52:39
7) При запуске через bat-ник не находит свою лопату и крашится.
Что за батник?

HellRaiser, высылай.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 17 марта 2018 11:38:03
В данный момент не реализован поиск текстур с альтернативными РАСШИРЕНИЯМИ. Я об этом банально забыл. Если кого не затруднит, выложить здесь желаемый приоритет поиска по расширениям.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Призрак Boris'а3000 от 17 марта 2018 11:48:58
Цитата: Force от 17 марта 2018 11:36:32
Что за батник?
Ну как что... Обычный батник в папке с прогой. Даже если кроме имени экзешника в этом батнике ничего нет.
Я хотел автоматизировать запуск с высоким приоритетом, да обломался.

Цитата: Force от 17 марта 2018 11:36:32
Если кого не затруднит, выложить здесь желаемый приоритет поиска по расширениям.
http://darkfate.org/forum/index.php?topic=5789.msg265664#msg265664

То есть тестить приоритеты ещё рано?
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Maxim от 18 марта 2018 12:21:26
Что-то я не пойму :) Какие ещё планы с тенями и прочим в будущем? Мы заказывали одно, а получили...
* Где кнопка выбора папки с моделями?
* Где кнопка выбора папки с текстурами? (не было возможности проверить авто-подхват. подробности ниже)

У меня утилитка открыла модель через перетаскивание (как и было описано в сопроводительном письме). Однако при листании в какой-то момент падает с ошибкой. И текстуры не подгружаются — все модели с текстурой george.
Программа что, не умеет открывать PNG? Это основной формат! Не доисторический GIF, а PNG надо. И DDS.

Нужно как положено: программа может быть помещена в любое удобное пользователю место и в ней должна быть кнопка выбора папки с моделями. Если не умеет подхватывать текстуру из-под каталогов в папке моделей, тогда отдельно кнопку выбора папки с текстурами (хотя это менее удобно). После выбора каталога тут же отображается первая модель в списке. А дальше уже пользователь листает стрелочками модели. Ну и перетаскивает вручную в окно модель при желании посмотреть какую-то определённую сразу. Пользователь перетаскивает в окно (!) уже работающей утилиты, а не так, что требуется на экзешник перетаскивать. Это изменить нужно обязательно, ибо то, как есть сейчас — совершенно неудобно и сводит эту возможность на нет.
Когда мы это задумывали мы хотели рабочую лошадку. Не всякие там тени, SSAO, а простой просмотрщик моделей, который будет работать из определённого пользователем места, а не так, что надо саму программу каждый раз кидать в какие-то папки и оттуда запускать. Потому что папки с моделями могут быть вполне миграционными, а помещать просмотрщик в каталог с моделями, где экзешник потом каждый раз искать вперемешку с файлами моделей — крайне неудобно.

Длина, Высота, Ширина это хорошо. Идея понравилась. Пусть это тоже будет. Равно как и указание количества полигонов. Чёткие числа, без кучи знаков после запятых.
Кстати, почему именно "Tris" полигоны выбрано мерилом? Редакторы 3D, в которых мы работаем оперируют понятием полигонов как "faces". Классические quad polys, насколько я понял. Подсчёт же в треугольниках может выдавать не то количество полигонов.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: nemyax от 18 марта 2018 12:36:24
Цитата: Maxim от 18 марта 2018 12:21:26
Кстати, почему именно "Tris" полигоны выбрано мерилом? Редакторы 3D, в которых мы работаем оперируют понятием полигонов как "faces". Классические quad polys, насколько я понял. Подсчёт же в треугольниках может выдавать не то количество полигонов.
А во мрак-моторе число полигонов в модельке не показатель. Там BSP-нарезка может наделать такой порнухи, что ни о каких кводах речи не будет.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Призрак Boris'а3000 от 18 марта 2018 13:06:51
Цитата: Maxim от 18 марта 2018 12:21:26
Мы заказывали одно, а получили...
...а получили пре-пре-альфу, в которой надо проверить то, что есть, а не переполох поднимать. Утро в курятнике. Ты чё, ни тему, ни сопроводительное письмо не читал, что ли??

Цитата: Maxim от 18 марта 2018 12:21:26
Какие ещё планы с тенями и прочим в будущем?
Отличные планы. Модель должна выглядеть, как в игре. Форс, не обращай внимания -- мув ит, мув ит!
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Chuzhoi от 18 марта 2018 15:59:57
Макс, ну Форс же сказал, что это предварительная версия, в которой еще много чего нет.

Я еще могу предложить как-то индицировать двигающиеся части. Например, выделять их цветом или делать полупрозрачными. Можно заставить их вращаться вокруг осей (кстати, в стандартом view.exe они вращаются - точнее, колеблются туда-сюда.) Можно также показывать сами оси. Лучше, если индикация всего этого будет отключаемой. Однако, поскольку модели с двигающимися частями редки, делать такую индикацию стоит в последнюю очередь. В крайнем случае сойдет и просто индикация числом (Moving parts: 0, например).

Цитата: Maxim от 18 марта 2018 12:21:26Кстати, почему именно "Tris" полигоны выбрано мерилом?
Потому что движок оперирует именно треугольниками, и их число - наиболее точный показатель производительности. Квадратные полигоны - абстракция, придуманная для моделлеров. В bin-файле, вероятно, даже не содержится о них никакой информации. Плюс см. ремарку о BSP-сечениях у nemyax'а.

Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Chuzhoi от 18 марта 2018 16:13:18
Цитата: Boris3000 от 17 марта 2018 09:52:39
6) Что-то надо сделать для облегчения вращения -- крутить как попало-то легко, а вот чтоб, например, прокрутить в строго горизонтальном положении, приходится два часа нащупывать волшебную точку.
Можно, чтоб с Ctrl крутилось строго в горизонтальном направлении, а без Ctrl - как попало. Или наоборот, с Ctrl - как попало, а без Ctrl - в горизонтальном.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Призрак Boris'а3000 от 18 марта 2018 16:43:45
Цитата: Chuzhoi от 18 марта 2018 16:13:18
Можно, чтоб с Ctrl крутилось строго в горизонтальном направлении, а без Ctrl - как попало. Или наоборот, с Ctrl - как попало, а без Ctrl - в горизонтальном.
Можно, тут вариантов-то много. Ещё:

1) Мышь оставить как есть, стрелки вращают модель в строго горизонтальной и вертикальной плоскостях (стартуя от текущего положения), home сбрасывает вид на исходный (модель горизонтальна), pageup/pagedown листают модели и одновременно перемещают текстовый курсор в списке файлов (при постоянном нажатии только курсор перемещается, а модели не переключаются)

2) По какой-нибудь клавише включать/отключать отображение на экране области, в которой надо схватить мышкой, чтоб модель крутилась либо в горизонтальной, либо в вертикальной плоскости. При этом если мышь перемещается в основном по горизонтали, то модель будет крутиться в горизонтальной плоскости, а если в основном по вертикали, то в вертикальной плоскости. В общем-то, это практически твой вариант, только вид с боку.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: nemyax от 18 марта 2018 18:02:43
Цитата: Chuzhoi от 18 марта 2018 15:59:57Квадратные полигоны - абстракция, придуманная для моделлеров. В bin-файле, вероятно, даже не содержится о них никакой информации.
Там кокрастоке обобщённые полигоны с однобайтовым числом вершин. Впрочем когда я подсунул модельку, где был полигон с 255 сторонами, движок благополучно накрячился.
Maxim
Универсальнее всего, когда для видимокарты перечисляют вершины таким образом, чтобы рендерились именно треугольники. Так же наверняка у себя делает и Force.

Хех, я смотрю, начиная с третьего GL ничего кроме треугольников и нету.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Maxim от 18 марта 2018 19:27:25
nemyax Понятно, спасибо. Кстати, попутный вопрос - а это можно как-то исправить в теории? Я про каверканье кол-ва полигонов этим БиЭсПи. Нью-дарк с этим как-то пересекаться может? Если да, то можно было бы наверное чиркануть загадочному хранцузу.

Да что вы заладили с этими "пре-альфами"? Как можно говорить о тенях и прочем, устраивать возможности вращения/приближения когда стартовая банальщина не выполнена?! Выбор каталога это вообще фундамент. А щас будут навешивать фентифлюшек когда ещё главного как раз нет. Это как начать строить дом, не построить стены, а потом говорить: "Ой, мы тут щас окна делаем, не мешай! Да это ж пре-пре-пре-альфа!". Тоже самое касается и перетаскивания модели для просмотра. На экзешник есть, стало быть механизм сам есть. Просто распределение приоритетов странное.
И не должно быть этих новомодных дуростей в лице всяких пре-пре альф, бетт и гамм. Есть версия предварительная, с ошибками, первым нащупыванием и есть последующие версии 1, 2, 3 и так далее. Просто. Речь об утилите, а не масштабном проекте тяжёлого уровня, чтобы подобный пафос разводить с этими условностями.
ЦитироватьОтличные планы. Модель должна выглядеть
Насчёт вот этого должна. Уж который раз. Давай-ка я тебе кое-что объясню. Ты только не бей гантелей :)
Есть заказчик. Есть исполнитель. Кто определяет что и как кому должно быть, угадаешь с двух раз? А вот чего ты сюда прибежал с указаниями "должно" я не знаю. Хотя я всё равно рад, что так вышло, ибо традиционно нравятся некоторые замечания. Но всё же не надо уводить всё в неизвестно какую относительно текущих планов степь. Лично мне модель нужна во вьюпорте такой, какая она есть, без прикрас, без падения производительности на эти прикрасы. Чтобы модели селектились молниеносно. И Фуллбрайт. (Нёма, дивись как я самоересью словечками занимаюсь). Нет времени на разглядывание — работы творческой тьма. Тебя я понимаю, ты хочешь красивую листалку каталога. Ты и в жизни любишь когда всё правильно и красиво, это я тоже знаю. Правда, на кой чёрт тебе это вообще надо, если ты не автор миссий тоже не понятно.
Все сторонние хотелки всегда можно реализовать вне данного проекта в другом просмотрщике. И будет ли он для широкой аудитории или специально для тебя Борис это уже сами как-то там.
Тем более, что для нас сделать проще, потому что нам мало что нужно. А уж Зонтику и того меньше. Он у нас известный консерватор "по средствам". И это как раз совмещается с вашими любимыми альфами и бэтками.

ЦитироватьМышь оставить как есть, стрелки вращают модель в строго горизонтальной и вертикальной плоскостях (стартуя от текущего положения), home сбрасывает вид на исходный (модель горизонтальна)
Крайне поддерживаю! Борис опередил. Я как раз сюда зашёл про это сказать. Вращать наискосок совершенно не нужно. И это неудобно. Начинаешь вращать модель и понимаешь что она чёрти как на экране крутится.
Модель должна вращаться строго горизонтально и вертикально. И пожалуйста, без премудростей особых кнопок. Всё просто: удерживание левой кнопки мыши указывает, что пользователь пожелал вращать модель, но при движении мыши по оси X или оси Y вращение должно быть фиксированным вертикальным или горизонтальным, без смещений. Нажатие средней кнопки мыши сбрасывает на исходную позицию. Сброс должен быть обязательно.
И хочу напомнить, что крайне важно во главу угла поставить скорость работы просмотрщика, не нагруженного лишними (для нас) приблудами.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Chuzhoi от 18 марта 2018 19:47:06
Я покрутил модель в Максе, покрутил в форсовой проге и наконец понял, в чем дело. У Форса реализован и поворот, и наклон модели. Причем сделать только поворот очень проблематично (почти невозможно - для этого нужно попасть мышью в середину экрана). В Максе (Alt + средняя кнопка) модель поворачивается во всех направлениях, но без наклона - вне зависимости от того, в каком месте экрана находится курсор мыши. И этот режим наиболее комфортен. Поэтому я предлагаю сделать просто поворот (во всех направлениях без ограничений), но без наклона. Это совершенно комфортный и интуитивно понятный режим, поверьте - у вас никогда не будет ощущения, что модель крутится "как-то не так". В крайнем случае вы ее подвернете, как надо.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Chuzhoi от 18 марта 2018 20:06:37
ЦитироватьИ не должно быть этих новомодных дуростей в лице всяких пре-пре альф, бетт и гамм.
Это совершенно общепринятая программистская терминология, я не "дурости". Раз программа еще не доделана, и в ней предполагается добавление большого количества новых фич, значит, она - "пре-альфа".
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Призрак Boris'а3000 от 18 марта 2018 21:27:57
Цитата: Maxim от 18 марта 2018 19:27:25
Есть заказчик. Есть исполнитель. Кто определяет что и как кому должно быть, угадаешь с двух раз?
С одного угадаю -- тот, у кого больше мозгов и знаний. Суровая жизненная правда. А теперь ты угадай, у кого обычно больше этого всего -- у заказчика или у исполнителя...
Во-вторых, вот и не лезь туда, где заказчику вообще делать нечего. Заказчик может лишь озвучить свои конечные требования, но не должен влезать в процесс работы исполнителя, диктовать ему, в какой последовательности что делать, как проводить тестирование, определять за него, повлияют ли тени на производительность и т. д. Это абсолютно за рамками твоей компетенции. А если нет, то ты, видимо, и сам сможешь написать себе просмотрщик.
Что касается фуллбрайта, то должно быть попросту как в редакторе -- с возможностью переключения. Вообще все подобные вещи должны быть по максимуму унифицированы с редактором и Нью-Дарком.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Maxim от 18 марта 2018 21:34:07
Цитироватьи в ней предполагается добавление большого количества новых фич
Вот опять :) Где предполагается? Кем? Есть конкретное Т.З. Большое количество новых фич это уже не утилита, а попахивает грузным основательным софтом. Если вы этого хотите, то пусть вам отдельно ваяют. Кто против то?
И терминология мне эта известна, Кэп. Ещё мне известно, что сначала софт доводится до работоспособности всех функций, тщательно тестируется самим автором и только потом выкладывается. И не будет тогда никаких пре-альф. Есть какие-то нововведения, обновления программы до такого ощутимого уровня, чтобы это потянуло на отдельную "часть" — ок, появляется версия 1, версия 2, 3 и т.д. Вот как должно быть нормальным образом. А все эти пре-альфы и всякие 1.001, 1.002 (а некоторые ещё и буквы умудряются вставлять) это всё, простите, онанизм. И на фоне какого-то просмотрщика это просто смешно. Я знаю, что такая тенденция распространена в мире программ. Но это когда у кого что-то сверлит и не терпится и они занимаются ерундистикой, выкладывая промежуточные стадии и все дёргаются это качать каждый раз и заново тестить, вместо того, чтобы изначально делать хорошо, сводя на минимум возможные тесты.
Цитироватьно не должен влезать в процесс работы исполнителя, диктовать ему, в какой последовательности что делать, как проводить тестирование
Правильно, Борис. Вот я и говорю - не надо лезть, пожалуйста и уводить чёрти куда. А то сам это написал и сам же прибежал сюда командовать что как надо.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Призрак Boris'а3000 от 18 марта 2018 21:38:26
Цитата: Maxim от 18 марта 2018 21:34:07
Ещё мне известно, что сначала софт доводится до работоспособности всех функций, тщательно тестируется самим автором и только потом выкладывается.
Такое делается не за спасибо.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 18 марта 2018 21:52:11
Maxim, ок, чувак, я просто не буду тебе высылать рабочие билды, убедил. А то читать потом твой понос неприятно. Даже опровержение на твое "понимание жизни" писать желания нет. Должны ему... Есть мнение твое и неправильное, ты дал это понять. Не буду мешать.

2ALL, подстановку расширений по приоритетам доделал, кстати. Падение с русскими путями - тоже, теперь сборка производится в Visual Studio и снова надо будет проверить запуск на разных (ваших) системах, чтобы не требовало установки дополнительных библиотек.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: HellRaiser от 18 марта 2018 21:55:13
Цитироватьснова надо будет проверить запуск на разных (ваших) системах, чтобы не требовало установки дополнительных библиотек
Force, какая версия студии и как собирал?

Цитироватьодновременно перемещают текстовый курсор в списке файлов (при постоянном нажатии только курсор перемещается, а модели не переключаются)
Боря, курсоры и списки это следующий этап. Пока не стоит на этом внимание заострять.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 18 марта 2018 22:14:32
HellRaiser, статическая сборка 2017. В общем, всё должно быть ок, но я не проверял на голой системе.

Зонтик целую гору проблем выявил, но он писал в личку. У страха глаза велики, не знаю наверное стоит дожать интерфейс к следующему релизу в любом случае, помимо решения всех найденных проблем? Просто я столько с ним возился в прошлый раз, боюсь, опять затянется из-за него надолго...
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Призрак Boris'а3000 от 18 марта 2018 22:24:00
Цитата: Force от 18 марта 2018 21:52:11
чтобы не требовало установки дополнительных библиотек.
Это которые C++ Redistributable?


Цитата: HellRaiser от 18 марта 2018 21:55:13
курсоры и списки это следующий этап. Пока не стоит на этом внимание заострять.
Я ничего не заостряю, я просто вываливаю всё, что в голову приходит. Или ты предлагаешь выписывать в блокнотик? А заострится оно пусть само там как-нибудь, когда время придёт. Если забудется, я напомню.
А ты там как, опять свечку держишь или помогаешь? :biggrin:
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: HellRaiser от 18 марта 2018 22:38:44
Цитата: Boris3000 от 18 марта 2018 22:24:00
А ты там как, опять свечку держишь или помогаешь? :biggrin:
Там это в смысле тут? Опять свечку держу. Нравится мне занятие это ;)

Цитата: Force от 18 марта 2018 22:14:32
статическая сборка 2017. В общем, всё должно быть ок, но я не проверял на голой системе.
Специально для Бориса и Зонтика можно ещё включить опцию "сборка под XP" или как она там правильно называется. Чтобы рантайм-либы не цеплялись за свежие версии фреймворка (печальный факт, но под виндой vcrt работает в связке с дотНетом).

Цитата: Force от 18 марта 2018 22:14:32
У страха глаза велики, не знаю наверное стоит дожать интерфейс к следующему релизу в любом случае, помимо решения всех найденных проблем? Просто я столько с ним возился в прошлый раз, боюсь, опять затянется из-за него надолго...
ЕМНИП, ты хотел создать гуй на базе своего движка, минуя стандартные решения. Менюху, или ТриВью, конечно, сделать самому несложно, но переписывать заново все стандартные элементы отнимет массу времени, а восхищаться этими наворотами тут особо некому. Поэтому, для нервных и страдающих, я бы на твоём месте воткнул какой-нить BrowseForFolder диалог при запуске программы и пока ограничился бы этим.
Вообще, если с гуями возникнут сложности, можно будет попробовать [spoiler]относительно быстро[/spoiler] подпихнуть под одно из готовых решений, типа QT, MFC или wx. Если оно тебе конечно потребуется.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Maxim от 18 марта 2018 22:43:34
Force Почему замечания по конкретным делам вас не интересуют? Интересует образная подача. На уровне "неприятно".
ЦитироватьЕсть мнение твое и неправильное, ты дал это понять. Не буду мешать.
Какое моё и неправильное? Вы наверное что-то не поняли. Я и Zontik задумали эту штуку. Изначально. Пошли бы на TTLG, но откликнулись вы. Отлично. И вы начали делать. И по-сути, вы делаете прежде всего для нас, а не для себя. И другие тоже заодно. Кто тех.задание давал? Вы сделали вещь не так, как надо. Я (по-сути заказчик) про это написал. Да и не отображаются текстуры на моих моделях. Что не так? Не надо было это писать? Какие "читать понос неприятно"?Песочница какая-то. Не понимаю что это за уровень  ;D
А вот это "ок, не буду присылать", да ещё и демонстративное "убедил" к чему это? Вы хотите отделиться, переметнуться, развивая нашу идею? Ну Ок. Варианты-то ещё остаются. Да и фриланс так же. Создайте тогда свою отдельную тему.
Дело, как бы, житейское...

Итак, повторюсь:

* Поддержка форматов PNG, GIF, DDS
* Выбор произвольной папки, где лежат модели
* Листание стрелочками.
* Отображение имён задействованных текстур
* Вращение модели только по вертикали/горизонтали (опционально)
* Перетаскивание произвольной модели в окно запущенной утилиты (опционально)
* Все прочие фентифлюшки для остальных людей (если им это надо) на последнем приоритете.

Вот, что нам нужно. Так что, вы либо сделайте то, что мы хотели, либо не делайте. Решайте — поможете нам или нет. Чтобы мы знали и при необходимости сразу искали другие варианты.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: HellRaiser от 18 марта 2018 22:59:40
Maxim ты меня умиляешь, чеслово :cool1:
Тебе выкатили версию, чтобы ты мог проверить самое главное, для чего эта программа собсна и писалась: отображение модели. Т.е. если это в данный момент не будет работать или будет работать неправильно, то другие фишки добавляться не будут, а будет отлаживаться именно основной функционал. А браузер, способы вращения, форматы текстур -- это уже вторичное. Тебе трое уже объяснили, то это пре-альфа, и почему она именно так называется и почему именно так происходит процесс отладки и тестирования ПО. А ты барана включил. Я конечно понимаю, что тебе надо всё и щас, но так не бывает. Особенно, когда над ТАКИМ софтом трудится ВСЕГО один человек. Я прекрасно осознаю, что в твоём понимании написать такую прогу погромисту-профи -- эт как 2 пальца обоссать, пару вечерков с пивком по клаве постучал и ога. Ан нет, увы , это далеко не так.
Попробуй сам наколбасить че-нить простенькое, например банальную сортировку массива, и может что-то затечёт ;D И это я щас не говорю тебе "добейсясам", а предлагаю тебе попробовать, чтобы ты сам прочувствовал и понял, что не так тривиально решаются задачи и пишутся программы, тем более, такого масштаба.
Всё остальное, про :
ЦитироватьПошли бы на TTLG
ЦитироватьВы сделали вещь не так, как надо. Я (по-сути заказчик) про это написал.
и тому подобные -- это пафос. Заказчики (особенно серьёзные) так никогда не скажут, поэтому я уползаю обратно в преисподнюю, меня там ждут представители ЦИК РФ  :biggrin:
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: nemyax от 18 марта 2018 23:13:32
А линуксовую сборку мона? =)
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Maxim от 18 марта 2018 23:20:09
Цитироватьпоэтому я уползаю обратно в преисподнюю, меня там ждут представители ЦИК РФ
Ок. Там не проходят курсы по обучению чтению? Потому что я про все аспекты написал. И написал доходчиво почему я это написал. И про предварительности было. А ты умиляешься потому что читаешь непонятно как и спешишь писать сообщения.
А повторяться по кучу раз утомительно. Никто никого не торопил и сроки не указывали. Мы будем рады любой помощи, но Т.З. то конкретное есть. А сдавать дом с фундаментом и крышей, но с отсутствием стен это непонятно зачем. И промежуточные тесты кусочков не нужны. Мы что, не можем поверить на слово специалисту, что он уже добился отображение моделей в окне? Скриншотов бы хватило чтоб порадоваться и ждать дальше.
Есть тех.задание. А исполнитель прекрасно знает как сделать лучше (но согласно курсу в Т.З.) На то он и специалист. А вот эти все размусоливания про отладки это не про ту песнь сейчас. И не в такой ситуации. 
ЦитироватьТебе выкатили версию, чтобы ты мог проверить самое главное, для чего эта программа собсна и писалась
Тебе, Хэллыч, специально надо особым образом пояснять? :) Я НЕ МОГУ это проверить. Нет должного функционала. Нет выбора каталога, что является такого уровня фундаментом, на котором ещё бетон не высох. Сейчас я тебе скажу что такое предварительная версия. Посмотри моё предыдущее сообщение (перед этим твоим). Три верхних пункта. Вот это уже можно проверять, отлаживать и т.д. С этим хоть как-то можно работать и вот это является пре-альфой. А пока эти пункты я не в состоянии проверить.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: HellRaiser от 18 марта 2018 23:34:41
Цитата: Maxim от 18 марта 2018 23:20:09
А сдавать дом с фундаментом и крышей, но с отсутствием стен это непонятно зачем.
Так вот то, к чему придираешься ты -- это не отсутствие стен, а отсутствие ручек на ещё не установленных окнах ;D

Цитата: Maxim от 18 марта 2018 23:20:09
И промежуточные тесты кусочков не нужны.
Поэтому Форс тебе и сказал, что не будет больше высылать промежуточные билды. Насладишься прогой, когда выйдет официально, сфига ли тестить взялся?

Цитата: Maxim от 18 марта 2018 23:20:09
Скриншотов бы хватило чтоб порадоваться и ждать дальше.
Ну вот опять. Это не миссия. Скрины нужны, чтобы показать домохозйке, куда ей удобно тыкать, а куда неудобно. Отладка же нужна на как можно бОльшем количестве конфигураий, чтобы знать, как себя прога поведёт на конкретном железе и ОС . Нет никакой гарантии, что на 9 одинаковых машинах она запустится, а на 10-й такой же -- нет.

Цитата: Maxim от 18 марта 2018 23:20:09
А вот эти все размусоливания про отладки это не про ту песнь сейчас. И не в такой ситуации. 
Ещё раз: считай это фундаментом, без него никакого дома вообще не будет. Ни в какой ситуации.

Цитата: Maxim от 18 марта 2018 23:20:09
Я НЕ МОГУ это проверить. Нет должного функционала. Нет выбора каталога, что является такого уровня фундаментом, на котором ещё бетон не высох.
Да не бетон это, дурачок ))
Твой "должный функционал" -- это ручки на окнах и пульт от кондиционера)) Такие вещи проверяются в самый последний момент, т.к. реализованы они самой ОС, по сему в этих местах менее всего вероятно возникновение ошибок. Если б было наоборот, у тебя нет просмотра модели (или в качестве заглушки некое пятно на экране), зато есть железобетонный браузер с выбором "чего-то", ты бы стал от этого счастливее?
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Chuzhoi от 18 марта 2018 23:39:25
Цитата: Maxim от 18 марта 2018 23:20:09И промежуточные тесты кусочков не нужны.
Нужны. Во-первых, автору нужно подтверждение, что он на верном пути. А если на не очень верном, заказчики могут его вовремя скорректировать.

А во-вторых, есть еще чисто человеческая эмоциональная поддержка. Автору важно, что интерес к его трудам не угас. А заказчикам должно быть важно, что работа не заброшена и ведется.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: HellRaiser от 18 марта 2018 23:41:59
[off]Chuzhoi, не моя цитата. А в остальном всё правильно.[/off]
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Chuzhoi от 18 марта 2018 23:43:15
[off]Пардон, запутался.[/off]
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Maxim от 18 марта 2018 23:51:50
HellRaiser Ты со мной всё время как с маленьким :) Медаль Капитана Очевидности тебе надо выдать прям платиновую за заслуги  ;D Говоришь так, как будто я нифига не понимаю. Спасибо хоть выдерживаешь. Не то, что Борис. Он убить меня готов.
У меня, Хэллыч, не работает прога. Ну я ж писал. Тут самый что ни на есть фундамент базовый. И я даже его посмотреть нормально не могу. Выбор папки с моделям по-твоему не фундамент? Это не шибко хитрая штука, знаешь ли. Это тоже основы, которые прикручивают с базы. И их тоже потестить надо - работает ли. Вот если положить модельку в папку obj самой программы, тогда при запуске программы уже листается после лопаты на эту модель. Значит, механизм в зачатке есть. Так что, может ручек окон и нет, как ты написал, но окна всё же вставлены. А зачем билд и кусочные тесты без этих ручек? И как эти тесты вообще будут тогда возможны? Силой мысли открывать? А поверить что успехи достигнуты мы могли бы и так. Поэтому я и упомянул скрины. Но в любом случае, поддержки PNG, похоже, нет. А это тоже основной момент. GIF юзают в основном на мелких объектах, хотя я даже и там к ним не прибегаю. В общем, у меня не отображается всё нормально. А через 2-3 модели с текстурами в георгах прога падает. Так вот, как это можно считать билдом? Что тестить то? Просто посмотреть что прога открыла и показала модель? Ну... это как бы немудрено и известно про это было ещё на кучу страниц темы ранее.

Ладно, чертяки :) Пойду я. Вы все умные, а я опять дурак по-вашему.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Призрак Boris'а3000 от 19 марта 2018 00:38:00
Цитата: Maxim от 18 марта 2018 23:51:50
А через 2-3 модели с текстурами в георгах прога падает. Так вот, как это можно считать билдом? Что тестить то?
Это просто феерический писец. :doh: Да вот то, что она упала, -- это и есть тест! Тестирование -- это поиск БАГОВ, а не наслаждение бесперебойной работой.

ЗЫ.
У меня, кстати, спокойно переживает эти джорджи. Но у меня модельки щадяшие -- для ОМ, может, поэтому?
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Zontik от 19 марта 2018 09:52:52
ЦитироватьКстати, попутный вопрос - а это можно как-то исправить в теории? Я про каверканье кол-ва полигонов этим БиЭсПи.
Сейчас меня тоже побьют гантелями, но я все-таки отвечу в меру своего понимания. Как ты конвертируешь модели? Я использую bsp.exe в формате:
bsp имямодели.e имямодели.bin
Так вот, если в конец этой строки приписать через пробел -N, размер итогового файла немного уменьшается. Вроде бы это как раз и есть та самая борьба с нарезкой, которая доступна нам, простым смертным. А из доступных не самым простым смертным - Блендер и чудесный плагин к нему, тут я советов не дам.
Готовьте гантели, поправляйте.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Призрак Boris'а3000 от 19 марта 2018 10:01:11
Зонтик, а ты на чём прогу запускаешь? Ужель-таки прикупил себе пару Titan V втихаря?
И второй вопрос: чего ты там по личкам-то ныкаешься? Другие тоже хотят знать о проблемах, и чтоб не тестить и не писать, как дурак, то, о чём уже известно. У тебя там что, всё под грифом "совершенно секретно"? Давай колись, всё равно АНБ уже давно всё известно.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: nemyax от 19 марта 2018 10:05:55
Zontik
Всё правильно.

Цитата: Maxim от 18 марта 2018 19:27:25Нью-дарк с этим как-то пересекаться может?
В каком смысле пересекаться? Он BSP-дерево в модельке обходит в каждом кадре при рендеринге для правильного порядка полигонов. Такая вот мезозойская оптимизация у движка. Если пересекаться в смысле переделать, то можно написать рендерер на шейдерах с порядконезависимой прозрачностью, и ему будет плевать на порядок. Но никто этим заниматься не будет.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Maxim от 19 марта 2018 10:16:15
Почему? Очень сложно? Затратно по человеко-часам?
Цитироватьмезозойская оптимизация
Жжёшь  :lol: По-другому реально не скажешь.
А у меня видимокарта GeForce GTX750 Ti, GeForce 315 (1gb), RadEon HD7770 (доступна для теста, не в основном использовании).
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: nemyax от 19 марта 2018 10:57:46
Цитата: Maxim от 19 марта 2018 10:16:15
Почему? Очень сложно? Затратно по человеко-часам?
Ну да, особенно по неоплачиваемым. И вообще посмотри на историю ньюдарка. Не то чтобы у них совсем не было R&D (ведь поддержку сквирел-скриптинга таки запилили), но праздник большой умной фичи в нём редкость. В основном-то подымают лимиты и чинят баги. Оно, конечно, очень радует Zontik-а, но серьёзным развитием не является. А что до прозрачности, так о ней парятся полтора человека на планете.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: HellRaiser от 19 марта 2018 11:01:24
[2018-03-19 10:56:08] thread 1 is processing some command
[2018-03-19 10:56:08] CommandPrevObject
[2018-03-19 10:56:08] thread 1 done processing command
[2018-03-19 10:56:08] thread 1 is processing some command
[2018-03-19 10:56:08] CommandLoadObject C:\0002\data\obj\bell6.bin executed
[2018-03-19 10:56:08] destroying RenderNode C:\0002\data\obj\bell6.bin
[2018-03-19 10:56:08] Thread exception: Couldn't export geometry: C:\0002\data\obj\bell6.bin polygon list is empty

Заметил любопытную хрень: скопировал в каталог обж ещё несколько моделей (ОМ), теперь те, что были сконверчены, стали отображаться нормально!
При первом запуске, когда улетело, стандартные бинки (запчасти от зомбей) отображались с жорами, а при повторном запуске текстуры таки подтянулись. Лог на всяк случай откинул, но в нём уже ничего интересного.

Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 19 марта 2018 12:25:48
Цитата: nemyax от 18 марта 2018 23:13:32
А линуксовую сборку мона? =)
Чуть позже... В настоящее время у меня нет рабочей версии линукса нигде под рукой. Это прям какой-то жизненный этап оказался, все отступило от меня в одночасье: работа, видюха, линукс... Работа кирдыкнулась, я подумал, что надо для новой изучить UE4, а старая видюха не перенесла долгой работы в UE4. Практически на последние деньги купил новую, а винда сказала, что не могу на нее дрова поставить, хоть убейся. Ну и пришлось винду убивать, а она не осталась в долгу и убила загрузчик, перекрыв линуксу кислород. Он сейчас в анабиозе, надо будет как-то заняться и восстановить загрузчик... но пока не до него. Так что версия для линукса будет не прямо сейчас... Может ко второй тестовой?
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: nemyax от 19 марта 2018 13:25:50
Цитата: Force от 19 марта 2018 12:25:48Так что версия для линукса будет не прямо сейчас... Может ко второй тестовой?
Ага, отлично.
[off]Вообще говоря, вендовый загрузчик умеет бутать линуксовый раздел. Ну во всяком случае в XP умел. Достаточно записать первые 512 байт бут-раздела в файлик и указать тот файлик в boot.ini.[/off]
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Zontik от 19 марта 2018 15:20:42
ЦитироватьА что до прозрачности, так о ней парятся полтора человека на планете.
И я как раз один из них. Смешно, правда?
ЦитироватьЗонтик, а ты на чём прогу запускаешь?
На чем, на чем... На работе! Больше не на чем.
В моих найденных багах ничего оригинального: слетевшие текстуры да странный порядок сортировки файлов. У кого много файлов в папке, можете проверить: она их не всегда берет по порядку. То есть не по тому порядку, который у вас считается порядком.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: nemyax от 19 марта 2018 16:07:00
Цитата: Zontik от 19 марта 2018 15:20:42
ЦитироватьА что до прозрачности, так о ней парятся полтора человека на планете.
И я как раз один из них. Смешно, правда?
Раз ты используешь bsp.exe, проблемы прозрачности для тебя не существует.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Zontik от 19 марта 2018 16:19:51
Как это? То есть когда задние части объекта вылезают сквозь передние, причем никакой RenderOrder здесь помочь не может - это не проблема?
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: nemyax от 19 марта 2018 16:24:04
То есть бсп.ехе тоже лажает?
В общем да, беру свои слова назад. Оно ведь если и работает, то в пределах одной модельки, а не всей видимой сцены.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Chuzhoi от 19 марта 2018 16:30:07
Zontik же сказал, что использует bsp.exe с ключом -N. Естественно, в этом случае возникают проблемы с прозрачностью.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Zontik от 19 марта 2018 16:50:49
Да если бы все было так просто. Ключ я только с неделю как начал использовать. То есть будут еще проблемы? Отлично.
Возьмите иву от Vladimironaq... тьфу ты, невозможно выговорить. В общем, на сайте есть такая модель. Попробуйте поставить ее в комнату и походить вокруг. Уж не знаю, подбирал ли он к ней ключи. Но там вроде как спасает RenderOrder, если угадать правильный параметр.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 22 марта 2018 10:45:05
Последние новости по багфиксам:
- сделана сортировка файлов как в винде
- число знаков после запятой уменьшено до двух, и менее
- открытие файла перетаскиванием на окно программы
- открытие первого файла по умолчанию в каталоге по умолчанию
- доделан поиск текстур по обозначенным приоритетам, проследить за процессом можно будет, заглянув в лог.

Это около 20% из найденных вами багов :). Так что, огромное вам спасибо за помощь и поддержку! :yes:
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: HellRaiser от 22 марта 2018 10:54:06
 :doh: блин. Забыл написать про сортировку ( а написать хотел, т.к. совсем не понял суть той претензии).

Force
У тебя там как построение списка файлов реализовано? То есть как система находит (типа findFirstFile/findNextFile)? Если да, то нафиг никакие дополнительные сортировки не нужны. Ибо отсортировать в проводнике и в тотале можно как угодно, а всякие смотрелки обычно упорядочивают только по имени.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Призрак Boris'а3000 от 22 марта 2018 11:19:04
HellRaiser
А не про числовую ли сортировку, часом, речь? Мастдайный вендовый проводниГ воспринимает рядом стоящие цифры в имени файла исключительно как число, а не набор независимых символов, со всеми вытекающими для сортировки. FAR же, которым я пользуюсь, умеет и так и так, но по умолчанию сортировка посимвольная. Поэтому для меня слова "как в винде" означают числовую сортировку.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 22 марта 2018 11:22:10
HellRaiser, сортировка по имени работала, сортируя файлы как строки, то есть 1,10,2,20... С учетом того, что в винде это не так, а список файлов пока не отображается, было решено сделать сортировку как в винде. Мне она нравится, удобно и человекочитаемо: 1,2,10,20... Тем более, уже было готовое решение.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 22 марта 2018 11:23:07
Boris3000, да, там смесь строковой и числовой.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 08 мая 2018 18:26:00
Всем привет. Давно не сообщал о продвижении разработки.

На днях переписал шаблонизатор для подстановки данных в интерфейс, и он стал в 15 раз быстрее, при этом функциональнее, добавлены ветвления. Перестал быть узким местом при загрузке. При этом каждый сможет отредактировать интерфейс как ему вздумается... Понятно, что для просмотрщика это не особенно нужно, но возможность такая есть.  Хотя она и была, просто шаблонизатор был примитивнее и медленнее.

Ещё в процессе тестирования выяснилось, что узким местом является загрузка текстур. Как оказалось, у меня было неверное представление о процессе работы с гпу в нескольких потоках. В результате я отказался от нескольких контекстов OpenGL в разных потоках. Это заметно ускорило первую загрузку, но пришлось для этого переделать загрузку текстур на так называемый стриминг. Пока ощутимой разницы нет, но в тестах иногда действительно оно быстрее 😊. А вообще, еще предстоит переделать работу в потоков с подготовкой данных для передачи в OpenGL, тогда подгрузка новых данных должна стать совсем легковесной.

Так что работа кипит. Правда пока для конечного пользователя это не будет сильно заметно, увы. Хотя, на слабых машинах должно порядочно ускориться.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: nemyax от 08 мая 2018 21:06:06
Цитата: Force от 08 мая 2018 18:26:00пришлось для этого переделать загрузку текстур на так называемый стриминг
В чём он заключается?
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 08 мая 2018 21:15:34
nemyax, в использовании Pixel Buffer Object.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 08 июня 2018 13:30:51
ву-ху :sleep:

Это было феноменально, эпичнейше. Масштабнейший рефакторинг завершился успешно, это было увлекательно, но стоило титанических усилий. Что это дало:
- убрана инициализация OpenGL из параллельных потоков (прирост в скорости при инициализации приложения)
- новые потоки теперь создаются только при необходимости - высокой наргузке (прирост в скорости при инициализации приложения)
- убрана избыточная синхронизация гпу с цпу (уменьшение времени ожидания увеличивает скорость выполнения приложения)
- убрана работа с OpenGL в параллельных потоках, это упростило сам код, избавило от вышеописанных синхронизаций и сделало работу потоков более прозрачной (упрощение кода приводит к ускорению багфиксов и упрощению добавления новых фич)
- вся программа была переведена на поддержку юникода для корректной работы с русскими именами файлов на любых системах (windows, linux). Эпичнейшим был именно этот пункт. И "ву ху" относилось тоже к нему. Да, мощно было...
- добавлена поддержка старого (legacy) железа. Программа успешно работает с OpenGL 2.1 даже на XP SP2 (это отдельный файл, откомпилированный специально для SP2, правда, он не умеет работать с русскими именами, потому что система больше не поддерживается Microsoft. Извиняйте, компромисс достигнут. На SP3 всё работает корректно. ;) ).

Да, получается, всё это было сделано именно ради поддержки старого железа, но получилось, что проект стал лучше, удобнее и проще, поэтому, работа пошла однозначно в плюс. В кучу плюсов! C++ же...

Ну вот, а теперь, можно продолжить пилить "хотелки", чтобы следующий билд вышел бы реально удобнее в использовании. Думаю, теперь дело пойдет быстрее - переделки не такие масштабные.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Zontik от 08 июня 2018 14:13:26
Все-таки есть польза от старого железа, а?
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 08 июня 2018 14:18:12
:laff:, да ради него приходится учить матчасть!
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: nemyax от 08 июня 2018 14:28:11
Force
А чего с гуём решил?
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 08 июня 2018 16:20:56
nemyax
Тут такое дело, что слишком многое уже сделано и слишком многое придется менять для перехода на эту либу. Да и результат, я почти уверен, меня не устроит. Ты думаешь я с шаблонами просто так возился что ли? :) Я честно пытался не изобретать велосипед и взять "самый быстрый шаблонизатор на си - CTPP", который по факту оказался медленнее моего в три раза (ну, это и понятно - у меня очень узкие задачи и простейшее использование). При этом эта небольшая либа оказалась жутко кривой при установке и при компиляции, слишком громоздкой при использовании, причем абсолютно без документации, так еще и работала в три раза медленнее моего кода. Это я всё к тому, что своя ноша не тянет и она способна на большее в руках своего создателя. Я знаю слабые места и всё обдумываю варианты их решения. В частности, следующий билд, скорее всего, выйдет с возможностью выбора модели из списка, а сам этот список - дико тормозит при пролистывании. Архитектурная особенность интерфейса + "скелетная анимация" на цпу. Проблему придется решать.

Зато у ГУИ - есть неоспоримое преимущество - вывод ошибок для случаев, когда приложение ну совсем не может стартануть. В случае, когда Зонтик будет запускать свою легаси-версию в русскоязычной папке у меня просто нет никакой возможности сообщить о проблеме: консоли в винде нет, путь к папке программы имеет не поддерживаемые символы, следовательно лог положить некуда. Не факт даже, что получится положить лог в какой-нибудь из каталогов по пути до программы, может не хватить прав. А если получится - кто его там найдет? Да и не красиво это. Единственный выход - гуи-сообщение об ошибке. Вот этого нет, да. В остальных случаях всё можно написать в самой программе уже доступными средствами рисования.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Призрак Boris'а3000 от 08 июня 2018 18:58:50
[off]

Цитата: Force от 08 июня 2018 13:30:51
Программа успешно работает с OpenGL 2.1 даже на XP SP2 (это отдельный файл, откомпилированный специально для SP2
Всё пропало, теперь Зонтик никогда не сменит себе видеокарту.

А SP2 -- это вообще за гранью добра и зла. Зонтик, SP2 -- это не труЪ-ХР. ТруЪ-ХР -- это SP3 и ещё так называемый "Pre-SP4" сверху. В SP3 в ХР-юшку были внесены глобальные изменения -- настолько, что это едва ли не другая ОС. А SP2 -- это считай, что ты на Windows 2000 сидишь.[/off]
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 08 июня 2018 19:01:41
Boris3000, спасибо, ты достойно изобразил величину приложенных мной усилий. :yes:
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Chuzhoi от 08 июня 2018 22:21:05
[off]А вы уверены, что у Зонтика установлен хоть какой-нибудь SP?[/off]
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Zontik от 09 июня 2018 10:16:59
[off]Мы не о том говорим, что достойно внимания.[/off]
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Призрак Boris'а3000 от 09 июня 2018 13:16:51
[off]

Zontik
Не скромничай.[/off]
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 24 августа 2018 19:52:07
Отправил прежним тестерам новую сборку (наконец-то!), проверьте свою почту!
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Призрак Boris'а3000 от 06 сентября 2018 22:09:44
Как единственный радеонщик Рассеи, имею честь докладать.

I. Версия для Зонтика ХР.

В этой версии я получил вот такую лопату:
(https://thumb.cloud.mail.ru/weblink/thumb/xw1/KhqX/tBBdt23xw/de_viewer_v051_R9-270_14.4_XP.jpg)

Кручение этой "лопаты" разогрело карту с 35 до 55 градусов! Это сопоставимо с игранием в Battlefield 2, если не брать тяжёлые сцены, но со всеми примочками -- с максимальным нетормозящим сглаживанием и т. д. Я думал, карта этот просмотрщик даже не заметит, какая-то неоправданно высокая нагрузка на ГПУ.

PgUp и PgDn листают по 25, это так и задумано?

Приоритеты выбора типов файлов текстур работают правильно.

Далее по тому моему списку:
Цитата: Boris3000 от 17 марта 2018 09:52:39
1) Хотелось бы режим увеличения/уменьшения без приближения/удаления, мне даже кажется, что именно такой режим и должен быть основным.

3) Сделать hot-key, возвращающий вид в исходный.

4) При запуске проги через тычок по bin она начинает кидать свой лог в... папку с этим bin.

5) Возможность поступательного перемещения модели во всех трёх измерениях нужна обязательно -- ведь с какого-то шага увеличения она перестаёт влезать в экран.

6) Что-то надо сделать для облегчения вращения -- крутить как попало-то легко, а вот чтоб, например, прокрутить в строго горизонтальном положении, приходится два часа нащупывать волшебную точку.

7) При запуске через bat-ник не находит свою лопату и крашится.

8) Не хочет листать дальше при постоянно нажатой клавише.

9) Очень долгое открытие модели с сетевого диска, если отсутствует хотя бы одна из текстур, -- секунд 10. При этом в эти 10 секунд прога не реагирует на нажатия клавиш, не позволяя пропустить эту модель и идти дальше. Если же ещё и сама прога запущена с сетевого диска, то время ожидания вообще секунд 30.

10) Ну и конечно просмотр bin из mesh очень хотелось бы.
1) Сложно чё-то сказать при таком отображении, но вроде по-прежнему актуально.
3) Актуально
4) Исправлено
5) Актаульно
6) Исправлено
7) Через батник теперь запускается нормально, но почему-то требует указания пути к экзешнику, даже если батник лежит в одной с ним папке. Без пути просто не происходит ничего.
8) Исправлено
9) При попытке открыть bin с сетевого диска (когда сама прога на локальном) теперь вообще падает. Если же и запускать прогу с сетевого диска, то не падает и листает быстрее, чем раньше, насколько можно судить при столь кривом отображении, но всё равно задержка в пару секунд имеется.
10) Актуально. При открытии просто чёрный фон в программе и всё.

На этом с ХР-шной версией всё.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Призрак Boris'а3000 от 07 сентября 2018 01:33:05
II. Основная версия.

И тут точно такое же кривое отображение.

Отличие от ХР-шной версии только одно: никаких проблем с сетевыми дисками нет -- ничего не падает, всё открывается и быстро листается в любых комбинациях.

Всё остальное аналогично ХР-шной.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 07 сентября 2018 09:25:01
Boris3000, спасибо.
Некоторые вещи я действительно не делал по разным причинам:
1. Тут мнения расходятся, ты просишь зум, а сейчас двигается модель. Изначально просили двигать модель.
3. Будет сделано, когда появится интерфейсная инфа о хоткеях.
5. Правая кнопка не таскает модель? Модель должна перетаскиваться правой кнопкой.
7. Я не очень понял зачем это нужно, поэтому ничего не делал в этом направлении.
10. Причина в том, что на радеонах напрочь отсутствует интерфейс и ты просто не видишь сообщения об ошибке, как и меню и любой текст. И модели все раскурочены Для того чтобы это починить, мне нужен комп с радеоном. Вообще, это грустно, потому что и на интеле и на GeForce все рисуется одинаково и только на радеонах всё расколбашено. В общем, проблема актуальна и ее предстоит вылечить. А по проблеме - да, это всё с планах, суть этого билда - улучшить пользовательское взаимодействие с программой. Поддержка других DarkEngin'овских форматов будет добавляться.

Сейчас нет ограничения по частоте кадров, она соответствует установке в драйвере, если не установлена принудительная вертикальная синхронизация, видеокарта рисует столько кадров в секунду, сколько способна :): 1000, 2000, 6000... Отсюда и такая дикая напруга :). НО! Она это делает только при изменении кадра, если кадр не меняется, видеокарта отдыхает. Добавление такого ограничения запланировано.

Листание списка по PgUp и PgDn привязано к количеству видимых элементов в списке, поскольку на радеонах списка не видно - это не очевидно.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Zontik от 07 сентября 2018 09:50:22
А почему на радеонах списка не видно? И его просто не видно (ушел куда-то за край или стал прозрачным) или действительно нет?
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 07 сентября 2018 10:12:17
Zontik, видится мне, что проблема, скорее всего, с шейдерными преобразованиями, а точнее - матрицами переноса... Неужто у радеона столбцы со строками поменяны местами а ля DX? Учитывая что у Бориса список по PgDn листает по 25 файлов, это говорит мне о том, что на стороне данных всё в порядке (для листания используются данные по Bounding Boxes отображаемых элементов, а раз значение 25 мы получили, оно верное, у меня такое же, то с данными всё ок). А это значит что список есть, но мы его не видим из-за кривизны отрисовки. Теоретически выходит, что если открыть модель из папки с большим количеством моделей и ткнуть в районе левого края окна, где должна быть панель навигации, то можно открыть какую-нибудь еще модель из текущего каталога.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Призрак Boris'а3000 от 07 сентября 2018 10:34:29
Цитата: Force от 07 сентября 2018 09:25:01
1. Тут мнения расходятся, ты просишь зум, а сейчас двигается модель. Изначально просили двигать модель.
А какова аргументация? Зачем нужны такие чудовищные искажения пропорций при приближении, как будто моделью прямо в нос тыкают? Ведь это же просмотрщик, а не игра.

Цитата: Force от 07 сентября 2018 09:25:01
5. Правая кнопка не таскает модель? Модель должна перетаскиваться правой кнопкой.
Не знаю, не пробовал. В сопроводительном письме об этом не было. Ща попробую.

Цитата: Force от 07 сентября 2018 09:25:01
7. Я не очень понял зачем это нужно, поэтому ничего не делал в этом направлении.
Не особо нужно, просто я хотел запускать её с высоким приоритетом, а так как при тестировании запускать приходится по сто раз, то каждый раз выставлять приоритет в диспетчере задач напряжно и долго.
Но вообще, я как-то ещё не встречал программ, у которых были бы проблемы с запуском через скрипты. Поэтому выглядит это малость дико.
И если ты ничего не предпринимал по этому поводу, то почему поведение программы изменилось?

Цитата: Force от 07 сентября 2018 09:25:01
Сейчас нет ограничения по частоте кадров, она соответствует установке в драйвере, если не установлена принудительная вертикальная синхронизация, видеокарта рисует столько кадров в секунду, сколько способна :): 1000, 2000, 6000... Отсюда и такая дикая напруга
У меня стояла принудительная вертикальная синхронизация и частота 60 Гц.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: nemyax от 07 сентября 2018 12:10:50
Цитата: Force от 07 сентября 2018 10:12:17
проблема, скорее всего, с шейдерными преобразованиями, а точнее - матрицами переноса... Неужто у радеона столбцы со строками поменяны местами а ля DX?
Тогда бы баговала навигация, не? Лопата по идее осталась бы цела. Ты ведь не перезаписываешь модельвью-матрицу в юниформе между кусками лопаты?
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 07 сентября 2018 12:19:09
nemyax, да, наверное ты прав, у лопаты одна "кость". И если она ожидаемо таскается по экрану правой мышью, тогда дело не в матрицах переноса. А о навигации ничего не известно, отзывов о кликах по левой части экрана нет, как и о таскании на радеонах.
Пока других вариантов нет.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Призрак Boris'а3000 от 07 сентября 2018 12:25:37
Цитата: Boris3000 от 07 сентября 2018 10:34:29
Цитата: Force от 07 сентября 2018 09:25:01
5. Правая кнопка не таскает модель? Модель должна перетаскиваться правой кнопкой.
Не знаю, не пробовал. В сопроводительном письме об этом не было. Ща попробую.
Попробовал. Кнопка-то правая работает, но вот только тасканием это сложно назвать. Это скорее всё то же вращение, но только не вокруг собственной оси, а вокруг внешней -- как Земля вокруг Солнца. В итоге после такого "перетаскивания" придётся снова подкручивать.

Цитата: Force от 07 сентября 2018 10:12:17
Теоретически выходит, что если открыть модель из папки с большим количеством моделей и ткнуть в районе левого края окна, где должна быть панель навигации, то можно открыть какую-нибудь еще модель из текущего каталога.
Да, это работает.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: nemyax от 07 сентября 2018 13:52:17
Force
Должно быть невидия прощает нечто такое, чего не прощает AMD. Там с размерностью вещественных не могло возникнуть путаницы, например?
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Zontik от 07 сентября 2018 14:16:59
А я пробовал потыкать по левому краю, но, видимо, никуда не попал.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 07 сентября 2018 15:27:59
Цитата: Boris3000 от 07 сентября 2018 10:34:29
Цитата: Force от 07 сентября 2018 09:25:01
1. Тут мнения расходятся, ты просишь зум, а сейчас двигается модель. Изначально просили двигать модель.
А какова аргументация? Зачем нужны такие чудовищные искажения пропорций при приближении, как будто моделью прямо в нос тыкают? Ведь это же просмотрщик, а не игра.
Аргументация была такая, что именно так ведет себя камера в трехмерных редакторах. Думаю, надо спросить "заказчиков" и заинтересованных.

Цитата: Boris3000 от 07 сентября 2018 10:34:29
Цитата: Force от 07 сентября 2018 09:25:01
7. Я не очень понял зачем это нужно, поэтому ничего не делал в этом направлении.
Не особо нужно, просто я хотел запускать её с высоким приоритетом, а так как при тестировании запускать приходится по сто раз, то каждый раз выставлять приоритет в диспетчере задач напряжно и долго.
Но вообще, я как-то ещё не встречал программ, у которых были бы проблемы с запуском через скрипты. Поэтому выглядит это малость дико.
И если ты ничего не предпринимал по этому поводу, то почему поведение программы изменилось?
Дело в том, что при открывании файла программе передаются стандартные аргументы - ее расположение и путь к открываемому файлу. Полагаю, при запуске из консоли, расположение программы ей не передается в качестве аргумента. Можно будет поизучать этот вопрос.

Цитата: Boris3000 от 07 сентября 2018 10:34:29
Цитата: Force от 07 сентября 2018 09:25:01
Сейчас нет ограничения по частоте кадров, она соответствует установке в драйвере, если не установлена принудительная вертикальная синхронизация, видеокарта рисует столько кадров в секунду, сколько способна :): 1000, 2000, 6000... Отсюда и такая дикая напруга
У меня стояла принудительная вертикальная синхронизация и частота 60 Гц.
Вообще, 55 градусов - это вполне себе низкая температура для отрисовки 3d-графики, потому что когда долго и упорно вращается модель, это именно оно. Ты наверное ее долго вращал :). Ну как бы, включаешь того же первого вора и температура вырастает до 55 градусов, а то и выше - это нормально, учитывая что у тебя включена синхронизация. В качестве эксперимента можешь запустить просмотрщик и ничего не делать, температура не должна расти. Сразу оговорюсь, движения мышки над окном считаются "действием", поскольку могут привести к подсветке элементов интерфейса, а следовательно - перерисовке кадра. Да, возможно, следует делать некий "ранний выход", если визуально ничего не изменилось, это даже не сложно сделать. Надо подумать над этим, стоит ли оно того...

Цитата: Boris3000 от 07 сентября 2018 12:25:37
Цитата: Boris3000 от 07 сентября 2018 10:34:29
Цитата: Force от 07 сентября 2018 09:25:01
5. Правая кнопка не таскает модель? Модель должна перетаскиваться правой кнопкой.
Не знаю, не пробовал. В сопроводительном письме об этом не было. Ща попробую.
Попробовал. Кнопка-то правая работает, но вот только тасканием это сложно назвать. Это скорее всё то же вращение, но только не вокруг собственной оси, а вокруг внешней -- как Земля вокруг Солнца. В итоге после такого "перетаскивания" придётся снова подкручивать.
Думаю, такие ощущения из-за перспективных искажений, модель движется в плоскости, параллельной экрану.

Цитата: nemyax от 07 сентября 2018 13:52:17
Force
Должно быть невидия прощает нечто такое, чего не прощает AMD. Там с размерностью вещественных не могло возникнуть путаницы, например?
За типами следил, по идее не должно быть проблем, но кто не ошибается? Всякое возможно. Это надо дебажить, наугад сказать сложно...

Цитата: Zontik от 07 сентября 2018 14:16:59
А я пробовал потыкать по левому краю, но, видимо, никуда не попал.
А в папке с открываемой моделью точно было больше 25 моделей? Потому что лопата в папке одна.

Кстати, напоминаю, просмотрщик можно связать с типом файлов bin и открывать файлы двойным кликом, или использовать в меню "Открыть с помощью...", или перетащить файл модели прямо в окно программы для открытия.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Zontik от 07 сентября 2018 15:51:04
ЦитироватьА в папке с открываемой моделью точно было больше 25 моделей?
Точно не больше. Так что я, скорее всего, попадал в пустое место. Или между файлами. Не скажу, что пытался долго и упорно - просто не видел перспектив, поэтому потыкал несколько раз и бросил.
Цитироватьпросмотрщик можно связать с типом файлов bin и открывать файлы двойным кликом
Именно такое использование я и планировал изначально. В связи с чем появившийся быстрый старт очень порадовал.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: spy от 07 сентября 2018 19:51:41
[off]Зонтик, можно совет? бросай этот обрубок ХП, и переходи на 8.1 х64.  [/off]
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Zontik от 07 сентября 2018 22:13:37
[off]А можно, я внимательно выслушаю совет и ему не последую?
В любом случае глупо предлагать сегодня переходить на что-то кроме десятки. Все остальное уже слито в унитаз, только еще не доплыло до коллектора.[/off]
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: nemyax от 07 сентября 2018 22:19:46
Цитата: Zontik от 07 сентября 2018 22:13:37[off]В любом случае глупо предлагать сегодня переходить на что-то кроме десятки.[/off]
[off]На линукс не глупо.[/off]
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Chuzhoi от 07 сентября 2018 22:57:20
Что-то все вдруг заговорили, заговорили... Выскажусь и я. Сразу замечу, что модели отображаются нормально, список файлов видно, файлы выбираются, навигация по файлам и папкам в целом работает нормально (до корневой папки текущего диска) - за исключением бага, о котором ниже. В целом программа производит впечатление хоть и сырого, но уже вполне юзабельного продукта.

Теперь замечания.

Эстетика:

1. Лопата находится не по центру вьюпорта (то есть той части окна, которая отведена на отображение модели), а по центру окна, что при наличии списка файлов не совсем правильно. Такое впечатление, что вьюпорт по-прежнему простирается на всю ширину окна, как и в предыдущей версии, а список файлов наложен поверх него.

2. Шрифт в новой версии крупноват и ярковат. Я бы сделал как в предыдущей версии (0.5) - посерее и помельче. Все-таки главное для нас - посмотреть на модель, а текстом выводится вспомогательная информация, которая не должна визуально тянуть на себя одеяло.

В том числе это касается сообщения о ненайденных файлах или невозможности открыть файл (красного цвета) - шрифт в этом сообщении можно сделать значительно мельче.

Шрифт в списке файлов также можно сделать чуть помельче, цветовая же гамма полностью устраивает. "Плотность" имен файлов можно слегка увеличить, чтобы больше файлов на экран влезало. Впрочем, мое впечатление от шрифта в списке не совсем однозначное - если большинство устраивает именно такой размер, то можно и так оставить.

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

Эргономика:

1. Очень хотелось бы иметь изменяемое и распахиваемое на весь экран окно.

2. Очень хотелось бы листание клавишами не только вправо/влево, но и вверх/вниз (а то файлы расположены сверху вниз, а жать нужно в перпендикулярном направлении).

3. Процесс масштабирования (приближение/удаление) на моделях разных размеров ощущается совершенно по-разному и более-менее нормально это происходит лишь на моделях средних размеров (типа мебели). Если же модель маленькая (например, лут), то приближение вообще вызывает исчезновение модели из поля зрения, а удаление (в смысле "отдаление") всего на один щелчок колеса - чрезмерно сильное уменьшение модели. Если модель очень большая (например, здание), то приходится очень долго и энергично крутить колесо, чтобы добиться каких-то существенных результатов. В общем, сейчас, видимо, камера или модель двигается туда-сюда какими-то фиксированными ни к чему не привязанными шагами, а нужно, наверное, сделать смещение камеры в процентах относительно расстояния до модели. Скажем, по 20% в ту и другую сторону.

4. FOV камеры можно сделать примерно на треть уже (расположив камеру, соответственно, несколько дальше). Сейчас при приближении модель выглядит довольно искаженно, а из-за близкого расстояния камера иногда проваливается внутрь модели.

5. Вращение. Я долго не мог понять, что с ним не так, но потом, внимательно сравнив, как это сделано в программе Форса и в 3ds max, наконец, понял.

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

А вращать нужно камеру. При этом при вращении камеры по горизонтали угол ее наклона по вертикали должен оставаться неизменным. При таком способе вращения модель всегда будет выглядеть расположенной нормальным, прямостоящим образом. На нашу способность разглядеть модель со всех сторон это ничуть не повлияет - перемещая мышь вертикально, мы всегда сможем и заглянуть под модель, и воспарить над моделью. При вращении же по горизонтали это будет выглядеть так, как будто модель всегда остается в исходном положении и вращается вокруг своей вертикальной оси (ну, или мы летаем на заданной высоте вокруг нее). Именно так сделано вращение в 3ds max и в Блендере (и, вероятно, в других 3d-редакторах).

Угол поворота камеры по вертикали при этом можно не ограничивать - залетев за отметку 90 градусов (т. е. перелетев через зенит), мы окажемся с противоположной стороны модели, но вверх ногами - модель при этом будет располагаться на экране вверх тормашками, но также будет вращаться строго вокруг своей вертикальной оси. Так тоже сделано в 3d-редакторах. Но, если у кого-то вдруг при этом начинается приступ головокружения, можно и ограничить угол наклона диапазоном плюс-минус 90 градусов.

И еще. Чувствительность вращения по вертикали сейчас примерно в два раза выше чувствительности вращения по горизонтали. То есть если повернуть модель по горизонтали на 180 градусов, запомнив расстояние, которое прошла мышка, а затем передвинуть мышку по вертикали на это же расстояние, модель повернется уже на 360 грудусов. Это еще сильнее усугубляет данную ситуацию - повернуть модель по горизонтали, не наклонив ее, становится практически невозможно. Поэтому я предлагаю уравнять эти чувствительности.

Баги:

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

2. При случайно-намеренном клике в папку System Volume Information, к которой, естественно, нет доступа, программа ругнулась, а затем вылетела. Полагаю, что это произойдет при клике на любую папку, доступ в которую запрещен (особенно может быть актуально для сетевых папок, которые так любит Борис).

Функционал:

1. Иногда вместо некоторых текстур на модели выводится аватар Зонтика (Джордж или как там его). Как я понял, это те текстуры, которых нет в папке txt или txt16, но которые есть в архиве ../res/obj.crf, и которые нормально находит редактор и движок (при условии, конечно, что мы смотрим модели в игровой папке, т. е в thief2/obj). Программа могла бы поискать отсутствующие текстуры в указанном архиве. Найденные таким образом текстуры желательно как-то выделить в списке (например, цветом).

2. Если не сложно, добавить просмотр анимированных мешей (можно без анимации).


Различий в работе legacy и не-legacy версий не обнаружил (упомянутые баги проявляются на обеих версиях). Температуру ядер процессора и видеочипа не измерял, к электросчетчику на лестничную площадку не бегал.

Если что, моя конфигурация такая: Windows 7 64 bit SP1, i3-6100, 16 Gb, GeForce GTX 950 2 Gb, видеодрайвер 391.35.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Chuzhoi от 07 сентября 2018 23:07:57
Цитата: Chuzhoi от 07 сентября 2018 22:57:20Скажем, по 20% в ту и другую сторону
Лучше даже так: приближать на 20% (на 1/5), а отдалять на 25% (на 1/4). Таким образом, при отдалении 100 превратится в 125, а при приближении 125 превратится обратно в 100. Что будет предсказуемо для пользователя.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: spy от 08 сентября 2018 00:26:46
Цитата: Zontik от 07 сентября 2018 22:13:37
[off]А можно, я внимательно выслушаю совет и ему не последую?
В любом случае глупо предлагать сегодня переходить на что-то кроме десятки. Все остальное уже слито в унитаз, только еще не доплыло до коллектора.[/off]

[off]если конфигурация компа позволяет, можно и 10ку. :)[/off]
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 10 сентября 2018 16:55:43
Chuzhoi, спасибо за развернутый отзыв!
Цитировать1. Лопата находится не по центру вьюпорта (то есть той части окна, которая отведена на отображение модели), а по центру окна, что при наличии списка файлов не совсем правильно. Такое впечатление, что вьюпорт по-прежнему простирается на всю ширину окна, как и в предыдущей версии, а список файлов наложен поверх него.
Так ли это критично, если панель навигации будет отключаемой?

Цитировать3. Длинные имена файлов и папок отображаются не совсем корректно - то квадратная скобка вылезет за пределы списка и наедет на вьюпорт, то длинное имя не очень красиво перенесется на следующую строчку, в которой видны только верхние кончики букв.
Работа над рендерингом интерфейса еще не закончена, но могу сказать сразу, длинные названия будут обрезаться. Не думаю, что буду заморачиваться с элементами списка разной высоты. В ближайшее время - точно.

Цитировать1. Очень хотелось бы иметь изменяемое и распахиваемое на весь экран окно.
Посмотрим, что можно с этим сделать. Как я когда-то говорил, сейчас увеличение размеров окна просто масштабирует картинку.

Цитировать2. Очень хотелось бы листание клавишами не только вправо/влево, но и вверх/вниз (а то файлы расположены сверху вниз, а жать нужно в перпендикулярном направлении).
Если других функций на вверх/вниз не требуется, то да, можно продублировать функционал листания. Для вертикального списка это более логично.

Цитировать3. Процесс масштабирования
Согласен, привязка к расстоянию до объекта (или что-то подобное) - нужно.

Цитировать5. Вращение. Я долго не мог понять, что с ним не так, но потом, внимательно сравнив, как это сделано в программе Форса и в 3ds max, наконец, понял.
Я заморочился и сделал полноценный arcball, а им, оказывается, нужны обыкновенные углы Эйлера! :) Хорошо, если меня кто-нибудь научит вращать модель в блендере, я посмотрю и сделаю как там. Но если честно, зачем нужна такая хирургическая точность при вращении модели в простом просмотрщике? Сейчас всё максимально просто: тащим мышь вбок - модель движется вбок, тащим вертикально - модель движется вертикально за мышью. Или вам нужно лочить ось вращения модели до отпускания мыши?

Цитировать1. Иногда после выбора очередной модели в списке мышкой пропадает сам список и все надписи (остается только модель). Найти закономерность не удалось (такое впечатление, что это происходит случайно). После клика в то место, где должен быть список, все возвращается на свои места - и список, и надписи.
Вот это уже интересно. Можешь видео снять и приложить соответствующий лог?

Цитировать2. При случайно-намеренном клике в папку System Volume Information, к которой, естественно, нет доступа, программа ругнулась, а затем вылетела. Полагаю, что это произойдет при клике на любую папку, доступ в которую запрещен (особенно может быть актуально для сетевых папок, которые так любит Борис).
Да, этот момент я не проверял. Исправим.

Цитировать1. Иногда вместо некоторых текстур на модели выводится аватар Зонтика (Джордж или как там его). Как я понял, это те текстуры, которых нет в папке txt или txt16, но которые есть в архиве ../res/obj.crf, и которые нормально находит редактор и движок (при условии, конечно, что мы смотрим модели в игровой папке, т. е в thief2/obj). Программа могла бы поискать отсутствующие текстуры в указанном архиве. Найденные таким образом текстуры желательно как-то выделить в списке (например, цветом).
В архивах мы искать пока не умеем. Надо цветом в списке текстур выделить названия тех, которые не удалось найти? Так вместо них всех default.dds. Можно еще и цветом выделить.

Цитировать2. Если не сложно, добавить просмотр анимированных мешей (можно без анимации).
Это запланировано. Данный апдейт был направлен на самый базовый функционал, как ты отметил в самом начале - чтобы программой уже можно было пользоваться. Расширение функционала - это уже следующий (долгожданный) этап.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: nemyax от 10 сентября 2018 17:20:44
Цитата: Force от 10 сентября 2018 16:55:43Но если честно, зачем нужна такая хирургическая точность при вращении модели в простом просмотрщике?
Чтобы up axis не шатало. Её проблематично выпрямлять и, если разобраться, совершенно незачем наклонять.

Цитата: Force от 10 сентября 2018 16:55:43
Хорошо, если меня кто-нибудь научит вращать модель в блендере, я посмотрю и сделаю как там.
Дык средняя кнопка.
Я могу запостить свою реализацию arc rotate-a, если хочешь. У меня тупо обновление азимута-высоты и перестроение матрицы. Значения меняются с шагом в полградуса, чтобы не накапливать ошибок округления. Азимут сбразывается при полном обороте, а высота упирается в полюса.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Chuzhoi от 12 сентября 2018 03:28:28
Цитата: Force от 10 сентября 2018 16:55:43
Цитировать1. Лопата находится не по центру вьюпорта
Так ли это критично, если панель навигации будет отключаемой?
На мой взгляд, критично. Во-первых, это некрасиво. Во-вторых, слева на экране и так выводится информация о модели (текстуры и пр.) - и, если текстур много, текст часто наезжает на объект (если бы объект был расположен по центру, вероятность наезда была бы меньше). Ну и в-третьих - так ли уж нужно делать отключаемую панель навигации? Мне лично она не совершенно мешает. Если же речь идет о дополнительном пространстве для отображения модели, то изменение размера и распахивание окна должно успешно решить этот вопрос. Если, конечно, вы не страстный любитель старины и не сидите до сих пор на ЭЛТ с 1024*768. Но такой любитель должен быть привычен к подобным трудностям, ибо сейчас уже далеко не всякая программа или сайт в такое разрешение влезает.

Цитата: Force от 10 сентября 2018 16:55:43
Работа над рендерингом интерфейса еще не закончена, но могу сказать сразу, длинные названия будут обрезаться. Не думаю, что буду заморачиваться с элементами списка разной высоты. В ближайшее время - точно.
Это, пожалуй, самое несрочное и некритичное замечание.

Цитата: Force от 10 сентября 2018 16:55:43
Посмотрим, что можно с этим сделать. Как я когда-то говорил, сейчас увеличение размеров окна просто масштабирует картинку.
Как я понял, пользователю это пока недоступно?
Вообще, модель, наверное, пусть масштабируется. А вот шрифт и панель масштабироваться, конечно, не должны. Хотя панель, естественно, должна высотой подгоняться под размер окна с соответствующим изменением количества отображаемых файлов.

Цитата: Force от 10 сентября 2018 16:55:43
Я заморочился и сделал полноценный arcball, а им, оказывается, нужны обыкновенные углы Эйлера!
Эйлера, не Эйлера - не знаю. Может, и Эйлера. Должно быть как-то так:



Ссылка (https://www.youtube.com/watch?v=Hcu6V1hg5nk)

Цитата: Force от 10 сентября 2018 16:55:43Но если честно, зачем нужна такая хирургическая точность при вращении модели в простом просмотрщике?
Дело в том, что если модель, для которой предполагается определенная ориентация в пространстве (а таких моделей на практике большинство), наклоняется на бок и при дальнейших манипуляциях сохраняет наклонное положение, то ее уже становится трудно воспринимать. А при том способе, который принят в Максе/Блендере, модель всегда остается вертикальной - независимо от того, под каким углом мы на нее смотрим.

Цитата: Force от 10 сентября 2018 16:55:43Или вам нужно лочить ось вращения модели до отпускания мыши?
Нет, лочить ничего не нужно.

Цитата: Force от 10 сентября 2018 16:55:43Надо цветом в списке текстур выделить названия тех, которые не удалось найти?
Нет, я про те, которые удалось найти в crf-архивах (чтобы отличать их от тех, которые лежат в txt/txt16 текущей папки). Но и те, которые не удалось найти, тоже можно выделить. Еще одним цветом.

Цитата: Force от 10 сентября 2018 16:55:43Вот это уже интересно. Можешь видео снять и приложить соответствующий лог?
Хорошо, вышлю позже по почте.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Zontik от 12 сентября 2018 09:22:04
Я тоже не очень понимаю, кому и зачем нужно отключать панель навигации.
Насчет способа вращения... мои мнения разделились. В способе, который показан на видео, есть свои плюсы, они описаны выше. Но есть и серьезный минус: недостаточная свобода. Допустим, надо взглянуть на модель с какого-то определенного ракурса. В этом случае придется подкручивать ее... ну не знаю, скажем, как штатив. Чтобы направить объектив фотоаппарата в определенную точку, нужно и там покрутить, и вон там, здесь опустить штангу, там ножку укоротить... А когда фотоаппарат в руках - нацелил его в нужное место, и дело сделано.
И если бы не необходимость длинных выдержек, я бы никогда не пользовался такой неудобной вещью.
С другой стороны, сколько раз я пытался поставить случайно наклоненную модель прямо, но это был тот же самый штатив, только с изнанки. Так что я действительно не знаю, как лучше.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 12 сентября 2018 13:54:29
Цитата: Chuzhoi от 12 сентября 2018 03:28:28
Цитата: Force от 10 сентября 2018 16:55:43
Цитировать1. Лопата находится не по центру вьюпорта
Так ли это критично, если панель навигации будет отключаемой?
На мой взгляд, критично.
Цитата: Chuzhoi от 12 сентября 2018 03:28:28
Цитата: Force от 10 сентября 2018 16:55:43
Посмотрим, что можно с этим сделать. Как я когда-то говорил, сейчас увеличение размеров окна просто масштабирует картинку.
Как я понял, пользователю это пока недоступно?
Вообще, модель, наверное, пусть масштабируется. А вот шрифт и панель масштабироваться, конечно, не должны. Хотя панель, естественно, должна высотой подгоняться под размер окна с соответствующим изменением количества отображаемых файлов.
Пожелания внесены в список доработок. Сразу оговорюсь, что в виду их специфичности, им выставлен не самый высокий приоритет.

Цитата: Chuzhoi от 12 сентября 2018 03:28:28
Ссылка (https://www.youtube.com/watch?v=Hcu6V1hg5nk)
Вот теперь стало понятно, что требуется, правда не всем это по душе... Предлагаю вам это обсудить.

Цитата: Chuzhoi от 12 сентября 2018 03:28:28
Цитата: Force от 10 сентября 2018 16:55:43Надо цветом в списке текстур выделить названия тех, которые не удалось найти?
Нет, я про те, которые удалось найти в crf-архивах (чтобы отличать их от тех, которые лежат в txt/txt16 текущей папки). Но и те, которые не удалось найти, тоже можно выделить. Еще одним цветом.
Не хочешь обновить скриншот ТЗ и предложить варианты цветов? :) Включая цвет текста ошибки и его размер.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Chuzhoi от 13 сентября 2018 21:43:44
Цитата: Force от 12 сентября 2018 13:54:29
Вот теперь стало понятно, что требуется, правда не всем это по душе... Предлагаю вам это обсудить.
Хорошо, давайте обсудим.

Цитата: Zontik от 12 сентября 2018 09:22:04
В способе, который показан на видео, есть свои плюсы, они описаны выше. Но есть и серьезный минус: недостаточная свобода. Допустим, надо взглянуть на модель с какого-то определенного ракурса. В этом случае придется подкручивать ее... ну не знаю, скажем, как штатив.
Этот способ совершенно не ограничивает свободу и позволяет посмотреть на модель абсолютно с любой стороны. Более того, этот способ скопирован с Макса (и, более того, ролик записан прямо в Максе) - а ты ведь работал с Максом, и у тебя разве возникали какие-то проблемы с вращением камеры (Alt + средняя кнопка мыши)? Возможно, несколько обманчивое впечатление сложности позиционирования возникло оттого, что я намеренно пытался перемещать камеру раздельно по осям (чтобы было понятнее, что именно происходит с координатами камеры), но ведь ничто не мешает перемещать камеру непрерывным движением - хоть по диагонали, хоть по траектории любой кривизны.

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

(В Максе, кстати, есть возможность и наклона камеры влево-право - но я не помню, чтобы я хоть раз ею воспользовался).

Для примера я записал ролик, как осмотр той же самой двери происходит сейчас в dark_engine_viewer. Сначала я вращаю дверь строго по горизонтали - все вроде бы нормально (хотя дверь уже немножко наклонилась на бок). Затем я подключаю к своим телодвижениям вертикальную ось, что бы посмотреть на модель сверху или снизу, и тут начинаются проблемы - дверь скособочивается совершенно неестественным образом, и я тщетно пытаюсь выпрямить ее обратно. В конце концов путем неимоверных усилий мне худо-бедно удается придать двери положение, отдаленно напоминающее исходное (и все равно после этого дверь сохраняет значительный наклон; конечно, если совсем уж постараться, можно устранить и его, но для этого нужна именно ювелирная точность). Конечно, я несколько утрировал и происходящее в ролике является в некоторой степени клоунадой, но на практике дело примерно так и обстоит.



Ссылка (https://www.youtube.com/watch?v=BZk1INmbPfQ)

Теперь вернитесь к предыдущему ролику, записанному в 3ds max, и посмотрите, каким непринужденным и легким движением я возвращаю камеру в исходное положение, которое было в начале ролика.

Цитата: Chuzhoi от 07 сентября 2018 22:57:204. FOV камеры можно сделать примерно на треть уже (расположив камеру, соответственно, несколько дальше).
После достаточно длительного пользования программой мне уже кажется, что FOV нужно уменьшать как минимум вдвое. Для справки: в Максе по умолчанию FOV на перспективном виде равен 45 градусов (что совершенно комфортно).

Цитата: Force от 12 сентября 2018 13:54:29
Не хочешь обновить скриншот ТЗ и предложить варианты цветов? :) Включая цвет текста ошибки и его размер.
Обновил:

(http://chuzhoi.city/images/darkfate/bin-viewer-filelist.jpg)

Что касается ошибки, то розовый цвет лично меня совершенно устраивает, я бы только шрифт подуменьшил. А вот текст я бы переформулировал:

(http://chuzhoi.city/images/darkfate/bin-viewer-empty-folder.jpg)
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Zontik от 14 сентября 2018 09:17:11
Цитироватьты ведь работал с Максом, и у тебя разве возникали какие-то проблемы с вращением камеры (Alt + средняя кнопка мыши)? Возможно, несколько обманчивое впечатление сложности позиционирования возникло оттого, что я намеренно пытался перемещать камеру раздельно по осям
Очень может быть. Я ориентировался именно на ролик. Проблемы в Максе, насколько я помню, были несколько иного рода (например, невозможность приблизить совсем чуть-чуть, когда модель мелкая и находится уже достаточно близко). Ну, еще маленькая проблемка - когда уже начал вращать модель, невозможно отменить этот процесс (а в Анимэйторе достаточно вывести курсор за пределы окна и отпустить кнопку, и модель возвращается в исходное состояние). Но это все уже не по делу.
Клоунаду тоже посмотрел. Да, это мне знакомо куда лучше. Пожалуй, изменю свое поспешное мнение и присоединюсь к пожеланиям сделать "как в Максе".
Кстати, я не понял, почему дверь вращается вокруг оси, на которой расположены петли, а не вокруг собственной оси. Или это особенность моделей, изготовленных для DarkMod? Вот, кстати, еще одна косвенная функциональность просмотрщика. Я, например, довольно часто забываю выставить оси в ноль, а потом модель в редакторе не встает на место. Результат - куча лишних телодвижений. В то время как в просмотрщике достаточно ее пару раз крутануть и выяснить, все ли в порядке.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 14 сентября 2018 09:43:40
ЦитироватьКстати, я не понял, почему дверь вращается вокруг оси, на которой расположены петли, а не вокруг собственной оси. Или это особенность моделей, изготовленных для DarkMod? Вот, кстати, еще одна косвенная функциональность просмотрщика.
По этой причине я не стал сбрасывать оси для моделей, мне кажется, это всё-таки полезная информация. Правда, мы всё равно планируем их рисовать по хоткею...

ЦитироватьПожалуй, изменю свое поспешное мнение и присоединюсь к пожеланиям сделать "как в Максе".
Ок. Мне тут знающие люди тоже всячески содействуют, даже кодом поделились  :biggrin:. Спасибо!
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Zontik от 14 сентября 2018 09:58:37
Без сбрасывания осей тоже возможны нюансы. Всегда может появиться модель с осью в таком месте, что при любом повороте она немедленно будет уезжать за пределы экрана. Но... надо ли так перестраховываться из-за сомнительного частного случая? Я думаю, нет.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: nemyax от 14 сентября 2018 10:26:25
Цитата: Zontik от 14 сентября 2018 09:17:11когда уже начал вращать модель, невозможно отменить этот процесс (а в Анимэйторе достаточно вывести курсор за пределы окна и отпустить кнопку, и модель возвращается в исходное состояние)
[off]

Насколько я помню макс, незавершённое действие навигации можно отменить правой кнопкой. Но могу нагнать.
Ты среднюю кнопку начал использовать штоле?[/off]
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Zontik от 14 сентября 2018 10:29:53
Потестировал на разных моделях, кое-что обнаружил.
Текстуры PCX в формате RGB отображаются в черном цвете. Или в прозрачном? Так и не смог понять. В общем, модели, покрытые только такими текстурами, в просмотрщике вообще не видны. Покрытые частично - черная поверхность в одних случаях перекрывает видимые поверхности, в других нет. Закономерности не уловил. Например, ящик яблок от Кристины с модифицированными текстурами в просмотрщике выглядит пустым, а вот донышки у бочек почему-то непрозрачные, просто черные.
Точно то же самое - с текстурами TGA с полностью непрозрачным альфа-каналом.
Деревья стали отображаться куда лучше, но проблема с наложением прозрачных областей друг на друга осталась. При вращении это заметно намного сильнее, однако и на статичной картинке можно разглядеть, как прозрачный полигон на фоне других прозрачных полигонов становится непрозрачным.
(http://i.piccy.info/i9/e9ae4f761c997719f14471c106dd6ece/1536909801/14026/1247776/Derevo_240.jpg) (http://piccy.info/view3/12619145/022e2d1e5ddab243ebe6bd9baa87db03/)(http://i.piccy.info/a3/2018-09-14-07-23/i9-12619145/240x165-r/i.gif) (http://i.piccy.info/a3c/2018-09-14-07-23/i9-12619145/240x165-r)
Когда этот же полигон накладывается на непрозрачную область, проблема исчезает.
Говоря по правде, для восприятия модели это совершенно не критично.
ЦитироватьНасколько я помню макс, незавершённое действие навигации можно отменить правой кнопкой.
Я не настолько хорошо его знаю. Попробую, спасибо. А среднюю так и не использую.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 14 сентября 2018 10:49:41
Zontik, прозрачность сейчас просто "включена", но работает она неправильно. Не хочу сортировать полигоны, но не уверен, что в легаси-режиме получится сделать что-то адекватное без сортировки.

ЦитироватьТекстуры PCX в формате RGB отображаются в черном цвете. Или в прозрачном?
Этого предложения не понял.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Zontik от 14 сентября 2018 11:15:06
Формат PCX бывает как в 256-цветной палитре, так и RGB. Вот с последними проблема: текстуры отображаются черными. Или прозрачными. Поскольку фон тоже черный, сказать определенно не могу - черное на черном в любом случае не видно.
Возможно, это тоже издержки legacy-версии, проверить не могу.
Цитироватьне уверен, что в легаси-режиме получится сделать что-то адекватное без сортировки
Если эта ошибка не правится в один клик, тогда и фиг с ней.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Призрак Boris'а3000 от 14 сентября 2018 14:04:46
Цитата: Zontik от 14 сентября 2018 11:15:06
Формат PCX бывает как в 256-цветной палитре, так и RGB. Вот с последними проблема: текстуры отображаются черными. Или прозрачными. Поскольку фон тоже черный, сказать определенно не могу - черное на черном в любом случае не видно.
Возможно, это тоже издержки legacy-версии, проверить не могу.
Как единственный радеонщик Рассеи подтверждаю -- вместо PCX c RGB чернота на обеих версиях программы. Я просто думал, что это издержки общей глюкавости отображения на Радеоне или последствия моей наспех сварганенной в фотожопе (для тестирования приоритетов текстур) РСХ-текстурки, поэтому не стал тогда говорить.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 14 сентября 2018 14:20:38
Просьба выслать текстуру.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Zontik от 14 сентября 2018 14:20:53
[off]
Boris3000
Ну хватит уже толкаться на пьедестале. Не единственный ты.[/off]
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Zontik от 14 сентября 2018 14:23:04
Выслал на почту. Но проблема не с конкретной текстурой, а с самим форматом.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 14 сентября 2018 14:27:05
Zontik, оно понятно, спасибо. Просто PCX прикручивал я сам, поэтому вполне мог накосячить, недотестировать и пр.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 14 сентября 2018 14:29:08
Zontik, кстати! Мог бы ты проверить эту текстуру на первой версии просмотрищика, которую я высылал? Есть подозрение, что она может заработать там...

Хотя стоп! Зачем? Я сам могу :). Для этого радеон не нужен :).
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 14 сентября 2018 14:54:49
Да, что-то сломалось со времени предыдущей версии, раньше работало.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Призрак Boris'а3000 от 14 сентября 2018 15:36:22
[off]

Цитата: Zontik от 14 сентября 2018 14:20:53
Ну хватит уже толкаться на пьедестале. Не единственный ты.
Гы, Зонтик, ты такой же радеонщик, как и ХР-шник (с SP2-то). Моя радеонная система работает на всём спектре актуальных Виндов -- от ХР до Десятки, поддерживает все типы видеоинтерфейсов -- от VGA до HDMI и Displayport, и при этом имеет производительность RX 580 / GTX 1060. Так что двигайся, двигайся давай. Тем более это временно: щас поеду куплю на любимом Авито недостающую раритетную запчасть -- мостик Crossfire, после чего пойду на повышение и буду зваццо единственным кроссфайрщиком Рассеи, а титул единственного радеонщика, так и быть, останется тебе единолично.[/off]
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Zontik от 14 сентября 2018 16:17:01
[off]Понял, слезаю.[/off]
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: spy от 15 сентября 2018 14:36:29
Цитата: Boris3000 от 14 сентября 2018 15:36:22
[off]

Моя радеонная система работает на всём спектре актуальных Виндов -- от ХР до Десятки, поддерживает все типы видеоинтерфейсов -- от VGA до HDMI и Displayport, и при этом имеет производительность RX 580 / GTX 1060.
[off]

Это что за видюха у Бориса, которая конкурирует с гтх 1060.  Radeon R9 270?
Всякие вулканы она тоже поддерживает? говоря о 1060, ты конечно имеешь ввиду 6гб врам?  Чудеса. Элт монитор 100летней давности поддерживающий всякие фхд разрешения и видюха конкурирующая с 1060. Чудеса.  :) [/off]

Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Призрак Boris'а3000 от 15 сентября 2018 18:56:02
[off]

Цитата: spy от 15 сентября 2018 14:36:29
Это что за видюха у Бориса, которая конкурирует с гтх 1060.  Radeon R9 270?
Да. В двойном количестве. В Crossfire они примерно равны R9 290X, R9 390, RX 580, GTX780-780Ti, GTX970, GTX1060. В сети полно тестов, если не веришь.

Цитата: spy от 15 сентября 2018 14:36:29
Всякие вулканы она тоже поддерживает?
Да, всякие Вулканы и 12-е ДиректИксы тоже поддерживает. То есть, кроме всего вышеперечисленного, ещё поддерживает и полный список всех актуальных и не очень API.

Цитата: spy от 15 сентября 2018 14:36:29
говоря о 1060, ты конечно имеешь ввиду 6гб врам?
Конечно. Хотя эти 6 гигов ей нахрен не нужны.
Параметры 1060 6GB -- 1280:80:48, 1506 MHz, 6 GB GDDR5 c пропускной способностью 192 GB/s.
Параметры R9 270 x2 -- 2560:160:64, 925 MHz, 4 GB GDDR5 с пропускной способностью 360 GB/s.
Ещё вопросы?

Цитата: spy от 15 сентября 2018 14:36:29
Чудеса. Элт монитор 100летней давности поддерживающий всякие фхд разрешения и видюха конкурирующая с 1060. Чудеса.
Учись, студент. Ещё можешь добавить в копилку чудес скорость чтения дисковой системы 530 мегабайт в секунду на SATA-II 300.

Вообще, можно собрать и более термоядерную Crossfire-видеосистему с сохранением вышеозначенной всеядности и универсальности -- на двух HD7990. И это уже вышло бы производительнее, чем 1080Ti. Но, во-первых, такие карты сложно найти, и, во-вторых, сначала нужно убрать скрутки из электрощитка, купить кондиционер и блок питания на 1.5-2 кВт, а уж потом ставить себе несколько HD7990. Поэтому я решил не выпендриваться и ограничиться парой R9 270.

А "чудеса" объясняются просто -- каждый раз при выходе нового семейства маркетингового ажиотажа намного больше, чем реального прироста производительности. Поэтому старые топовые или многопроцессорные конфигурации всё продолжают уделывать середнячков из новых поколений, проигрывая им только в энергопотреблении.[/off]
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: spy от 15 сентября 2018 19:15:37
[off]Boris3000, сними пож видео ведьмака 3, если не трудно .  :) с замером фпс, а то может нахер мне 1070?

про элт монитор не понял, 17 дюймов в фхд - это жесть, ты там через лупу все рассматриваешь? [/off]


Форс, прости за жосткий оффтоп, перенесите это в корзину или куда.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Призрак Boris'а3000 от 15 сентября 2018 19:52:21
[off]

Цитата: spy от 15 сентября 2018 19:15:37
сними пож видео ведьмака 3, если не трудно
Трудно. У меня его нет и вряд ли будет, и видео игровые не снимал и не собираюсь. Crossfire делал ради первого Сталкера (DX9, Win XP) со включённым сглаживанием, что является самой тормозной вещью под ХР.
Но повторяю -- в сети полно тестов, гугл в помощь. Прямое сравнение R9 270 x2 vs 1060 найти сложно, но можно найти R9 270 x2 vs R9 290X и R9 290X vs 1060. И ты увидишь, что там везде примерно одинаковый фпс.

Цитата: spy от 15 сентября 2018 19:15:37
а то может нахер мне 1070?
1070 вроде производительнее, чем 1060? А вообще да, ХР не поддерживает, ЭЛТ не поддерживает -- дрянь какая-то.
Я, кстати, на днях 1080Ti у друга опробовал. Так вот не впечатлила от слова совсем. Заставить её тормозить в качественных режимах проще пареной репы. Так что угомонись со своей 1070 -- барахло это всё, если в единственном экземпляре. По-настоящему качественный рендеринг при 60 фпс способны обеспечить только лишь несколько топовых видеокарт в SLI/Crossfire. На то оно и рассчитано.
Повторюсь -- маркетингового ажиотажа намного больше, чем реального прироста производительности.

Цитата: spy от 15 сентября 2018 19:15:37
про элт монитор не понял, 17 дюймов в фхд - это жесть, ты там через лупу все рассматриваешь?
Примерно. Но 2048х1536 (3М против 2М у ХД, между прочим) я только для снятия скринов использую -- чтобы они не помещались на ваши FullHD LCD :biggrin:. Зачем моник насиловать, когда и с 1024х768 нормально?

[/off]
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: spy от 15 сентября 2018 20:15:54
Цитата: Boris3000 от 15 сентября 2018 19:52:21
[off]

1070 вроде производительнее, чем 1060? А вообще да, ХР не поддерживает, ЭЛТ не поддерживает -- дрянь какая-то.
Я, кстати, на днях 1080Ti у друга опробовал. Так вот не впечатлила от слова совсем. Заставить её тормозить в качественных режимах проще пареной репы. Так что угомонись со своей 1070 -- барахло это всё, если в единственном экземпляре. По-настоящему качественный рендеринг при 60 фпс способны обеспечить только лишь несколько топовых видеокарт в SLI/Crossfire. На то оно и рассчитано.
Повторюсь -- маркетингового ажиотажа намного больше, чем реального прироста производительности.

[/off]

[off]Вот кстати, пару дней назад на сайте квэйкгейт.ру наткнулся на топик про сли, если правлильно понял, говорят, все упирается в производителей.  и нихера, во всяком случае в этих квейках, прироста не дает.[/off]


ЦитироватьЗачем моник насиловать, когда и с 1024х768 нормально?

[off]действительно )[/off]
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Chuzhoi от 17 сентября 2018 04:49:12
Цитата: Zontik от 14 сентября 2018 09:17:11Кстати, я не понял, почему дверь вращается вокруг оси, на которой расположены петли, а не вокруг собственной оси.
Потому что именно там находится ее собственная ось. В движке Doom 3 (как, надо полагать, и в подавляющем большинстве других игровых движков) нет нужды центрировать модель относительно начала координат - оно может располагаться где угодно, и это не вызовет никаких нежелательных побочных эффектов (в этом смысле необходимость центрирования моделей в Dark Engine - скорее баг, или, скажем более мягко, недоработка, нежели фича). Более того, начало координат модели чаще всего бывает желательно расположить не в центре, а сбоку, снизу или где-то еще - это облегчает ее установку на место. Скажем, для дверей (и любого вращающегося объекта) - это традиционно ось вращения; для настенного светильника - место крепления к стене; для объекта, который ставится на пол или на стол - снизу модели (на уровне пола/стола) и т. д.

Я, кстати, хотел внести предложение вращать камеру именно относительно геометрического центра модели, а не ее начала координат, но потом вспомнил, что в Dark Engine модели и так принято центрировать, ну а если отцентрировать забыли, то действительно при существующем положении дел это сразу будет заметно.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: nemyax от 17 сентября 2018 07:52:16
Цитата: Chuzhoi от 17 сентября 2018 04:49:12
Я, кстати, хотел внести предложение вращать камеру именно относительно геометрического центра модели, а не ее начала координат
Тут может помочь поведение, которое наблюдается в блендере (а также в Anim8or-е, да и в максе вроде бы) при панорамировании. Оно там смещает не только камеру, но и заодно опорную точку облёта. При этом наезд на неё не влияет.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Призрак Boris'а3000 от 16 ноября 2018 06:21:30
В общем, радеонщиком я пробыл недолго. И даже не успел задействовать и опробовать свой CrossFire (хотя мостик купил, аж две штуки, про запас). Почему вышла такая чехарда со сменой видюх, рассказ там (https://darkfate.org/forum/index.php?topic=1676.msg278656#msg278656).
А тут, как далеко не единственный энвидиевщик Рассеи, сообщаю: увы, Форс, но к твоему следующему релизу все мои Радеоны будут только майнить, сидя без мониторов и вообще в большинстве своём вися на райзерах, с кое-как запиханными дровами, лишь бы режим вычислений работал, и никакого 3D. Ни одной тачки с Радеоном в качестве основной карты у меня больше нет.

ЗЫ.
Зонтик, пьедестал свободен -- залезай.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Zontik от 16 ноября 2018 09:32:21
Спасибо, я внизу постою. Похоже, единственный оставшийся в мире Радеон погоды совершенно не делает.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 16 ноября 2018 09:48:04
Boris3000, ну, по большому счету, мне самому бы не помешал доступ к радеону, а у тестеров он - скорее опция. Хотел сначала посочувствовать, но теперь, прочитав пост по ссылке, думаю, надо поздравлять!  :agree:

Zontik, любишь ты прибедняться :biggrin:, но это здесь совершенно излишне. Это как извиняться за то, что победил в забеге, или получил премию...
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Zontik от 16 ноября 2018 10:56:52
Я в другом смысле. Программа в одном месте, компьютер для тестирования - в другом... Так дела не делаются. Тут нужна обратная связь примерно как между руками и головой, а не как между Аполлоном и Хьюстоном.
Поэтому не знаю, что предложить, но пьедестал единственного обладателя Радеона тут явно не достижение.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Призрак Boris'а3000 от 16 ноября 2018 16:12:37
[off]

Цитата: Force от 16 ноября 2018 09:48:04
Хотел сначала посочувствовать, но теперь, прочитав пост по ссылке, думаю, надо поздравлять! :agree:
Спасибо! Но тут, пожалуй, можно делать и то и другое.[/off]
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 30 ноября 2018 12:58:05
Разместил публичную версию здесь: http://forcesw.com/
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Maxim от 30 ноября 2018 13:09:35
Интересно что там за сюрприз такой к двадцатилетию первой части :)
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Maxim от 30 ноября 2018 14:13:53
Попробовал просмотрщик. 64 bit версия. Всё замечательно. Работает быстро, листается мгновенно, модельки вращаются, приближаются и .оbj даже открывается.

Одно только небольшое замечание, но это так... чисто мелочи, визуальщина.
А именно хотелось бы, чтобы модель появлялась примерно в центре экранчика, а то они больше склоняются к левой части. Примерно изобразил на скрине точку, где было бы неплохо их видеть. Получается, что правая часть пустует просто так.

(http://i.piccy.info/i9/a1eb17f37b2e1c856e1b4f674dd82b5e/1543576517/124974/1220117/2018_11_30_140840.jpg)

Прикола ради открыл файл .mis  ;D

(http://i.piccy.info/i9/b94db34f218ba6dc0285ce4ea68c63a8/1543576731/41115/1220117/2018_11_30_141714.jpg)

На удивление открылось. И как-то немного заглючило сначала. Перешло в какое-то подобие полного экрана, то есть исчезло меню слева. Но нажатие Esc вернуло прогроммку в исходное состояние.
UPD:
Немножко чуть больше, чем мелочи, но тоже в общем-то не особо проблема. Ведь главное что мы хотели это просто прогу для быстрого ознакомления с моделью и это исполняется.
А так: хотелось бы шаг приближения к модели поменьше. То есть я имею ввиду как бы значений на воображаемой шкале зума чтоб было больше. Потому что сейчас если открыть небольшую  модель, то буквально одно нажатие на скролл мышки приближает так, что уже внутри модели сидишь :)
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: nemyax от 30 ноября 2018 14:24:14
Цитата: Maxim от 30 ноября 2018 14:13:53
то они больше склоняются к левой части
Ага, центрирует по общему размеру вьюпорта, а не по области просмотра.
И если имена файлов не влезают в одну строчку, показывает полторы строчки имени.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 30 ноября 2018 15:47:02
ЦитироватьПрикола ради открыл файл .mis
Молодец, первый нашел сюрприз, но чувствуется, управлять камерой так и не научился, раз скриншот снят в таком "странном" месте :biggrin:.
Если кто хочет увидеть текстуры в миссиях, папку fam надо положить рядом с файлом миссии. Ну да, пока вот так... По поводу остальных замечаний, согласен - они есть в списке задач, просто не самые приоритетные.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Zontik от 30 ноября 2018 15:51:36
Блин, а я не понял. Решил, что Максим сконвертировал всю миссию в объект и его уже открыл. Вроде шла речь недавно о подобных экспериментах.
Ну все теперь, рухнул грандиозный план поиска сюрприза. Успел выполнить только первый пункт: нажал Ctrl-Alt-Shift-Del.
Еще раз блин. Максим забрал весь сюрприз себе.
(http://i.piccy.info/i9/f515d85d19e02256827365582a1a35e4/1543582565/1890/1284829/NoSurprise_240.jpg) (http://piccy.info/view3/12806217/966744f36c3dd718fbfaf8af0737ba04/)(http://i.piccy.info/a3/2018-11-30-12-56/i9-12806217/240x169-r/i.gif) (http://i.piccy.info/a3c/2018-11-30-12-56/i9-12806217/240x169-r)
Третий и последний блин. У меня же Legacy-версия!
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 30 ноября 2018 16:02:22
Zontik
У тебя скриншот пока что неразрешимой проблемы. Отпортализируй в олд дарке и... А потом, возможно, когда-нибудь... Короче, грустно пока всё со всем остальным. Не только у тебя...
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Soul_Tear от 30 ноября 2018 16:09:56
Вроде разобрался. Только несколько раз крашнулось.

Force и Zontik, спасибо!  :)
(https://i.imgur.com/2hTakzV.jpg)
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Zontik от 30 ноября 2018 16:21:10
Да ну, это разве что прикола ради. Хорошо бы все неразрешимые проблемы были такими же незначительными.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 30 ноября 2018 17:03:07
Zontik, у тебя же интерфейс есть и даже работает?
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Soul_Tear от 30 ноября 2018 17:11:36
Force, а здесь будет новость? http://www.ttlg.com/forums/forumdisplay.php?f=85&s=8be995900fb527679aabfa8ef35c7111

Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 30 ноября 2018 18:08:52
Soul_Tear, я не писал сопровождения на инглише. Думаю, народу будет непросто понимать автоперевод с русского.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Zontik от 30 ноября 2018 18:46:04
Нет, дома (где Радеон) все глухо - теперь даже не запускается, только на мгновение показывает черный экран. Раньше хоть сломанная лопата была видна.
Но зато на работе все хорошо. Жаль, что там приходится заниматься другими вещами.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 30 ноября 2018 19:14:56
Soul_Tear, Я туда полезу, когда прога будет более юзер-френдли, в частности, работать с архивами и теснее дружить с вором, работая с его конфигами.

Так что двадцатилетие Дарк проджекта мы тут сами отметим!  :biggrin:

Zontik, чет дичь какая-то.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 01 декабря 2018 01:15:02
Раздача подарков продолжается! На это раз одарены будут меньшинства! :lol: А именно - владельцы старых радеонов на WinXP SP2 и линуксоиды. Да, появилась сборка для linux!

Так что предлагаю перекачать архив с программой.

P.S. Да, под linux пока предлагается сборка, работающая в режиме Legacy Hardware. Полноценную версию протестировать не удалось по причине отсутствия нормальной установленной ОС linux.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Glypher от 01 декабря 2018 02:13:14
Force, мои поздравления с релизом! :up:
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Chuzhoi от 01 декабря 2018 03:36:28
Открыл, поглядел. Ура, появились диски! Ура, модельку стало крутить намного удобнее!

Можно кликнуть наугад в файл с миссией и поиграть в игру "отгадай миссию, покрытую дефолтной текстурой", что я и сделал. Кстати, когда входишь в папку с Thief, по умолчанию открывается именно файл с миссией и сразу заходит в некий полетный режим, что создает некоторые неудобства. Лучше бы миссия загружалась в обычном режиме (со списком файлов), а полетный режим активировался бы по нажатию отдельной клавиши. Кстати, как снова перейти в полетный режим из режима со списком, я не понял.

Цитата: Force от 30 ноября 2018 15:47:02
Если кто хочет увидеть текстуры в миссиях, папку fam надо положить рядом с файлом миссии.
А если еще и распаковать папку obj, то можно увидеть миссию не только с текстурами, но и с моделями, что еще приятнее. К сожалению, распаковка папки mesh пока не привела к появлению на улицах патрулирующих стражников...

Для удобства полета по миссии, кстати, можно предусмотреть режим ускоренного перемещения (с нажатием клавиши Shift, например). По умолчанию камера летает довольно медленно.

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

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

А так - вполне уже юзабельная и удобная программа. Мои поздравления с релизом!

PS. И еще... С помощью этой программы я наконец-то (совершенно непреднамеренно) узнал, что будет тому, кто нашел все карты в Rose Cottage. Автору этой миссии не откажешь в чувстве юмора.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 01 декабря 2018 10:21:58
Glypher, Chuzhoi, большое спасибо!

ЦитироватьКстати, как снова перейти в полетный режим из режима со списком, я не понял.
А никак! :) Это делалось в последний момент, не успел.

ЦитироватьЕще хотелось бы, чтобы после выхода из папки в вышестоящую папку покинутая папка как-то выделялась и список скроллился до этой папки (как это обычно и происходит файловых менеджерах - в том же Проводнике, например). Так удобнее ходить по структуре папок.
Да, такое поведение напрашивается, но тогда придется открывать папки Enter'ом и кликом, а модели - простым наведением курсора в списке и кликом мыши, что не однообразно. А для однообразия нужно открывать все Enter'ом. Предлагаю подумать, будет ли это понятно и удобно.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Maxim от 01 декабря 2018 11:00:49
Force, а это финальная версия просмотрщика? Да, я понимаю, что будут какие-то правки обсуждаемого выше, но имею ввиду вообще в целом и по функциям. Такой в итоге будет утилита?
Дело в том, что мы ещё тогда в эээ ... "заказе" говорили про своеобразный поиск. А в идеале было бы здорово иметь такую функцию: вводишь название и слева тут же либо отфильтровываются остальные модели и убираются из списка на момент нахождения чего-то написанного в поле поиска, либо как-то подсвечиваются.  Это сложно сделать или вообще невозможно? Я понимаю, что ничего невозможного нет. Но конкретно ты этим занимаешься, поэтому вопрос лично о твоих возможностях.
Потому что было бы очень здорово такое иметь. Утилита ведь, собственно, нужна была для быстрой прикидки того, что можно использовать в миссиях. И вот, допустим, накопилось за всё время сто_пиццот разных дверей или каких-нибудь других моделей, всяких там бочек. Хочешь какую-то добавить на уровень, а в редакторе просто имена моделей и в течении времени постепенно забываешь какая что из себя представляет. Я обычно пытаюсь задавать какие-то имена, по которым можно ориентироваться, но с некоторыми предметами это просто невозможно, ввиду того, что названия сами длинные, да ещё и ограничение на количество символов в названии модели есть - 15 символов. Берёшь, вводишь в поле поиска door (важно, чтобы не было привязки к точному написанию) и отображаются все. Кликаешь по ним, да выбираешь нужную, когда понимаешь, что в нужном месте именно она подходит. При этом, если невозможно сделать отфильтровывание остального, чтобы пропадало на время из списка, то подсветка (хе, если её тоже вообще можно осуществить) не должна пропадать на время нахождения символов в поле поиска. Я уже на будущее представляю, что при таком подходе когда кликаешь по ним, определяя какая именно модель нужна, пропадание подсветки визуально снова вернёт всё на исходную.

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

Хы, запустил файл 11.mis, летал по уровню, а тут вдруг такая картина:

(http://i.piccy.info/i9/993d99318052a924d0322a758cd9e5ef/1543651401/105101/1220117/2018_12_01_104736.jpg)

UPD:
Если это невозможно, то и ладно. В любом случае, круто и то, что есть сейчас. Да и кое-как всё-таки можно ориентироваться по моделям, просто надо стараться их называть характерным образом и по алфавиту ориентироваться, листая глазами до каких-нибудь barrel9-miss5.bin Зонтику, правда, будет хуже ))) Он любит использовать и стороннее. Это я стараюсь делать своё по мере возможности. А у других названия могут быть какими угодно, поэтому ему предстоит лицезреть ещё тот хаос в своей коллекции ))

И хорошо, что всё пошло не по тому убогому скрину-макету, что Зонтик от меня представил в первом сообщении. Но просто мы на многое не рассчитывали и не могли подумать, что в итоге утилита может выглядеть так здорово, минималистично и в то же время достаточно крупно для визуального удобства. Уже не говоря про возможности вращения и приближения, столь удобные.
И да, если возможно что-то сделать, то не забудь, плиз, про чувствительность зума, о которой писал выше :) Не центрированное отображение модели относительно окна просмотра не критично.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 01 декабря 2018 12:54:25
Maxim
Ох. :) На самом деле планы эпичнейшие! Но что из этого удастся сделать - это еще вопрос. Но планируется в просмотрщик добавить полноценный игровой режим с крутой графикой (насколько это возможно на OpenGL 3.2), а для этого он должен уметь работать как с моделями персонажей, так и объектов. То есть модели персонажей в планах, модели объектов - тоже, сейчас они иногда криво отображаются, иногда криво позиционируются - с этим предстоит разобраться. Кроме того, Зонтик уже публиковал скрин проблемы, к которой пока нет решения - миссии New Dark сменили внутренний формат, это значит, что нужно связываться с Le Corbeau (насколько я знаю, это нереально), либо пытаться отреверсить его самостоятельно (до следующего изменения), либо вообще написать свой "портализатор" миссий из брашей (самый крутой и надежный вариант, но самый сложный). Имеется в виду генерация геометрии в собственный формат, удобный для движка, а не "та самая портализация из дромеда".

Но это всё далекие планы, более близкие - это, конечно, то о чем все просят - центрирование модели, поиск, и прочие мелочи. Они все у меня записаны в туду листе со своими приоритетами. Скажу только, что всё это иногда так рутинно делать, поэтому, чтобы отвлечься, я забабахиваю какую-нибудь крутую штуковину, типа как сейчас - восстановил рендеринг миссий. Причем в нем даже поддерживаются текстуры с нормалями и картой высот, поэтому все желающие, могут экспериментировать и делиться скринами. Как только появятся первые результаты в виде ваших скринов, я скажу, как включить еще одну прикольную штуку... ;) Да, она уже там есть. Одной из таких крутых штуковин планируется PBR. Он всё равно нужен будет в движке в будущем, поэтому, почему бы и его не прикрутить, а у пользователей просмотрщика появится возможность затестить модель с красивыми эффектами.

ЦитироватьХы, запустил файл 11.mis, летал по уровню, а тут вдруг такая картина
А что тут не так?

ЦитироватьИ хорошо, что всё пошло не по тому убогому скрину-макету, что Зонтик от меня представил в первом сообщении. Но просто мы на многое не рассчитывали и не могли подумать, что в итоге утилита может выглядеть так здорово, минималистично и в то же время достаточно крупно для визуального удобства. Уже не говоря про возможности вращения и приближения, столь удобные.
Спасибо, приятно слышать, что твоя работа кому-то нравится :). Но всё это благодаря именно вашим пожеланиям. Так что, продолжаем!  :up:
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Soul_Tear от 01 декабря 2018 17:39:58
Цитата: Force от 30 ноября 2018 18:08:52
Soul_Tear, я не писал сопровождения на инглише. Думаю, народу будет непросто понимать автоперевод с русского.

Там всего-то пара строчек текста нужна: в какую папку положить и куда нажать чтобы открыть список моделей.  :)
На ТТЛГ народу много, протестировали бы, и сказали, где чего допилить, если требуется. Например, R Soul так свои утилиты выкладывал.

Вещь очень полезная, многим пригодится.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Soul_Tear от 01 декабря 2018 17:49:09
Force, какое практическое применение у возможности открывать миссии? Я за темой не следил, может быть здесь уже об этом говорилось.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Chuzhoi от 01 декабря 2018 18:52:21
Цитата: Force от 01 декабря 2018 10:21:58
Да, такое поведение напрашивается, но тогда придется открывать папки Enter'ом и кликом, а модели - простым наведением курсора в списке и кликом мыши, что не однообразно. А для однообразия нужно открывать все Enter'ом. Предлагаю подумать, будет ли это понятно и удобно.
Подумал. Не стоит над всем этим заморачиваться - пусть остается как есть. Лучше думать над основным функционалом.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Zontik от 01 декабря 2018 22:11:58
Цитироватьпланируется в просмотрщик добавить полноценный игровой режим
То есть скоро будем играть в миссии в просмотрщике? Ну... не скажу, что мне эта идея не нравится.
Force, ЗАРАБОТАЛО!!! И лопата починилась!
Единственный нюанс: каждый раз после выхода Windows выдает сообщение об аварийном завершении программы (обнаружена ошибка, приложение будет закрыто). Но это такая ерунда по сравнению с тем, что теперь Я МОГУ ПОЛЬЗОВАТЬСЯ ПРОГРАММОЙ ДОМА! Ура!
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: DonSleza4e от 01 декабря 2018 22:36:42
Force респект)
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 01 декабря 2018 22:46:05
Zontik
Да, слава Богу! Наконец-то! Год прошел не зря! :biggrin:
А по поводу ошибки, я боюсь, это не удастся починить, это уже какая-то икспидвашная магия там не срабатывает.

ЦитироватьТо есть скоро будем играть в миссии в просмотрщике? Ну... не скажу, что мне эта идея не нравится.
Я всё-таки делаю игровой движок. А просмотрщик - отличный способ совместить приятное с полезным, тем более что это пока просто просмотрщик, а не игра. Порог вхождения очень низкий, запустил и смотришь модели, текстуры, миссии и т.п. Уже сейчас он выполняет свою задачу. А если бы это была игра, то туда нужно геймплей, физику, звук, ии и хотя бы без одной из этих вещей "пользоваться" этой игрой было бы нельзя. А сейчас есть развивающийся рабочий инструмент, обрастающий всё новым и новым функционалом, который, возможно, внезапно окажется полезным в совершенно неожиданном ключе. Аппетит приходит во время еды. Ну и, если удастся воплотить задуманное, в результате мы получим новый, странный Thief - вид сбоку. Даже если он никому не будет нужен, многим будет просто интересно наблюдать за процессом, а мне - этот процесс осуществлять.

Soul_Tear, это был ответ на твой вопрос. :)
А по поводу ТТЛГ, я чуть выше писал, что туда стоит идти с более дружественной версией, которую не надо дорабатывать напильником.

DonSleza4e, спасибо! ;)
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Maxim от 01 декабря 2018 23:23:12
Может однажды сделаешь нам свою версию Ньюдарка. Будет DarkForce :) И может быть однажды Dark Force Engine. А в теориях можно Thief на него нацепить? Может мы и рты бы NPC раскрыли и геометрию тел наконец сделали человечной, а не то, что щас - словно пьяный папа Карло выстругал из бревна. 
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 02 декабря 2018 00:11:23
Maxim
Я в этом моменте, пожалуй, соглашусь с Рэнди Смитом, правда в несколько иной интерпретации: зачем еще и еще мучить Thief? Он уже есть, он целостен, он по-своему прекрасен, и надо двигаться вперед. Когда я писал про "странный Thief - вид сбоку", я имел в виду, что не хочу повторять Thief, для этого есть New Dark, он справляется с задачей идеально, потому что он - и есть Thief! А создавать какой-то свой ремейк это неблагодарная и довольно скучная работа. Я хотел на основе ресурсов Thief сделать некий игровой прототип с возможностью ходить, взаимодействовать с окружением, какими-то общими игровыми механиками. Но насколько близко это будет к Thief пока не известно.

Поэтому, я не уверен, что надо доводить работу по поддержке вора в Force Engine "до конца" и реализовывать всё то, что было в Dark Engine. Нужно будет в какой-то момент остановиться. Особенно, если мне, к примеру, нужна будет разрушаемость мира, зачем она в Воре? Правильно, только ради прикола... Сообществу Thief всё это будет не нужно. Особенно в просмотрщике :biggrin:. По большому счету даже просмотр миссий с современной графикой не нужен, в этом Soul_Tear прав. Поэтому я так и не решил, до какой поры идти по одной дороге с Thief и стоит ли публиковать какие-то достижения, ведь они, скорее всего, не получат логического завершения, а у людей появятся напрасные ожидания. И это не будет тот самый Thief, который тут все так любят, скорее какая-то другая игра, частично мимикрирующая под него.

Кстати, а ведь никто и не просил добавлять просмотр миссий в Dark Engine Viewer! Если, действительно, это не нужно, можно оттуда это вырезать и не загромождать простую программку избыточным функционалом.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Maxim от 02 декабря 2018 00:24:53
Так я и не говорил про какие-то глобальные ремейки. Так... помощь авторам миссий в расширении возможностей. Ведь это благодаря чему Thief живёт — сторонние миссии. Вселенная при этом не меняется. А трилогия - законченная серия, понятное дело. Разрушаемость мира? Не, ну это конечно здорово, но у нас нет даже такой маломальской вещи как базовая физика. Берёшь бутылку, кидаешь её далеко от себя по дороге, а она так и путешествует в вертикальном положении, упав на неё  ;D Все объекты застывшие по настройкам, которые им указываешь. То есть нельзя, например, вытащить один ящик из середины стопки, чтобы остальные упали на освободившееся место. Это можно сделать только в оговоренном месте, да через костыли и триггеры. Но не по-умолчанию физика. Вот подобной базы и то нет.
Неее, вы все как хотите, а я считаю, что Thief вполне можно было бы хотя б немного модернизировать. Без ущерба его миру. Тут не получается "мучить Thief" потому что он изначально немного каличный и корявый. Мучить - это когда всё хорошо, а люди насилуют всё новым и новым, напяливая на какого-нибудь старика внешность FarCry. А у нас и старое то в таком плачевном состоянии, что ...

А вообще я понимаю, что ты имеешь ввиду, конечно. Двигаться вперёд, оставить всё как есть, в том виде, который и был задуман и который нам однажды стал дорог по сей день.
Но... тебе-то хорошо говорить. Ты же миссии не делаешь  ;D
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 02 декабря 2018 00:33:18
Maxim
Что значит модернизировать? Я же не работаю с нью дарком, у меня даже доступа к нему нет. Я делаю свой движок, и если я добавлю физику в свой движок, она будет в моем движке, и если ещё я добавлю в свой движок возможность открывать миссии Thief, то у меня в движке будут миссии Thief c физикой, но это всё что там будет. Это всё равно что взять Дисонорд, и построить в нем миссию баффорда. В результате у тебя будет миссия Баффорда с геймплеем Дисонорд. Как-то так.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 02 декабря 2018 00:44:06
ЦитироватьНо... тебе-то хорошо говорить. Ты же миссии не делаешь
У меня была мысль сначала всё-таки как-то переосмыслить Вора. То есть, новый геймплей на старых миссиях... Но потом я подумал что это вряд ли кому-то будет интересно и поэтому решил не заморачиваться.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Призрак Boris'а3000 от 02 декабря 2018 11:56:37
Цитата: Force от 02 декабря 2018 00:11:23
Кстати, а ведь никто и не просил добавлять просмотр миссий в Dark Engine Viewer! Если, действительно, это не нужно, можно оттуда это вырезать и не загромождать простую программку избыточным функционалом.
Просто наглости никто не набрался. А так, хорошо бы иметь возможность не просто летать по карте, а ещё тыкать при этом в любые браши, объекты, модели и узнавать имена файлов, из которых они состоят.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: nemyax от 02 декабря 2018 14:26:03
Цитата: Force от 02 декабря 2018 00:11:23
Кстати, а ведь никто и не просил добавлять просмотр миссий в Dark Engine Viewer! Если, действительно, это не нужно, можно оттуда это вырезать и не загромождать простую программку избыточным функционалом.
В виде отдельного вьювера было бы круто, но не в составе вьювера моделек.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Maxim от 02 декабря 2018 19:09:59
ЦитироватьКстати, а ведь никто и не просил добавлять просмотр миссий в Dark Engine Viewer! Если, действительно, это не нужно, можно оттуда это вырезать и не загромождать простую программку избыточным функционалом.
Вчера думал над этим. И тоже как Nemyax выше написал — пришёл к мысли, что можно было бы разграничить просто и сделать 2 утилиты. Вот только в случае такой леталки по уровням есть обратная сторона медали. Лицевая сторона замечательная. Перспектива полетать, заценить масштаб, в общем, прикладная помощь. Но попав в народ, такая "леталка" может стать своеобразным читерским инструментом. Казалось бы, зачем так на это смотреть? Ну... Процесс осложнения прохождения, какой-то затык — это всё части интереса, интрига, старое доброе решение затыков. А можно тупо скачать просмотрщик, полетать по уровню, найти место и тут же увидеть всё в разрезе и понять куда идти надо и где что лежит, попутно наевшись спойлеров, потому что глаза и всякое другое заприметят. Конечно, если смотреть на это сугубо с позиции разработчика и желания внимания и отдачи от людей на свои творения, то мотивация понятна. В общем, не знаю. А вдруг наоборот это толком не приживётся? Будет эдакой игрушкой. Полетали, сказали "Вау, круто мы летаем по уровню. Это что-то новенькое", да забили. И в итоге ты зря потратишь кучу времени на это дело. По мне так - то, что есть сейчас уже и без того прикольно. Летание есть, восприятие в разрезе есть. Разве что ещё нужно сверх этого?
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 02 декабря 2018 19:20:52
Я, если честно, не понимаю, зачем иметь две утилиты вместо одной. Это как для каждого формата изображения иметь отдельную программу-просмотрщик.

А по поводу "читерства" звучит забавно, учитывая, что дромед можно использовать точно так же.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: nemyax от 02 декабря 2018 19:35:52
Force
Как вариант, можно в просмотрщике воспринимать карту как контейнер моделей. Как папка, только карта. Выбираешь модельку во вьюпорте, командуешь Isolate или там Focus, и переходишь в режим индивидуального просмотра данной модельки.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Призрак Boris'а3000 от 02 декабря 2018 22:08:14
Цитата: Force от 02 декабря 2018 19:20:52
А по поводу "читерства" звучит забавно, учитывая, что дромед можно использовать точно так же.
Да дело даже не в редакторе (он, кстати, не настолько удобен в этом плане, как можно было бы сделать тут). Те, кто хотят проходить сами, будут и так проходить сами. А кто не хочет, так бежит на форум и спрашивает -- как у нас тут, когда начинается коллективное прохождение миссий. И самое смешное, что если никто из игроков не подскажет, так подскажет... сам автор. Так что эта леталка ни на что не повлияет.

Цитата: Force от 02 декабря 2018 19:20:52
Я, если честно, не понимаю, зачем иметь две утилиты вместо одной
Наверно опять боятся, что всё начнёт тормозить и глючить.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 02 декабря 2018 22:37:49
ЦитироватьНаверно опять боятся, что всё начнёт тормозить и глючить.
Такая функция предусмотрена! В режиме просмотра миссии нажмите клавишу L - все начнет тормозить и глючить. Очень удобно, когда надо чтобы тормозило и глючило!

Но, что ещё круче, если нажать L ещё раз, тормозить и глючить перестает! Так что, если начинает, тормозить и глючить, можно просто нажать L.

Поэтому, не считаю это проблемой.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Zontik от 03 декабря 2018 11:10:09
ЦитироватьЯ, если честно, не понимаю, зачем иметь две утилиты вместо одной. Это как для каждого формата изображения иметь отдельную программу-просмотрщик.
Был когда-то такой графический редактор - Photoshop. А теперь в нем можно текстуры рисовать прямо на моделях. Правда, не знаю ни одного человека, который бы не предпочел специализированный инструмент.
Ну и есть замечательный просмотрщик изображений irfan, который в своих последних версиях может воспроизводить также видео и музыку. Но для видео и музыки есть куда более удобные вещи, а для картинок - нет.
В общем-то дополнительная функциональность начинает вредить не сразу, а только когда перетягивает на себя одеяло. Как в Фотошопе появилась куча никому не нужных пунктов меню, которые мешают ориентироваться в нужных. Ну и грузится он долго, гораздо дольше, чем когда умел что-то одно. Но я надеюсь, Force, что чувство меры тебе не изменит.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 03 декабря 2018 11:24:03
Цитата: Zontik от 03 декабря 2018 11:10:09
Ну и есть замечательный просмотрщик изображений irfan, который в своих последних версиях может воспроизводить также видео и музыку. Но для видео и музыки есть куда более удобные вещи, а для картинок - нет.
Не ради спора, но он умел это делать всегда, еще в 98-м, или когда там... И я согласен, никогда не нравились просмотрщики картинок, играющие музыку и воспроизводящие фильмы.

Цитата: Zontik от 03 декабря 2018 11:10:09
Но я надеюсь, Force, что чувство меры тебе не изменит.
Для этого есть все вы :). Как только начнется жесть с воспроизведением видео и редактированием музыки, вы скажете - стоп, давайте уберем этот функционал. И мы его уберем :).

А вообще, мои планы вы знаете, всё оговоренное выше я планировал реализовать в рамках Dark Engine Viewer. Вы можете прямо сейчас сказать что из этого не нужно и оно не будет туда добавлено или будет вырезано, если оно там уже есть. Просто вы все отмалчиваетесь и мне приходится ступать на ощупь. Поэтому я и написал о своих планах на будущее, чтобы всё согласовать и... утвердить, скажем так. Если возражений нет, тогда будем делать потихоньку, а если есть - выдвигайте. Чтобы не было как сейчас, функционал появился, а он, оказывается, даже и не нужен был.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Zontik от 03 декабря 2018 14:21:34
Честно скажу - мне он не нужен, потому что посмотреть один раз прикола ради - это не применение. Но, может, для кого-то другого это окажется важным.
Хотя с трудом представляю себе реальное применение. Если так и оставить, на уровне прикола - это даже интересно. Но я не уверен, стоит ли ради этого сильно напрягаться.
Во всяком случае, на данном этапе он мне и не мешает.
Цитироватьон умел это делать всегда, еще в 98-м, или когда там...
Ух, как давно я им пользуюсь. Может, и правда умел? Но все равно, за последние годы он научился куда большему. Хотя, по совести, все, что от него нужно - это расширение базы поддерживаемых форматов изображений, а не увеличение числа встроенных фильтров коррекции.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Soul_Tear от 05 декабря 2018 15:59:31
Цитата: Force от 03 декабря 2018 11:24:03
А вообще, мои планы вы знаете, всё оговоренное выше я планировал реализовать в рамках Dark Engine Viewer. Вы можете прямо сейчас сказать что из этого не нужно и оно не будет туда добавлено или будет вырезано, если оно там уже есть. Просто вы все отмалчиваетесь и мне приходится ступать на ощупь. Поэтому я и написал о своих планах на будущее, чтобы всё согласовать и... утвердить, скажем так. Если возражений нет, тогда будем делать потихоньку, а если есть - выдвигайте. Чтобы не было как сейчас, функционал появился, а он, оказывается, даже и не нужен был.

Интересно, можно ли реализовать возможность управления составными моделями, то есть у которых есть джойнты, чтобы сундуки открывать, рычаги поворачивать?
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 05 декабря 2018 16:42:07
Soul_Tear, все упирается в возможности чтения данных Dark Engine. Если такую информацию получить возможно, то и управлять будет возможно.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: nemyax от 05 декабря 2018 16:53:16
Force
Вот оно:

enum _mde_sub {
   MD_SUB_NONE,   // no strangeness in subobject, no rotation or sliding
   MD_SUB_ROT,    // rotating subobject, use parameter
   MD_SUB_SLIDE   // sliding subobject, use parameter
};
typedef unsigned char mde_sub;

typedef struct mds_subobj {
   char name[8]; // name of subobject
   mde_sub type; // type of subobj rot, or slide
   int parm; // which parameter it uses (can share)
   float min_range; // range of motion
   float max_range; // range of motion
   mxs_trans trans;  // transform to put through after rotation
   short child;      // First child object, if any, -1 if none
   short next;       // next child object in list, -1 if none
   ushort vhot_start;
   ushort vhot_num;
   ushort point_start; // index of starting point
   ushort point_num; // number of points in that subobject
   ushort light_start;  // relative to start of list
   ushort light_num;
   ushort norm_start;   // relative to start of list
   ushort norm_num;
   ushort node_start; // relative to start of list
   ushort node_num;     // just so we know
} mds_subobj;


В поле type характер движения, в min_range и max_range лимиты (юниты или радианы).
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 05 декабря 2018 17:31:26
nemyax
Спасибо, да, это интересно, но я до этого еще не дошел...
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Akven от 18 сентября 2019 10:36:19
Актуальный вопрос. Я сейчас делаю пак ESRGAN текстур для Thief 2 и фикшу уже выпущенный такой же под Thief Gold. Понадобилось проверить прозрачность текстур в оригинальных играх.
Я так понял, просмотрщик не умеет показывать прозрачные текстуры на основе палеты в gif файлах? Гружу в него объекты, которые явно должны иметь прозрачные поверхности в игре - а там чёрные рамки торчат. Ладно хоть png с прозрачностью понимает, о тоже странно.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 18 сентября 2019 11:43:55
Akven
Да, это открытый вопрос, потому как я ещё не до конца решил, как именно буду выводить полупрозрачные фрагменты. Сейчас они тупо выводятся без сортировки, что приводит к странным артефактам отображения. Но вообще, ничего сложного в этом нет, скорее выбор разумного компромисса. Но он близится. Просто до сего момента никто не просил это как-то улучшить или вообще сделать, поэтому фишка была отложена, как не срочная.

А относительно индекса прозрачного цвета в палитре - я предпринимал попытки в лоб не выводить черный цвет, но выглядело это ужасно криво :), кривее чем артефакты сортировки полупрозрачных полигонов, поэтому не стал пускать её в релиз. Но я рад, что необходимость в доработках возникла, ура! :) Значит, будем доделывать!

Относительно прогнозов и объяснений по выпуску обновлений: у меня на работе в начале этого года сменился рабочий режим, в итоге работать приходится очень плотно и времени на свой проект у меня практически не было :(. Изредка удается выкраивать, но это значительно меньше, чем хотелось бы. Очень много времени я потратил на исследования технологий вывода отдельных графических фич. К сожалению, большая их часть оказалась либо бесполезной либо недостаточно правдоподобной, поэтому почти от всех их пришлось отказаться. Но я в значительной степени поднял свой скилл и оптимизировал скорость вывода некоторых эффектов. Сейчас нужно всё собрать воедино, реализовать некоторые ваши "хотелки" и двигаться дальше - к выпуску обновления. Правда, пока сложно делать временнЫе прогнозы, но уже радует, что прогой пользуются и она кому-то нужна. Значит, обновлениям быть! :)
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Akven от 18 сентября 2019 15:06:36
Спасибо за ответ. Я чуть попозже сюда на форум запощу проекты апскейла с помощью ESRGAN первых двух игр, скопирую с TTLG.

https://imgsli.com/NjY3OQ
Вот так viewer выводит прозрачность с оригинальными текстурами и с использованием PNG с прозрачностью.
В оригинале понятное дело то, что должно быть прозрачным, выводится чёрным цветом.

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

Кстати, в просмотрщике есть возможность менять фон с чёрного на другой? Пошуршал в файлах настроек в XMLках - нашёл только цвет меню и шрифтов.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 18 сентября 2019 15:31:10
Akven
ЦитироватьНо для PNG с прозрачностью тоже выводит как-то странно, иногда поверх прозрачной текстуры накладывает чёрный квадрат края текстуры (на картинке правый верхний угол цветка). То есть крутишь модель, и лепестки то прозрачные, то собой заслоняют нижние слои.
Это связано с отсутствием сортировки при выводе прозрачных полигонов.

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

Как и говорил ранее, это необходимо доработать. Подожди новых релизов. Надеюсь, ждать придется недолго.

ЦитироватьКстати, в просмотрщике есть возможность менять фон с чёрного на другой? Пошуршал в файлах настроек в XMLках - нашёл только цвет меню и шрифтов.
Пока нельзя, но я подумывал замутить там смену кубмап.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Akven от 18 сентября 2019 16:59:07
Вроде я примерно понял объяснение) Ладно, подожду. Хотя я чувствую успею до этого времени сам руками прозрачность в файлах выправить. В идеале в первую очередь нужна поддержка прозрачности в gif файлах на основе того цвета, который идёт первым в палитре.
Название: Программа-просмотрщик объектов: требуется помощь программистов!
Отправлено: Force от 01 декабря 2019 00:11:32
Создал тему, посвященную программе Dark Engine Viewer (https://darkfate.org/forum/index.php?topic=6903.0) - просмотрщику объектов для первых двух Thief.