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

    

[+] подключил к проекту freetype
[+] сделал генерацию текстурных шрифтов
[*] окончательно допилил лог, файловую систему.
[+] поел пельменей
[+] добавил врапперы текстуры и вершинного буфера, свои классы потоков.

На очереди загрузка и рендеринг объектов с дефолтным шейдером и сценеграф трансформаций.


Вот пример - кусок текстуры шрифта, сгенеренный в рантайме моим движком, используя мего библиотеку freetype




Кстати, большое спасибо Andrey, Sergio, FDsagizi, Wolshebnik за помощь в раскуривании С++ и графике!!

суббота, 20 ноября 2010 г.

WIP news

Да пошёл он в жопу этот C#. К чертям блин! Заипал совсем. Кроссплатформенности нет, сцуко, тянет НЕРЕАЛЬНОГО размера фреймворки, тупит на массивных вычислениях и главное - тысяча дроидов, ОПЯТЬ жопа с компилляцией убер-шейдеров!! Арррр. Опять если много шейдеров компилить, то чем больше компилится тем КРИВЕЕ они компилятся. Если после компилляции каждого шейдера вызывать ещё какие-нибудь функции компилера, например препроцессинг убер-шейдера БЕЗ последующей компилляции то ещё несколько шейдеров компилятся нормально а потом опять задница.
Да, блин, конечно, это не вина КОНКРЕТНО C#, это вина кривого SlimDX (я не просто уверен, я знаю что я НЕ накосячил на этот раз). Но блин. Ну нету ни какой другой альтернативы для C#! MDX помер давно, XNA - гори в аду. ПРОСТО обёртки над DX11 нету - вот в этом и проблема C#, под него нихрена нету кто бы что не говорил (по сравнению с С/С++). Да и пошло оно всё лесом! Буду писать только на С++.

Собсно теперь C# так сказать "движок" - в топку. Пусть себе пылится. Может немного позже отдам кому-нибудь, пусть мучаются ))


1. Добавил свою виртуальную файловую систему
2. Написал content provider для ZIP архивов. Можно читать/писать файлы в ZIP архивах впринципе даже не зная, что работа идёт собсно с архивом. У каждого провайдера контента общий интерфейс, который и используется юзером.

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

IZipFileContentProvider prov(_text("C:\\Users\\L\\Desktop\\TextNEW.zip"));

IFile* file2 = prov.getFileSystem()->GetRootFolder()->NewFile(_text("OLOLOTEST.txt"));
IDataStream* stmWrite = file2->OpenWrite(FM_OPEN_OR_CREATE);
char data[] = {'1', '2', '7', '8', '8', 'A', 'A', 0};

stmWrite->Write(data, 7);
file2->Close();

вот собсно и всё ) Не нравится?? о_О А мне пофиг! : D Мне нравится.

Пофиксил работу со строками. Теперь движок полностью поддерживает юникод. Multi-byte character set не стал юзать Да и вообще это НАСТРОЙКА в студии. Полагаться только на настройки - FAIL, когда речь идёт о кроссплатформенности ИМХО.

Кстати посмотрел "пилу 7" только что - таки доставила. По сравнению со скайлайном - куда лучше.


p.s. http://news.softodrom.ru/ap/b8078.shtml ^____^