성장 과정 및 문제 해결 방식
저는 복잡한 문제를 작은 단위로 나누고 끝까지 검증하며 해결하는 방식으로 성장해 왔습니다. 게임공학과에서 DirectX 12와 OpenGL을 배우며 3D 공간과 수학을 코드로 다루는 재미를 느꼈고, 졸업작품인 3D 레이드 게임에서는 렌더링 파트를 맡았습니다.
특히 캐릭터 애니메이션 구현 과정에서 스키닝 애니메이션과 관절별 좌표 변환을 이해하고 구현하는 데 집중했습니다. 처음에는 하나의 큰 문제처럼 보였지만, 본 구조 이해, 로컬 좌표계와 월드 좌표계 변환, 가중치 적용, 셰이더 반영처럼 단계별 문제로 나누어 학습하고 끝까지 완성했습니다.
실무에서는 자체 C++ / DirectX 12 엔진과 대용량 3D 데이터를 다루며 문제를 더 현실적인 기준에서 바라보게 되었습니다. 단순히 화면에 결과를 띄우는 것을 넘어, 메모리 사용량, 렌더링 성능, 데이터 포맷, 좌표계 정합, 클라이언트 요구사항까지 함께 확인해야 했고, 이 과정에서 기능 구현자에서 시스템 전체 흐름을 함께 보는 개발자로 성장했습니다.
협업 경험
환경부 대청댐 3D 가시화 및 수문 시뮬레이션 프로젝트에서 협업의 중요성을 경험했습니다. 대청댐의 시공 균열 위치와 유형 정보가 웹 마크 UI와 3D 월드에서 정확히 맞아야 했고, 이를 위해 Blender 좌표계, DirectX 12 기반 자체 엔진 좌표계, three.js 기반 웹 UI 좌표계를 함께 연결해야 했습니다.
시공 균열 좌표, Blender 좌표, 3D 엔진 좌표, 웹 좌표 사이의 차이를 계산하고 변환 관계식을 정리한 뒤 프로젝트 리드와 프론트엔드 개발자에게 공유했습니다. 이 경험을 통해 협업은 상대가 판단할 수 있는 형태로 기술 문제를 번역하고 공유하는 과정이라는 것을 배웠습니다.
문제 해결 경험
자동차 전시 공간 렌더링 개선 작업에서는 기존 렌더링 결과에서 특정 표면에 푸른 색조가 과도하게 나타나는 문제를 분석했습니다. 처음에는 단순한 텍스처 문제처럼 보였지만, 조명 방향, 법선, IBL 텍스처, irradiance map, diffuse ambient lighting 흐름을 나누어 확인하면서 PBR with IBL 파이프라인 전체를 추적해야 하는 문제라는 것을 파악했습니다.
저는 Cook-Torrance 기반 PBR 모델 논문과 IBL 렌더링 관련 기술 자료를 참고해 조명 모델과 환경광 처리 흐름을 학습했습니다. 이후 OpenGL 기반 개인 구현으로 조명 구조를 재현해 회사 엔진의 결과와 비교했고, irradiance map이 색조에 미치는 영향을 확인해 수정 방향을 도출했습니다. 이 경험을 통해 문제를 한 레이어에서 단정하지 않고 원인이 흐르는 경로를 따라 추적하는 태도를 갖게 되었습니다. 로봇 SW 개발에서도 TF 좌표계, 센서 입력, 인식 결과, planning scene, 시뮬레이터 조건, 실제 로봇 로그를 함께 대조하며 동작 실패의 원인을 좁혀가는 방식으로 문제를 해결하고자 합니다.
직무 강점 및 포부
제 강점은 C++ 기반 시스템 구현 경험, 3D 공간을 다루는 수학적 기반, 시뮬레이터에 대한 이해도 및 월드 구축 능력입니다. 2년간 3D 그래픽스 프로그래머로 근무하며 자체 3D 엔진 개발, 성능 최적화, 대용량 3D 데이터 처리, 좌표계 정합 문제를 실무에서 다뤘고, 이 경험을 로봇의 공간 인식과 동작 검증 문제로 확장하고 있습니다.
ROS 2·Physical AI 교육 과정에서는 MoveIt 2, Gazebo, RViz, Vision 기반 객체 pose 추정을 프로젝트에 적용했습니다. 입사 후에는 시뮬레이션 검증, TF 및 로그 기반 원인 분석, 실물 로봇 전이를 연결해 현장에서 신뢰할 수 있는 로봇 동작을 만드는 로봇 SW 엔지니어로 성장하겠습니다.