성장과정 및 성격의 장단점
저는 복잡한 문제를 작은 단위로 나누고 끝까지 검증하며 해결하는 방식으로 성장해 왔습니다. 게임공학과에서 DirectX 12와 OpenGL을 배우며 3D 공간과 수학을 코드로 다루는 재미를 느꼈고, 졸업작품인 3D 레이드 게임에서는 렌더링 파트를 맡았습니다. 특히 캐릭터 애니메이션 구현 과정에서 스키닝 애니메이션과 관절별 좌표 변환을 이해하고 구현하는 데 2개월 정도를 집중했습니다. 처음에는 하나의 큰 문제처럼 보였지만, 본 구조 이해, 로컬 좌표계와 월드 좌표계 변환, 가중치 적용, 셰이더 반영처럼 단계별 문제로 나누어 학습하고 끝까지 완성했습니다. 이 경험을 통해 모르는 기술도 원리를 쪼개어 확인하면 해결할 수 있다는 작업 방식을 갖게 되었습니다. 이후 컨워스에서 2년간 3D 엔진 개발자로 근무하며 다른 파트 개발자와 클라이언트의 요구사항을 맞추고, 팀 전체의 진행 방향을 함께 보는 법을 배웠습니다. 제 장점은 어려운 문제를 만나도 원인을 구조화하고 필요한 지식을 학습해 해결까지 가져가는 집요함입니다. 반면에 초기에는 맡은 구현 영역에 집중하는 성향이 강해 다른 파트의 기술이나 업무 흐름은 필요해진 뒤에야 관심을 갖는 편이었습니다. 그러나 실무를 거치며 주변 파트의 이해가 구현 품질과 협업 속도에 영향을 준다는 것을 배웠고, 제 작업과 맞닿은 주변 기술도 함께 확인하며 팀 전체 흐름 안에서 제 역할을 판단하려고 노력하고 있습니다.
다른 사람과 협력했던 경험
환경부 대청댐 시뮬레이션 및 시공 균열 정합 프로젝트에서 프로젝트 리드와 프론트엔드 개발자와 협업했습니다. 대청댐의 시공 균열 위치와 유형 정보가 웹 마크 UI와 3D 월드에서 정확히 맞아야 했고, 현실 좌표, Blender, DirectX 12 기반 자체 엔진, three.js 웹 UI의 서로 다른 좌표계를 하나의 기준으로 연결해야 했습니다.
이 문제를 해결하기 위해 시공 균열 좌표, Blender 좌표, 3D 엔진 좌표, 웹 좌표 사이의 차이를 계산하고 변환 관계식을 정리했습니다. 이후 프로젝트 리드에게 좌표 정합 방식, 구현 내용, 검증 기준을 공유하며 요구사항을 맞춰고, 프론트엔드 개발자에게 좌표계 불일치 원인과 변환 기준을 설명했습니다. 제 파트의 렌더링만 구현해서는 문제가 해결되지 않았기 때문에, 각 단계에서 필요한 입력값과 검증 방법을 문서화하고 웹 화면에서 필요한 좌표와 마크 정보를 반복 확인했습니다. 그 결과 시공 균열 위치와 웹 마크 UI의 정합성을 확보했고, 환경부 대청댐 시뮬레이션 및 시공 균열 정합 프로젝트에 반영했습니다.
이 경험을 통해 협업은 단순히 회의에 참여하는 것이 아니라, 상대가 판단할 수 있는 형태로 기술 문제를 번역하고 공유하는 과정임을 배웠습니다. 또한 제 분야의 전문성뿐 아니라 다른 파트와 소통하기 위한 최소한의 이해도 함께 필요하다고 느꼈습니다. 이러한 이해가 협업의 완성도를 높였습니다.
어려운 상황에 부딪혔을 때 해결했던 경험
자동차 전시 공간 렌더링 개선 작업에서 기존 렌더링 결과의 특정 표면에 푸른 색조가 과도하게 나타나는 문제를 맡았습니다. 처음에는 텍스처 문제로 보였지만, 특정 방향을 향한 법선에서 지배적으로 발생한다는 점을 기준으로 조명 방향, 법선, IBL 텍스처, irradiance map, diffuse ambient lighting 흐름을 나누어 확인했습니다. 그 결과 단일 리소스가 아니라 PBR with IBL 파이프라인 전체를 추적해야 하는 문제라고 판단했습니다.
관련 구조를 정확히 이해하기 위해 Cook-Torrance BRDF 기반 PBR 모델 논문과 IBL 기술 자료를 학습했습니다. 이후 OpenGL로 동일한 조명 구조를 개인 구현해 회사 엔진의 결과와 비교하고, irradiance map이 diffuse ambient lighting과 최종 색조에 미치는 영향을 검증해 수정 방향을 도출했습니다. 이 과정을 통해 화면의 현상만 보고 원인을 단정하지 않고, 데이터와 수식, 셰이더, 렌더링 상태, 엔진 처리 순서를 따라가며 원인을 재현·검증하는 문제 해결 방식을 갖게 되었습니다.
또한 분석 과정과 비교 결과를 문서로 남겨 유사한 문제가 다시 발생했을 때 같은 가설을 반복 검증하지 않도록 했습니다. 앞으로도 익숙하지 않은 문제일수록 충분한 근거를 학습하고 최소 재현 환경을 만들어 해결의 정확도와 속도를 함께 꾸준히 높여 나가겠습니다.