0. НАКОНЕЦ-ТО руки дошли сделать frustum clipping! 🙂 Теперь всё рендерится абсолютно корректно. Клиппинг производится в 4D clip space по 7 плоскостям.
1. Пофиксены различные баги
2. Проект перенесён в IDE QtCreator и портирован под линукс, в котором и идёт разработка.
3. Дописан класс окна под линукс и класс таймера.
4. Добавлена простая система ввода (2 класса)
5. Добавлена поддержка индексированной геометрии (собсно ради кеша и памяти)
6. Добавлен вершинный кеш в пайплайн растеризатора!Теперь если вершина лежит в кеше, то оттуда она и берётся и не трансформируется снова и снова ) Красота.
7. Добавлен альфа-тест и туман, введён FFP режим билда (когда шейдерные фичи блокируются и включаются FFP, ещё добавил Ambient освещение (включение, цвет).
8. Пофиксил семплинг текстур и прикрутил его в FFP режим.
Ну и перенёс разработку на Bitbucket.org ! Под Mercurial. Очень радует своей отличной работой, всё клёво. Репозиторий общедоступен, но я не оставлю здесь на него ссылку, т.к. там сейчас дичайший говнокод и смотреть его нет смысла, как и юзать, ибо там ещё и FPS пока никакущий.
Давно не занимался софтрендерами, оч радует пока )
Всё уже решено – выбран проект, который будет мною реализовываться на моём же движке.
Это будет почти “RPG”, онлайн, возможно в будущем ММО даже. Но не сначала.
Но это не совсем игра, это будет симулятор! Симулятор того, чего человечество ещё не совершало. Надеюсь, это будет настолько же эпично, насколько оно сейчас в моих планах.
Информации о проекте в ближайшее время поступать от меня не будет, тема, сеттинг и т.п. -временно в тайне.
(список буду обновлять по возможностям)
1. Бут девайса по сети! (gumstix network booting)
а. Девайс грузится, однако доходит до определённого момента:
идём в рутовую файловую систему gumstix-а в папку /etc/init.d/ и открываем файл для редактирования NetworkNamager. В самом начале файла дописываем exit 0
Таким образом NetworkNamager не сможет запуститься и даст вам возможность загрузить наконец linux. Дальше уже можно прям из под линукса настроить как надо NetworkManager )
На самом деле тут по-сути ничего такого сложного. Но дойти до этого было не совсем просто – необходимо было реализовать уйму визуально невидимых фич ) Что я и сделал, собственно.
Теперь надо уже добавлять функционал узлов и радоваться новому редактору! Ах да, и сделать ему нормальный интерфейс (этот же – просто тестовый, не более).
Медленно, но верно…
То времени нет, то нет времени! Писец. Теперь практически некогда заниматься движком ( А если и находится время, то уже ничего тогда не хочется ))
Но потихоньку таки пилю движок дальше, а точнее GUI D:
Ввёл понятия “свойства” и “аттрибуты” в движок, переписал чать GUI, кторая работала мягко говоря отвратно, добавил класс PropertyGrid(!), которому и посвящается сей пост.
PropertyGrid в зачаточном состоянии, но уже работает. Хоть как-то…. Добавил его и понятие “редакторов свойств”. Теперь при клике на свойство текстурной ноды открывается диалог открытия файлов (свой собственный, который умеет просматривать мою виртуальную файловую систему), можно выбрать файл и текстура в текстурной ноде мгновенно перезагрузится (и теперь появился вывод текстур внутри нод графа). Пилю дальше…