Home
LiveJournal for rvp74.

View:User Info.
View:Friends.
View:Calendar.
View:Memories.
You're looking at the latest 20 entries. Missed some entries? Then simply jump back 20 entries.

Wednesday, November 25th, 2009

Subject:мотивирование
Time:8:06 pm.
Знаю, что хороший менеджер должен удабривать почву для хорошей мотивации подчиненных, но когда я заглядываю в чужой код мне сразу хочется ругаться и тогда я сразу превращаюсь в отличный демотиватор.
Comments: Read 5 or Add Your Own.

Subject:qmake vs Visual Studio
Time:1:54 pm.
Подсел на qmake. Так удобно генерировать вижуал проекты из .pro что уже не создаю проекты в студии с помощью 'New Project'.
Особенно удобно указывать перечень того, что нужно диплоить на устройство: Указал все дерево и готово. Не нужно каждый файл отдельно указывать.
Comments: Add Your Own.

Sunday, October 18th, 2009

Subject:HTC - хроника боев
Time:11:23 pm.
Не так давно не работал 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

Subject:wm6 и подземные стуки
Time:2:02 pm.
С этим винмобайлом свихнуться можно. Запускаю приложение под эмулятором с wm6 - запускается.
Запускаю на телефоне с wm6.1 - говорит что приложение не является допустимым приложением для Pocket PC.
Сил не осталось бороться с этой хренью.
Comments: Add Your Own.

Thursday, October 15th, 2009

Subject:легковесные XML парсеры (DOM)
Time:6:12 pm.
Сегодня явно не мой день. Попробовал две либы RapidXML и pugiXML под WinCE.
Результат в обоих случаях одинаковый: При входе в функцию, где объявлен локальный объект для xml документа, приложение сразу завершается с одним и тем же кодом завершения 0xc00000fd. Даже не доходит до создания объекта.

Грешу на глюки компилятора VC2008 для ARM связанные с генерацией кода инициализации статических объектов в недрах используемых шаблонов. Потому как под intel все работает.
Comments: Read 1 or Add Your Own.

Tuesday, September 1st, 2009

Subject:audasity
Time:3:24 pm.
Сегодня меня порадовал 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

Subject:freeglut|es на HTC
Time:8:08 pm.
Ура, починил freeglut|es теперь он не только не вешает напрочь телефон HTC Touch Diamond2, но даже как-то работает!
Багов в нем как минимум три-четыре пришлось исправить. Да таких, что удивляюсь как он вообще работал на других телефонах, в том числе и на эмуляторе. А HTC не любит небрежного отношения по части opengl: шаг влево, шаг вправо - попытка к бегству - зависон.
Comments: Add Your Own.

Sunday, August 2nd, 2009

Subject:продвижение blender
Time:8:41 am.
В текущем проекте использую блендер для дизайна приборной панели и генерации конфига для приложения.
В качестве побочного эффекта получается приобщение заказчика к blender3d :)
Comments: Read 4 or Add Your Own.

Friday, July 31st, 2009

Subject:особенности отладки opengl es приложения на HTC Touch Diamond 2
Time:8:38 pm.
Mood: annoyed.

У меня нет слов: после повторного запуска приложения: либо TouchFlo 3D подвиснет, либо студия.
Задолбался ресетить.

Update
:
Разбор полетов показал следующее: если вызвать glViewPort (и возможно любую другую gl функцию) до инициализации EGL,
то в дровах opengl срывает крышу. После чего ни одно opengl приложение уже не может работать (если быть точнее - после повторного запуска неправильного opengl приложения).  А поскольку основная оболочка (touchFlo 3D) в HTC использует OpenGL, то она просто виснет (зацикливается в динамической либе opengl). После этого остается только перезапустить мобилу.
Comments: Add Your Own.

Saturday, July 4th, 2009

Subject:нелинейный crossfade
Time:9:12 pm.
Неудовлетворившись линейным кроссфейдингом реализовал нелинейный (с использованием косинуса).
Угрохал кучу сил чтобы он мог работать в real-time на эмуляторе ARM. А в результате, я не увидел разницы на слух с линейным вариантом. :)
Comments: Add Your Own.

Monday, June 29th, 2009

Subject:safari под убунту
Time:12:25 pm.
Предпочел поставить виндовый Сафари под Ubuntu, чем apache под винду. :)
Вариант поставить Хакинтош пока не рассматривается.
Comments: Add Your Own.

