среда, 5 декабря 2012 г.

STM32VLDISCOVERY

А сегодня я ещё приобрёл забавный борд - STM32VLDISCOVERY.  На борту у неё 32 разрядный ARM контроллер STM32F100RB, Cortex™-M3, 24 MHz, 128 Kbytes of Flash,
8 Kbytes of SRAM.

Куча пинов выведено наружу, что меня дико радует ) Можно очень дофига всего прицепить! Доволен покупкой, сейчас займусь изучением )




Raspberry Pi

А я вот приобрёл эту штуковину.  Оказалость, что тут питание подаётся через micro USB, которого у меня нет. Вот фейл (   Придётся БП покупать и кабель : \  А так вообще система радует - 700 MHz CPU, 512 MB RAM, HW 3D (OGL ES 2.0), совсем неплохо )




воскресенье, 11 ноября 2012 г.

Керамический нож

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

Приобрёл вот такой недорогой вариант:




Нож оказался весьма качественным, не просвечивается (хорошо закалён), сколов на режущей кромке нет. Режет вообще шикарно - нарезал всё что лежало в радиусе метра от меня :D  Весьма забавная штуковина. 

пятница, 26 октября 2012 г.

Softrender: апдейт

Немножко оптимизировал, добавил класс Mesh, сделал генератор "ландшафта" из карты высот.

Пока FPS не супер, но уже что-то.  На скрине 3200 полигонов


понедельник, 15 октября 2012 г.

Softrender: update

Посидел немного над софтрендером и таки привёл его в юзабельный вид )

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 пока никакущий.


четверг, 11 октября 2012 г.

Software rendering:continued

Один друг попросил допилить мой софтварный 3D рендерер на С++ чтобы написать на нём игру.  Собсно в свободное время сейчас этим и занимаюсь. Ну наконец-то я прикрутил клипинг полигонов моим растеризатором по фрустуму в Clipping Space-е.  Всё работает шикарно )  Давно там есть шейдеры, но другу они как-то оказались наоборот не нужны. Вркучиваю и подобие FFP : )

Давно не занимался софтрендерами, оч радует пока )

суббота, 11 августа 2012 г.

Проект #2

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

среда, 8 августа 2012 г.

Проект

После долгих раздумий остановился на одном варианте.

Всё уже решено - выбран проект, который будет мною реализовываться на моём же движке.
Это будет почти "RPG", онлайн, возможно в будущем ММО даже. Но не сначала.

Но это не совсем игра, это будет симулятор! Симулятор того, чего человечество ещё не совершало.  Надеюсь, это будет настолько же эпично, насколько оно сейчас в моих планах.

Информации о проекте в ближайшее время поступать от меня не будет, тема, сеттинг и т.п.  -временно в тайне.

среда, 20 июня 2012 г.

gumstix и секс мозга при буте с NFS

Недавно занялся разработкой одного интересного драйвера под  gumstix-ы и первое, что мне понадобилось - собсно, загрузить сам gumstix,  точнее загрузить в него linux )

№;%:?*()(:%%:;№;:?*(?)(*;№:№;(_(№*;:;"(№_"(*):?;%№!!!!!!!!!!!!


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

(список буду обновлять по возможностям)

1.  Бут девайса по сети! (gumstix network booting)
Такой режим загрузки необходим при активном девелопинге под gumstix, особенно если это драйвер (простые проги можно собирать прямо на самом gumstix-е).  Собрал драйвер, закинул в rootfs, нажал reset на gumstix-е и чотко же, он мгновенно подтягивает пропатченный линукс.

Проблемы:
а. Девайс грузится, однако доходит до определённого момента:
Starting Network connection manager daemon: NetworkManager.
nfs: server 192.168.xxx.xxx not responding, still trying

Собсно, nfs сервер и не должен тут отвечать! Почему? Ды первая строка и объясняет - запускается  NetworkManager и перенастраивает сеть (а изначально настройки задаются в параметрах окружения загрузчика uBoot)! После чего nfs благополучно отваливается.  Для того, чтобы просто запустить линукс, можно сделать такой хак, какой я додумал (да, я не линуксоид и мне сложновато было допереть где тут что):

идём в рутовую файловую систему gumstix-а в папку /etc/init.d/ и открываем файл для редактирования   NetworkNamager.  В самом начале файла дописываем exit 0 


Таким образом  NetworkNamager не сможет запуститься и даст вам возможность загрузить наконец linux.  Дальше уже можно прям из под линукса настроить как надо NetworkManager ) 

четверг, 17 мая 2012 г.

Редактор материалов.

Заснял коротенькое видео.  Тут добавлена новая нода Lerp и константы, в следствие чего смог замутить такой материал:




воскресенье, 13 мая 2012 г.


Новая нода - DecodeNormal.   Теперь работает нормалмаппинг )  Пилю дальше.

четверг, 10 мая 2012 г.

Оно взлетело!


Вот )  Теперь никакого фейка больше нет - он выпилен.  Реально граф компилируется в 2 шейдера (вершинный и фрагментный), собирается материал и всё это применяется на объект в предпросмотре в реальном времени.

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

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

Медленно, но верно...

воскресенье, 6 мая 2012 г.

Пилю движок дальше.

То времени нет, то нет времени!  Писец.  Теперь практически некогда заниматься движком ( А если и находится время, то уже ничего тогда не хочется ))

