본문 바로가기

전체 글137

현대자동차 소프티어 부트캠프 합격 후기 및 준비 과정 정신없이 바쁜 소프티어 부트캠프 교육과정을 수료하였지만 그 후에 있는 현대자동차 최종면접 준비, 다른 기업의 코딩테스트와 면접 준비를 하느라 후기를 작성할 여유가 없었다. 2달이었지만 어떤 교육과정에서도 쉽게 배울 수 없는 깊고 많은 것을 배웠다. 취업 후 아직도 그때 당시 배웠던 내용을 복습하고 공부하고 있으니... 다른 직무 교육생들은 어떻게 생각할지 모르겠지만... 본인은 소프티어 부트캠프 덕분이라기보다 강사님이 너무 훌륭하신 분이셨기 때문이라고 생각한다.서류 준비 과정서류는 자격요건이 대학 재학중이라는 것 말고는 특별히 신경쓸 게 없었다. 이것을 미처 확인하지 못하고 지원한 졸업생분들이 생각보다 꽤 있었다. 포트폴리오는 요구하지 않았고, 자격요건에만 부합한다면 서류는 모두 합격한 것으로 알고 있다.. 2024. 1. 25.
[iOS] ARKit(1) - OverView, Setting 요즘 그래픽스 관련 서적을 참고하고 Metal 관련 코드를 공부하고 있다. 그러다가 집중력이 흐려질땐 내부적으로 Metal 기능을 사용하고 있는 ARKit, RealityKit과 같은 프레임워크를 경험하면서 Top - Down 방식으로 접근해보는 것도 도움이 될 것이라 판단했다. ARKit ARKit 프레임워크의 주요 목적은 증강 현실(AR) 경험을 개발하는 것이며 제공하는 기능은 다음의 4가지다. motion trackingworld tracking환경의 표면, 크기, 형태를 파악디스플레이 편의성ARKit의 차별화된 기능: 마커리스 추적ARKit의 특징 중 하나는 markerless tracking 이다. 추적 카드(마커)도 필요 없이 주변 환경을 파악하고, 가상 콘텐츠를 실제 환경에 자연스럽게 어우러.. 2024. 1. 21.
컴퓨터 그래픽스 - Rasterizer(3), Scan conversion 회사생활에 무난하게 적응했다 사수분께서 워낙 잘해주신 덕분인 것 같다. 이번주엔 회사 코드를 분석하는 시간을 가졌다. 분석하는 동안 궁금한점, 개선하고 싶은 점, 프로젝트의 방향성과 상반기 목표, 곧 출시될 Vision Pro 개발 여부 등등... 정말 많은 이야기를 나누었고 벌써 이번주가 끝나간다. 드디어 기다리던 수습 기간 동안의 과제가 주어졌다. 과제는 현재 서비스의 기능 중 하나를 구현하고 학습한 내용을 발표하는 것이다. 학습 주제는 구현하면서 알게된 부분도 있겠지만 더 중요한 건 수습이 끝난 후 본격적으로 필요한 기술과 관련이 있다는 것이다. 남은 이번주도 화이팅! 모든 삼각형들을 Window Space(Screen Space)로 옮기는 뷰 포트 변환이 수행된다. 그리고 Rasterizer의 마.. 2024. 1. 19.
컴퓨터 그래픽스 - Rasterizer(2), ViewPort 신입으로 출근한지 일주일이 지났습니다. 첫째주엔 회사 서비스를 이해하는 시간을 가졌습니다. 일반 유저가 사용하는 서비스가 아니다보니 잠이 오더군요... 이번주부터는 본격적으로 회사 코드를 분석하기 시작했습니다. 그래픽스를 공부하고나서 Metal 관련 코드를 보는데 반가운 용어들이 보이더군요 Proj, Rotation, vertex shader, fragment shader 등... 다음주도 화이팅! 폴리곤의 가시성 폴리곤의 가시성 결정은 폴리곤을 구성하는 정점들의 2차원 투영을 사용하여 폴리곤의 면적을 계산함으로써 이루어진다. 폴리곤의 면적을 계산하는 데 사용되는 행렬식(determinant)을 이용하여 폴리곤이 카메라를 향하고 있는지(면적이 양수일 때) 또는 반대를 보고 있는지(면적이 음수일 때)를 판.. 2024. 1. 16.
컴퓨터 그래픽스 - Rasterizer(1) fovy는 시야각(field of view angle)을, aspect는 종횡비(aspect ratio)를, n과 f는 각각 근접 클리핑 평면(near clipping plane)과 원거리 클리핑 평면(far clipping plane)의 위치를 나타낸다. 이러한 값들은 카메라가 어떻게 3차원 공간을 '보는지'를 결정하는데 사용됨. clip space의 각 정점을 자신의 w좌표로 나누면 Cartesian coord의 정점으로 변한다. 이것은 원근법을 구현하는 효과를 가지며 원근 나눗셈이라고 한다. w는 동차 좌표(Homogeneous coordinates) 시스템에서의 한 요소임. 이렇게 얻은 Cartesian 좌표를 Normalized device coordinates 또는 NDC라고 한다. NDC(N.. 2024. 1. 13.
컴퓨터 그래픽스(4) - World Transform 이제 실제 쓰이는 예시를 보자. 유니티를 사용해본적이 있다면 이해할 수 있다. 교실 같은 3차원 공간을 예시로 들 수 있다. 교실 공간을 먼저 만들어야할 것이며 강의실 안에는 책상과 의자와 같은 것들을 Polygon mesh로 만들어야할 것이다. 처음에 만들어질 때 특정 좌표계를 기준으로 만들어질것이고 원점 가까이 놓여있을 것이다. 단일한 공간에 배치를 해야하는데 의자와 책상이 겹쳐있으면 안 될 것이다. 이러한 것을 해결하기 위해서 변환이 쓰인다. Coordinate System을 두가지로 구분하는데 Object를 만드는데 쓰인 공간인 Object Space, 단일한 게임 공간인 World Space이다. World Space 에 만들어진 모든 Polygon mesh가 배치되어야한다. Object Spa.. 2024. 1. 10.
컴퓨터 그래픽스(3) - Affine Transform 학교에서 선형대수 관련 수업을 두개나 들었는데... 기억이 안 난다 ㅎㅎ 닉네임을 eigen으로 했는데 기술면접에서 eigen vector도 제대로 설명을 못했다 ㅋㅋㅋㅋㅋ 선형변환이란? 선형 변환은 벡터를 다루는 일종의 규칙으로 두가지 성질을 가진다. 첫 번째는 '가산성'이라고 해서, 두 벡터를 더한 다음에 그 변환을 적용하는 거나, 각각의 벡터에 변환을 적용한 다음에 결과를 더하는 거나 같다는 것이다. 예를 들어, 두 개의 화살표가 있을 때, 이걸 먼저 합치고 나서 방향을 바꾸는 것과 각각의 화살표 방향을 바꾼 다음에 합치는 것이 같은 결과를 가져온다. 두 번째 성질은 '동차성', 이건 벡터에 어떤 숫자를 곱한 다음에 변환을 적용하는 것과, 변환을 적용한 다음에 같은 숫자를 곱하는 것이 같은 결과를 .. 2024. 1. 7.
728x90