저는 현재 스튜디오 용 소형 크로스 플랫폼 OpenGL 기반 2D 게임 엔진을 작성 중입니다. 사용할 2D Vector 클래스를 조사 할 때 세 가지 디자인 패러다임을 발견했습니다.
플로트 및 통화별로 값처럼 이 가마 수트라 기사 . 빠르지 만 정확도는 거의 없습니다 ( 이 Thread 참조 ). Pro : 빠르고 휴대 가능하며 대부분의 라이브러리와 호환됩니다.
더블 앤 레퍼런스. 위의 기사를 올바르게 이해하면 4 개의 부동 소수점 숫자 대신 2 개의 배정 밀도 변수를 사용할 수도 있습니다. 위의 스레드에 따르면 double은 여전히 float보다 느립니다.
이중 및 부동을위한 템플릿 : 널리 사용되는 책 " Game Engine Architecture "는 템플릿을 사용하여 필요에 따라 부동 및 이중을 사용할 수있게합니다. 명백한 단점은 코드 팽창입니다. 또한 기본적으로 두 클래스를 작성하지 않고도 코드를 최적화 할 수 있다고 의심합니다.
사내 엔진에서 어떤 솔루션을 사용하고 있고 인기있는 게임 엔진과 같은 정밀함을 알게되어 엔진에서 어떤 솔루션을 구현할지 결정할 수 있습니다. 현재 나는 부동 소수점 정밀도를 사용하고 그것에 대해 생각하고 있습니다.