Ответ
Да, помимо основной работы, я увлекаюсь low-level программированием и компьютерной графикой. В качестве хобби-проекта я пишу небольшой софтверный рендерер на C++ с нуля, без использования графических API. Это помогает глубже понять линейную алгебру, оптимизацию вычислений и работу с памятью.
// Упрощенный пример проекции вершины в моем проекте
struct Vec3 { float x, y, z; };
Vec3 projectVertex(const Vec3& vertex, const Matrix4x4& viewProjMatrix) {
Vec4 homogenousCoord = multiplyMatrixVector(viewProjMatrix, Vec4{vertex.x, vertex.y, vertex.z, 1.0f});
// Перспективное деление
if (homogenousCoord.w != 0.0f) {
return {homogenousCoord.x / homogenousCoord.w,
homogenousCoord.y / homogenousCoord.w,
homogenousCoord.z / homogenousCoord.w};
}
return vertex;
}
Также интересуюсь embedded-разработкой на STM32, что поддерживает мои навыки работы с регистрами, прерываниями и bare-metal кодом.
Ответ 18+ 🔞
Э, сабака сука, ну ты даёшь! Мало тебе на работе с кодом возиться, так ты ещё и в свободное время мозги себе вздрачиваешь, да? Low-level программирование, блядь, компьютерная графика... Это ж надо, чувак, какой мазохист!
Пишешь софтверный рендерер на плюсах с нуля, без всяких там API. Ну, ёпта, это ж овердохуища работы! Зато, наверное, реально прокачиваешь всё — и линейную алгебру, и как память хавает, и как её оптимизировать, чтобы не тормозило. Уважуха, конечно, но мозг-то наизнанку не выворачивает?
Смотри, какой код подкинул. Проекция вершины... homogenousCoord.w... А если он ноль? Ну, ясен пень, на ноль делить — это пиздец, сразу в мусорное ведро полетишь. Правильно, что проверяешь, а то будет тебе хиросима и нигерсраки в лучшем случае. Перспективное деление — это вообще магия, после которой всё на экране и появляется. Сам от себя охуеешь, когда из кучи цифр вдруг картинка вылезает.
А ещё embedded-разработка на STM32? Да ты, я смотрю, полный пидарас шерстяной! Это ж ещё ближе к железу, там уже не просто память, а регистры эти, прерывания... Bare-metal код — это когда ты с микроконтроллером на "ты" и без всякой операционки. Волнение ебать, представляю, как ты там светодиодиком моргаешь и радуешься, как дитё малое. Но зато навыки, блядь, железные — потом на любой работе как хуй с горы, всё порешаешь.
Короче, мудила, респект тебе и уважуха. Не каждый готов в свободное время так мозги парить. Главное, не доведи себя до ручки, а то смотри — терпения ноль ебать бывает у всех. Удачи в проектах, только не накройся медным тазом на полпути!