Subject:на каком языке гуглить
Time:10:33 am.
Чтобы съэкономить время, при поиске в гугле я использую английские ключевые слова.
Не помню когда я последний раз использовал для тех же целей - русские слова.
Все-таки англоязычный пласт интернета побогаче будет рунета, я так думаю.
Comments: Add Your Own.

Saturday, June 27th, 2009

Subject:бизнес по Яблочному
Time:11:20 am.
Что может быть хуже политики 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

Subject:Погрешность задержки и точность таймеров в Win32
Time:3:49 pm.
Парадокс: измеряю погрешность в эмуляторе Windows Mobile что под Вистой работает и в самой Висте.
В эмуляторе погрешность 1мсек, в Висте - 15мсек.
Любопытен комментарий коллеги по этому поводу: "значит WinCE система реального времени" в отличии от десктопного варианта. Казалось бы все ничего в этом утверждении, но забывается одно: эта меньшая погрешность обеспечивается все в той же висте (эмулятор то запущен в ней!)
Comments: Add Your Own.

Friday, June 19th, 2009

Subject:Win mobile, приоритеты, и привелегии процесса
Time:12:30 pm.
Только что завесил Win mobile так что даже soft reset не работал.
И все благодаря багу в своей проге:
вызываю WaitSingleObject(event, 0) вместо WaitSingleObject(event, INFINITE) в треде с с приоритетом THREAD_PRIORITY_TIME_CRITICAL.

Ну блин. Разве для таких задач не предусмотрены отдельные полномочия для запуска (root например)?
А то ведь обычный процесс без привелегий может заблокировать всю OS.
Comments: Add Your Own.

Wednesday, June 17th, 2009

Subject:n причин ненавидеть iTune
Time:9:31 am.
Он любит себя ставить по дефолту при запуске wav файлов.
Он долго грузиться при этом.
Он долго выгружается когда его убивают.
Он убивается не с первого раза когда нажимаю на "крестик".
Не всегда корректно завершается и остается в памяти после убивания.
Он продолжает играть следующие песни (даже когда окошко закрылось а он продолжает сидеть в памяти).
Comments: Add Your Own.

Sunday, May 24th, 2009

Subject:анаглиф
Time:11:01 am.
Ура, я вчера нашел в детском отделе книжку с анаглифными стерео-очками. :)
Вчера же (еще до покупки) изготовил свою первую анаглифную фотографию. Удачно получилось, надо сказать. Глубина чувствуется. Даже удивился что этот первый "блин" не был комом. :)

И кстати, я нахожу обработку фотографий в Blender (через Node Editor) весьма удобной (я даже не стал ради этого использовать GIMP).
Конечно, можно было использовать Python вместе с пакетом Image. Но мне хотелось еще и приобрести опыт использования Node редактора в blender'е.


PS: нашел в инете анаглифную эротику. Вау! Как будто рядом находятся когда просматриваю фото.
Comments: Read 3 or Add Your Own.

Saturday, May 2nd, 2009

Subject:2d filter в Блендере
Time:10:15 am.
Как-то не заметил появления в блендере нового актуатора: 2d filter. Вот его и использует демка Bath room demo (Custom filter, using GLSL). Посмотрел как устроен DoF шейдер. Все довольно предсказуемо и так как я его и представлял. Удивила, правда, выборка для суммирования. Она происходит с определенным шагом. Что вносит своебразный артефакт, (заметно если уменьшить границы суммирования/размытия (переменная tap))

Еще узнал что 2d filter actuator был интегрирован в блендер одним молодым иранцем.
Comments: Add Your Own.

Friday, May 1st, 2009

Subject:DOF эффект и Blender
Time:8:12 pm.
Ура, разобрался как использовать Node Editor в Блендере, чтобы съимитировать эффект глубины. В туториале размытость нарастает в одном направлении. Модернизировал обработку, чтобы размытость нарастала в двух направлениях от определенного расстояния от камеры.

Осталось разобраться с DOF для BGE. (буду изучать Bath демку)
Comments: Add Your Own.

Tuesday, April 28th, 2009

Subject:декларативное программирование на GPU
Time:7:04 pm.
В доке по 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.

Advertisement

LiveJournal for rvp74.

View:User Info.
View:Friends.
View:Calendar.
View:Memories.
You're looking at the latest 20 entries. Missed some entries? Then simply jump back 20 entries.