|
|
Wednesday, November 25th, 2009
|
|
|
|
Знаю, что хороший менеджер должен удабривать почву для хорошей мотивации подчиненных, но когда я заглядываю в чужой код мне сразу хочется ругаться и тогда я сразу превращаюсь в отличный демотиватор.
|
|
Comments: Read 5 or Add Your Own.
|
|
|
Подсел на qmake. Так удобно генерировать вижуал проекты из .pro что уже не создаю проекты в студии с помощью 'New Project'. Особенно удобно указывать перечень того, что нужно диплоить на устройство: Указал все дерево и готово. Не нужно каждый файл отдельно указывать.
|
|
Comments: Add Your Own.
|
|
Sunday, October 18th, 2009
|
|
|
Не так давно не работал opengl es c glut|es на HTC touch diamond2. Тогда я подправил код glut|es и он заработал с глюкавыми htc'ишными дровами opengl es. И хотя он тогда запускался, на n-запуск дрова все равно портились до полной неюзабельности. Поэтому glut был заменен самопальной эмуляцией glut, которая работала как надо на HTC.
Теперь надо двигаться дальше и переходить к сложному gui. Для этих целей Qt подходит замечательно. Но есть одно НО. Его тоже надо учить работать с кривыми дровами HTC. Два выходных дня угробил только чтобы приложение запускалось на телефоне. Причиной невозможности запуска оказалось несовместимость реализации EGL на телефоне с версией 1.1. Qt в целях рендеринга в текстуру использует специфичные для версии 1.1 функции. Дамп dll на телефоне показал, что авторы дров opengl es не реализовали две функции из EGL 1.1, которые использует Qt. Это eglBindTexImage и eglReleaseTexImage. Пришлось хакать egl.h, комментируя те дефайны, по которым включаются блоки кода с вызовом этих функций. После пересборки QtOpenGL4.dll программы наконец-то стали загружаться в телефон. Но работать они все равно не стали. Причина похоже та же что и в случае с glut - не инициализируется EGL.
По крайней мере я теперь могу в отладчике отследить как выбирается конфиг и есть надежда исправить положение.
|
|
Comments: Add Your Own.
|
|
Saturday, October 17th, 2009
|
|
|
С этим винмобайлом свихнуться можно. Запускаю приложение под эмулятором с wm6 - запускается. Запускаю на телефоне с wm6.1 - говорит что приложение не является допустимым приложением для Pocket PC. Сил не осталось бороться с этой хренью.
|
|
Comments: Add Your Own.
|
|
Thursday, October 15th, 2009
|
|
|
Сегодня явно не мой день. Попробовал две либы RapidXML и pugiXML под WinCE. Результат в обоих случаях одинаковый: При входе в функцию, где объявлен локальный объект для xml документа, приложение сразу завершается с одним и тем же кодом завершения 0xc00000fd. Даже не доходит до создания объекта.
Грешу на глюки компилятора VC2008 для ARM связанные с генерацией кода инициализации статических объектов в недрах используемых шаблонов. Потому как под intel все работает.
|
|
Comments: Read 1 or Add Your Own.
|
|
Tuesday, September 1st, 2009
|
|
|
Сегодня меня порадовал audasity: полез смотреть какие у него есть скрипты (ну чтоб иметь представления как свои писать)
и вот что обнаружил:
;name "Cross Fade Out" ;action "Cross-Fading Out..." (mult s (diff (const 1) (mult (ramp 1) (ramp 1))))
Да это же встроенный в лисп декларативный язык в котором звук является first-class value
Респект разработчикам.
|
|
Comments: Add Your Own.
|
|
Friday, August 14th, 2009
|
|
|
Ура, починил freeglut|es теперь он не только не вешает напрочь телефон HTC Touch Diamond2, но даже как-то работает! Багов в нем как минимум три-четыре пришлось исправить. Да таких, что удивляюсь как он вообще работал на других телефонах, в том числе и на эмуляторе. А HTC не любит небрежного отношения по части opengl: шаг влево, шаг вправо - попытка к бегству - зависон.
|
|
Comments: Add Your Own.
|
|
|
В текущем проекте использую блендер для дизайна приборной панели и генерации конфига для приложения. В качестве побочного эффекта получается приобщение заказчика к blender3d :)
|
|
Comments: Read 4 or Add Your Own.
|
|
|
У меня нет слов: после повторного запуска приложения: либо TouchFlo 3D подвиснет, либо студия. Задолбался ресетить.
Update: Разбор полетов показал следующее: если вызвать glViewPort (и возможно любую другую gl функцию) до инициализации EGL, то в дровах opengl срывает крышу. После чего ни одно opengl приложение уже не может работать (если быть точнее - после повторного запуска неправильного opengl приложения). А поскольку основная оболочка (touchFlo 3D) в HTC использует OpenGL, то она просто виснет (зацикливается в динамической либе opengl). После этого остается только перезапустить мобилу.
|
|
Comments: Add Your Own.
|
|
|
Неудовлетворившись линейным кроссфейдингом реализовал нелинейный (с использованием косинуса). Угрохал кучу сил чтобы он мог работать в real-time на эмуляторе ARM. А в результате, я не увидел разницы на слух с линейным вариантом. :)
|
|
Comments: Add Your Own.
|
|
|
Предпочел поставить виндовый Сафари под Ubuntu, чем apache под винду. :) Вариант поставить Хакинтош пока не рассматривается.
|
|
Comments: Add Your Own.
|
|
|
Чтобы съэкономить время, при поиске в гугле я использую английские ключевые слова. Не помню когда я последний раз использовал для тех же целей - русские слова. Все-таки англоязычный пласт интернета побогаче будет рунета, я так думаю.
|
|
Comments: Add Your Own.
|
|
Saturday, June 27th, 2009
|
|
|
Что может быть хуже политики Microsoft? Политика Apple.
"...you won't have to jailbreak your phone to enjoy third-party applications. Apple on Monday (2008 год - прим. мое) announced its upcoming App Store, which will be available in 62 countries, making it easier for developers to sell their applications to iPhone and iPod Touch users everywhere.
Developers will be able to set the prices on their creations, but will have to share 30 percent of each sale with Apple."
30 процентов Яблочникам с продаж своих разработок! Нет. Все-таки разблокированные (jailbreak) iPhone'ы лучше.
|
|
Comments: Read 2 or Add Your Own.
|
|
Wednesday, June 24th, 2009
|
|
|
Парадокс: измеряю погрешность в эмуляторе Windows Mobile что под Вистой работает и в самой Висте. В эмуляторе погрешность 1мсек, в Висте - 15мсек. Любопытен комментарий коллеги по этому поводу: "значит WinCE система реального времени" в отличии от десктопного варианта. Казалось бы все ничего в этом утверждении, но забывается одно: эта меньшая погрешность обеспечивается все в той же висте (эмулятор то запущен в ней!)
|
|
Comments: Add Your Own.
|
|
|
Только что завесил Win mobile так что даже soft reset не работал. И все благодаря багу в своей проге: вызываю WaitSingleObject(event, 0) вместо WaitSingleObject(event, INFINITE) в треде с с приоритетом THREAD_PRIORITY_TIME_CRITICAL.
Ну блин. Разве для таких задач не предусмотрены отдельные полномочия для запуска (root например)? А то ведь обычный процесс без привелегий может заблокировать всю OS.
|
|
Comments: Add Your Own.
|
|
Wednesday, June 17th, 2009
|
|
|
Он любит себя ставить по дефолту при запуске wav файлов. Он долго грузиться при этом. Он долго выгружается когда его убивают. Он убивается не с первого раза когда нажимаю на "крестик". Не всегда корректно завершается и остается в памяти после убивания. Он продолжает играть следующие песни (даже когда окошко закрылось а он продолжает сидеть в памяти).
|
|
Comments: Add Your Own.
|
|
|
Ура, я вчера нашел в детском отделе книжку с анаглифными стерео-очками. :) Вчера же (еще до покупки) изготовил свою первую анаглифную фотографию. Удачно получилось, надо сказать. Глубина чувствуется. Даже удивился что этот первый "блин" не был комом. :)
И кстати, я нахожу обработку фотографий в Blender (через Node Editor) весьма удобной (я даже не стал ради этого использовать GIMP). Конечно, можно было использовать Python вместе с пакетом Image. Но мне хотелось еще и приобрести опыт использования Node редактора в blender'е.
PS: нашел в инете анаглифную эротику. Вау! Как будто рядом находятся когда просматриваю фото.
|
|
Comments: Read 3 or Add Your Own.
|
|
|
Как-то не заметил появления в блендере нового актуатора: 2d filter. Вот его и использует демка Bath room demo (Custom filter, using GLSL). Посмотрел как устроен DoF шейдер. Все довольно предсказуемо и так как я его и представлял. Удивила, правда, выборка для суммирования. Она происходит с определенным шагом. Что вносит своебразный артефакт, (заметно если уменьшить границы суммирования/размытия (переменная tap))
Еще узнал что 2d filter actuator был интегрирован в блендер одним молодым иранцем.
|
|
Comments: Add Your Own.
|
|
|
Ура, разобрался как использовать Node Editor в Блендере, чтобы съимитировать эффект глубины. В туториале размытость нарастает в одном направлении. Модернизировал обработку, чтобы размытость нарастала в двух направлениях от определенного расстояния от камеры.
Осталось разобраться с DOF для BGE. (буду изучать Bath демку)
|
|
Comments: Add Your Own.
|
|
Tuesday, April 28th, 2009
|
|
|
В доке по pyCUDA нашел интересный пример:
import pycuda.gpuarray as gpuarray
import pycuda.driver as cuda
import pycuda.autoinit
import numpy
a_gpu = gpuarray.to_gpu(numpy.random.randn(4,4).astype(numpy.float32))
a_doubled = (2*a_gpu).get()
print a_doubled
print a_gpu
В нем массив умножается на 2. (вычисления происходят на GPU). Но что интересно, операция задается в декларативной форме: 2*a_gpu
|
|
Comments: Add Your Own.
|
|
|