Симулятор пьяного зелёного кубика, почти легендарный симулятор камня! Вокруг кубика можно свободно летать. Написано на с++ и directX10 в процессе активного изучения.
Установка: экзешник вместе с шейдером кидать в корень диска C:\. Просто возникли проблемы с путями, надо будет с этим разобраться. Потом. Описание управления внутри программы. http://rghost.ru/8fwN2fbX5
Если возникнут проблемы, в особенности Device->D3DX10CreateEffectFromFile() Failed, пишите, для того и выкладываю, чтоб про проблемы узнать. Уже узнал, что на линуксе не работает. И что у всех вышеуказанная долбаная ошибка возникает, связанная с путями.
Следующим проектом от пуксуса будет текстурированный и освещённык кубик с возможностью добавлять столько других таких же кубиков, на сколько оперативной памяти хватит. А такая программа каждому в хозяйстве пригодится.
Как я и обещал, кучи освещённых и текстурированных кубиков с возможностью добавлять свои. Предел количеству кубиков - 5000, но эту цифру легко увеличить, подправив лишь пару переменных в программе. Текстуры генерируются <и потому уродливые>. Есть поддержка до 100 динамических источников света. В данном проекте один из них прилеплен к камере.
Установка: разархивировать архив в любом месте, лишь бы шейдер в той же папке был
Следующим проектом от пуксуса будут всё такие же кучи кубиков, но будут также вписаны множество классов наподобие меню, кнопок, текста, ползунков. Менюшки можно будет таскать по экрану, кнопочки будут подсвечиваться и т.д. Таким образом, при нажатии на G вы сможете через эти меню настроить кубик перед его появлением.
Также прошу рассказывать о неизвестных ошибках(к которым не прилагается message box), при каких условиях они возникли, и багах, хотя, наверное, рановато в таком проекте багам появляться.
Сообщение отредактировал puksus - Среда, 01.07.2015, 19:34
А, вот я и сам баг нашёл! При отключении лимита нак фпс снижается скорость вращения камерой. Надо будет и с этим разобраться. Видимо, при таких малых значениях дельта тайм, точность вычислений окончательно к чертям летит.
Сообщение отредактировал puksus - Среда, 01.07.2015, 19:59
gjrfytn, в линуксе у человека не прошло ещё на этапе создания device и swap chain, причём я ещё не начал к тому моменту извращаться с путём. Единственный прописанный мной путь - к шейдер файлу, а до того, как я напрямую прописал c:\, он был относительным и без папок по пути, так что вряд ли.
Впрочем, я почти уверен, что проблема с путями решится легко, а разные дяди здесь будут скачивать и говорить о результатах, ибо сам я определить не могу т.к. у меня всё работает и без извращений.
Я потом ещё почитаю про совместимость с линуксом, а пока не хочу, ибо сейчас вопросы совместимости меня интересуют куда меньше вопросов освещения и текстурирования. А после этих вопросов меня будет интересовать вопрос написания класса CText и класса TextManager
А глюки с камерой, про которые я тебе говорил, заключаются в следующем: если двигать мышь по часовой стрелке, то камера постепенно накреняется влево, чего быть не должно. Видимо, перемножение пяти матриц подряд (3 для поворота по осям и 2 - преобразование системы координат) отрицательно влияет на точность float-а и постепенно ломает вектор up у камеры, что наталкивает на мысль, что оно ломает и оставшиеся 2 вектора. Надо будет написать чё-нибудь, что постоянно восстанавливало бы ортогональность этих векторов и стремилось максимально выровнять вектор up. Ну либо я вообще не на то умножаю, но не похоже на то, это было бы сильно заметно, а тут просто какие-то мелкие артефакты.
Идея выставлять вектор up вертикально вверх, как делает один добрый дядя в кое-какой книжке, мне не нравится т.к. тогда невозможно будет камеру накренить, а также будет происходить весёлая вещь при попытке смотреть в небо или в землю под углом >180 градусов. Короче, эффект полёта вниз головой с обрыва будет недостижимым. А раз так, то приходится возиться с системами координат и вспоминать алгебру).
Сообщение отредактировал puksus - Четверг, 02.07.2015, 00:35
Sfabrikan, ну у одного чувака игрушки прут, не знаю, почему. У него линукс. Вот я и подумал, что тут хитрости всякие могут быть. Про directX знаю. Если дойдёт до совместимости, буду писать дополнительный opengl рендер.
Сообщение отредактировал puksus - Четверг, 02.07.2015, 11:55
Обновил. Замеченный глюк: самый первый кубик постоянно меняет текстуру при добавлении новых, почему - пока не знаю. Второй глюк - похоже, у кубов точки образования ржавчины расположены одинаково. Ну это из-за колдовства с рандомными числами, исправить легко.
Сообщение отредактировал puksus - Понедельник, 13.07.2015, 20:00
Да уж, пуксус есть тварюга абсолютно ленивая, бессовестная и долбанутая, но, в конце концов, я сделал какую-то годную музяку, во: http://rghost.ru/8DjGbLrCJ Ах да, скажу сам себе, ибо всем пофиг - проект застрял из-за нехрима и книжки игры престолов, хи-хик. Ну ничего, мне уже оба надоели)
Сообщение отредактировал puksus - Воскресенье, 30.08.2015, 02:23