이 영상보고 꼿혀서 나도 한번 구현해보려고 했는데


생각보다 회로에 제약이 많네



위 영상은 레이케스팅으로 구현된 거고


과거 ALU 기반 CPU에 최적화된 알고리즘이라


거리에 따라서 텍스쳐가 튀거나 Y축 이동이 안되는 등의 한계가 있음



그래서 난 래스터라이징 기반으로 만들어보려고 했는데


팩토리오에는 FPU, 즉 실수연산 기능이 없다보니까


실수연산을 하려면 정수 -> 실수 간 에뮬레이팅이 필요해서


공개된 GCC 알고리즘 기반으로 구현하려했더니 한 연산에 들어가는 스텝이 생각보다 많았음


억지로 구현할 수도 없는게, 팩토리오는 연산기에서 연산 1회가 1 Update를 소모해서


정수 -> 실수 변환 연산만 하는데도 수십 Update가 소모되니까


근데 60 Update는 1초란 말이지


즉, 어떻게서든 에뮬레이팅해서 실수 연산으로 3D 화면을 구성해봤자 프레임이 안나옴..


여기까지 생각하다가 GG침



다시 생각해보니 존카맥(둠 개발자)이 정말 대단한 애인듯


CPU에 ALU 유닛만 있던 시절에 3D를 구현했으니..