건강이 나빠져서 퇴사하였다.퇴사후 내가 들고있던 급한 일들을 해결하고 드디어 나에게 투자할 시간을 확보하였다.그 시간을 좀 더 효율적으로 타이트하게 관리할 수 있도록 지금 만들고 잇는 3D 렌더러 제작기를 블로깅 하고자 한다.이 블로깅은 정보전달이 목표가 아니고 내가
이전 이야기 : https://velog.io/@lacomaco/%EC%9E%90%EC%B2%B4-%EC%A0%9C%EC%9E%91-3D-%EB%A0%8C%EB%8D%94%EB%9F%AC-%EC%A0%9C%EC%9E%91%EA%B8%B0-episode-1.-%ED%8F
Source code: https://github.com/lacomaco/laco3DRendererPerspective Projection 구현 전에 간단한 Back face culling, orthogonal projection도 확인하고 작업에 들어갔다.간
source code: https://github.com/lacomaco/laco3DRenderer구성해둔 구조에서 3D 정육면체를 렌더링하고 회전시켜봤다.UV 좌표를 잘못 설정해서 찢어지는 부분이 있는데 이 부분은 쉽게 수정할 수 있고 지금 해야할일이 너무
OBJ: Wave Front 사에서 만든 그래픽스 모델 규격이다.MTL: OBJ 파일의 재질을 담는 파일이다.현재 도전하고 있는건 OBJ, MTL 파일을 읽어 WebGL로 화면에 띄우는걸 목표로 만들고 있다.원래는 라이브러리를 사용할려고 했는데... 마땅한 라이브러리가
OBJ: Wave Front 사에서 만든 그래픽스 모델 규격파일 안에는 정점위치, 노멀 벡터 위치, 텍스처 좌표가 기록되어져있다.해당 폴리곤이 어떤 재질을 선택하고 있는지는usemtl 이라는 키워드로 지시하고 있다.mtl은 재질의 성질, 텍스처 정보를 담고있는 파일이다
어째 어째 오브젝트에 텍스처를 입히는 기능을 추가하였는데. 갑자기 성능이 뚝 떨어졌다.텍스처를 생성하는 시점을 잘못 넣어서 성능이 뚝 떨어진거였는데 WebGL은 개발자가 직접 CPU -> GPU로 데이터를 넣어줘야한다.버퍼를 생성하고, 버퍼를 변경하는 코드가 하나의 함
WebGL을 사용하여 직접 OBJ 파일을 화면에 띄우는 렌더러를 만들었다.OBJ 파일을 파싱하고, 쉐이더 코드도 직접 작성하고, 카메라도 직접 띄우고 모든것을 아래부터 위로 한땀한땀 만들었다.만드면서 느끼는점은...제품을 만들때는 Three.JS 쓰시라 😂😊😂굉장
기존엔 OBJ파일만 돌리도록 상정해서 만들엇는데 욕심이 생겨 Fbx 파일까지 지원하도록 수정했다.FBX 파일 파서도 직접만들까 했는데 솔직히 과하다는 생각이 들어서 ThreeJS의 FBX Loader의 힘을 빌렸다.FBX 자체는 ThreeJS가 받아서 Object를 만