Но потихоньку таки пилю движок дальше, а точнее GUI   D:

Ввёл понятия "свойства" и "аттрибуты" в движок, переписал чать GUI, кторая работала мягко говоря отвратно, добавил класс PropertyGrid(!), которому и посвящается сей пост.

PropertyGrid в зачаточном состоянии, но уже работает.  Хоть как-то....  Добавил его и понятие "редакторов свойств".   Теперь при клике на свойство текстурной ноды  открывается диалог открытия файлов (свой собственный, который умеет просматривать мою виртуальную файловую систему), можно выбрать файл и текстура в текстурной ноде мгновенно  перезагрузится (и теперь появился вывод текстур внутри нод графа).  Пилю дальше...


пятница, 6 апреля 2012 г.

А я в Воронеже

Таки свершилось! И я, собственно, переехал )

Ни чуть не жалею о содеянном )  Личная жизнь +100500 ,  устроился сразу на работу, познал написание  драйверов для windows, начал жить как человек. В общем всё супер ) Надеюсь так дальше и будет продолжаться. Hell yeah!

четверг, 1 марта 2012 г.

GUI vs Лень (?) Хотя.. не лень.


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

1. Фрагментный и вершинный шейдеры генерятся из графа.
2. Доступны вон несколько узлов шейдера (справа на скрине список), остальные по мере необходимости добавлю.
3. Нуэ, менюхи добавил. Хоть и страшные, но мне всё равно.



вторник, 7 февраля 2012 г.

DX11 HLSL PathTracer

Картинка кликабельна.

For fun попробовал написать очень простой PathTracer прямо внутри HLSL шейдера для DX11

Нуэ, сферки и плоскости трассировать - задача достаточно тривиальная, с ней я, собсно, и справился : )

Вот ссылка на демку:  http://l-proger.narod.ru/pathtracer_l.rar

Управление:   только клавиша ПРОБЕЛ.  Нажал - камера начала крутиться, ещё раз начал - перестала.   Чем дольше камера будет находиться в статичном положении, тем качественней будет становится картинка на экране : )

Может потом фракталы прикручу, пока лень.

понедельник, 16 января 2012 г.

GUI v6


Добавил Slider, ProgressBar, ComboBox, Edit.   Добавил потоковое воспроизведение музыки и контроль позиции воспроизведения дорожки слайдером.

UPD:  ах да, ещё добавил тайлинг атласа :)

суббота, 7 января 2012 г.

GUI v5

Прикрутил TreeView контрол


пятница, 6 января 2012 г.

GUI v4



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

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

Теперь вроде всё ок. Скроллится, двигается, нажимается...  Только скин надо на XML перенести, а то пока не совсем гибко : \

четверг, 5 января 2012 г.

GUI v3


Собсно,  добавил TabControl.  Вроде ОК, только рамку надо нормальную сделать.

среда, 4 января 2012 г.

GUI v2

Блин!  Как задрал этот GUI уже!

Но написать надо! Ведь использование готового - не есть путь для настоящих джедаев (дада, напишу потом компилер, ОС, комп спаяю, генератор энергии сооружу и т.п.)

Итак, что изменилось:

1. Ололош, внутри опять всё переписал, на этот раз  намного чётче!  GUI теперь может хендлить разные виды топологии геометрии  (юзаю  для линий)
2. GUI теперь поддерживает рендеринг сплайнов!  Юхуу!
3. ДОБАВИЛ НАКОНЕЦ Drag & Drop !!  Вон на скрине у нодов есть синие хреньки - прямоугольники!  Просто наживаем мышей на один и перетягиваем на другой, отпускаем мышь иии..БАЦ )  Сплайном соединились!   Чотко же! = )




Осталось сделать удаление связей  (и дохрена контролов типа TabControl ).   WTF! Уже 4:25!!!!!!!    Ушёл спать, срочно!