воскресенье, 31 мая 2009 г.

Первые дни

Ну вот я и в Киеве. Зашёл в Интернет-клуб (соскучился за он-лайном), решил черкануть пару строк в блог.

Спальные районы Оболони разочаровывают, унылые, как и во всех других городах нашей незалежной Украины. Многие ходят кто в чём, некоторые чуть ли не в обносках, я как-то представлял себе, что если у столичных жителей доходы поболее, чем у провинциальных, то и одеваться они должны соответствующим образом. Ан-нет (а может и жизнь в столице не сахар?).

Снимаю пока комнатку на Приозёрной, телека нет, да и вообще... 1К грн., за свет/воду платить не надо. Зато от работы 10 минут хода, это лучшее что можно желать - не надо с утра бежать на автобус, потом пересаживаться на метро, спускаться-подниматься на эскалаторе.

Вчера ходил на "Ангелы и Демоны" в мультиплекс. Как и ожидал, треш - сплошная беготня и идиотские, нелепые для простого обывателя догадки "профессоре" Лэнгдола о некоем "пути" к иллюминатам. Ну да зато посмотрел на улицы Рима и Ватикана, на капеллы, на статуи... Теперь ближайший поход в кино - в следующую субботу, на "Спасите Терминатора" :).

Завтра первый день в Вогстере, посмотрим, что у них там за жизнь.

среда, 27 мая 2009 г.

Киев

После вынужденного бездействия окончательно понял, что пора уезжать из деревни под названием Кривой Рог и искать работу C++ программиста либо в столице, либо в крупном областном центре. В Днепропетровске меня отфуболил шеф одной конторы (я к ним вообще не просился, сами нашли, зря только ездил и проходил собеседование), хотя тамошние ребята, как мне показалось, остались мною довольны.

В итоге устроился в Киевское подразделение компании Vogster Entertainment (центральный офис в NY, есть подразделение в Москве). Вообще-то удача, особенно после того, как я стал понимать что наша индустрия патологически не желает набирать сотрудников без реального опыта работы. Т. е. получается, что разные компании просто тусуют кадры между собой, и свежие вливания людей в индустрию невозможны. Стоит ли говорить, что если ты родился в таком захолустье как Кривой Рог, то шансы получить работу в IT практически нулевые? HR всё равно, что ты напишешь в резюме о своих способностях, она фильтрует всех, у кого нет опыта работы в какой-либо компании. В общем, замкнутый круг. Единственное, что мне, наверное, помогло - хорошо составленное резюме, с фотографией. Делая его, я скачал штук 40 разных cv.pdf на английском, чтобы понять, как правильно сделать собственное. И в резюме я не врал, у меня всё по-честному, пускай и коротко :)

Телефонное собеседование, потом личное (OMG, думал завалят!), решение о испытательном сроке на 3 месяца, оформление разных бумажек (тут я не буду вдаваться в подробности, как работает Vogster), поиск квартиры (пока буду снимать комнату, чёрт с квартирой, дорого для человека из провинции), и вот сегодня (28) я еду в Киев. С 1 числа обещали подготовить рабочее место (для меня купят новый компьютер) и я смогу приступить к работе. Менеджер мне рассказала, что первый месяц я буду только знакомиться с их кухней - т. к. Vogster лицензирует технологию Unreal Engine 3 :)

AMD OpenGL 3.0

На некоторое время отошёл от нововведений в OpenGL, но вот вчера поставил свежий драйвер на свою AMD(ATI) HD 2400 и обнаружил что расширений прибыло:

GL_ARB_draw_instanced
GL_ARB_framebuffer_object
GL_ARB_framebuffer_sRGB
GL_ARB_half_float_pixel
GL_ARB_half_float_vertex
GL_ARB_instanced_arrays
GL_ARB_map_buffer_range
GL_ARB_shader_texture_lod (убрали GL_ATI_xxx_lod)
GL_ARB_texture_compression_rgtc
GL_ARB_vertex_array_object
GL_EXT_bindable_uniform
GL_EXT_draw_buffers2
GL_EXT_gpu_shader4
GL_EXT_texture_compression_latc
GL_EXT_texture_compression_rgtc
GL_EXT_texture_integer
GL_EXT_transform_feedback
GL_NV_conditional_render
GL_NV_copy_depth_to_color (не думал что доступно в железе, может хаком сделали)
WGL_AMDX_gpu_association
WGL_ARB_create_context

+Появилась возможность создавать forward compatible контекст OpenGL 3.0.

Неплохо, только зная AMD(ATI), у меня появились подозрения в работоспособности всего этого богатства. Т. к. SM 4.0 карты от NVIDIA у меня нет (старый GF 6600 способен только на OpenGL 2.1), решил попробовать поиграться с этими features на AMD.

Как я и предполагал, ошибки есть.

Во-первых, forward compatible создаётся нормально, но при попытке вызвать glGetStringi(GL_EXTENSIONS, 0) программа падает (гуглил, у других также падало, или возвращало NULL, у NVIDIA в этом месте тоже проблемы). Другого способа достучаться до поддерживаемых расширений в forward контексте нет. Плюс не фурычит NVIDIA Cg, т. к. понято что там внутри старый вызов glGetString(GL_EXTENSIONS), который возвращает NULL, так что скомпилировать даже простейший шейдер в ARBvp/fp не получается (профили требуют наличия расширений). Пока занавес.

Во-вторых, Conditional Render. Если успешно создать 3.0 контекст, то по идее все entry points из OpenGL 3.0 должны стать доступными. На практике glBeginConditionalRender / glEndConditionalRender оказались недоступны. Но как позже оказалось, это вина GLEW, т. к. получается получить адреса этих функций вручную. Пофиксил.

В остальном пока багов не встретил, демки из GPU Caps Viewer работают нормально (хотя моё старое Z-Trek Demo (2007) всё так же не запускается).

Intel's Larrabee

Похоже многие до сих пор не вкурили, зачем Intel делает свой Larrabee.

Ответ прост: чтобы оттяпать у NVIDIA GPGPU (рынок вычислений средней сложности). Потому как купить машину в тремя-четырьмя GTX 200 дешевле, чем мэйнфрейм с сотней Intel Core 2 Quad, что многие и стали делать. Можно реально потерять большой рынок научных вычислений, вот и спохватились.

А в игры Larrabee в обозримом будущем никак не прийдёт. Представить что у геймера средней руки будет стоять в системном блоке эта вещица за $XXX... Да и софтверный рендер писать как-то совсем не интересно (по крайней мере мне). А уж про рейтрейсинг в real-time заикаются только гики (и Intel, им же надо продавать).