게임 엔진을위한 최고의 C ++ 수학 라이브러리? [닫은]


18

다음 기능을 갖춘 게임 엔진을위한 빠른 오픈 소스 C ++ 수학 라이브러리를 찾고 있습니다.

  • 빨리 (sse?)
  • 벡터
  • 행렬
  • 쿼터니언

OpenGL과 DirectX 모두에 적합


1
어쨌든 수학 라이브러리가 그래픽 API에 의존하는 이유를 모르겠습니다. : P
공산주의 오리

3
afaik opengl은 컬럼 메이저 매트릭스와 Directx 행 메이저를 사용합니다. 도서관이 두 가지 모두를 지원한다면 좋을 것입니다
pragmascript

1
GL에서는 항상 전치 행렬을 설정할 수 있으며 DX에서는 쉐이더에서 레이아웃을 지정할 수 있습니다. 수동 조정도 큰 문제가되지 않습니다.
Anteru

1
플랫폼은 PC에서 훌륭하지만 콘솔에서는 끔찍한 수학 라이브러리를 만드는 것은 매우 쉽기 때문에 여기서 중요합니다.
Kylotan

답변:


11

XNA 수학은 당신을 위해 할 수 있습니다. 최신 DirectX SDK와 함께 배포되며 SSE 내장 함수를 사용하는 헤더 전용 C ++ 수학 라이브러리입니다. 나는 그 성능에 대해 많이 이야기 할 수 없지만 그것에 대해 읽은 내용에서 꽤 괜찮은 것 같습니다.

XNA 수학 참조

XNA 수학 프로그래밍 안내서

DX SDK 다운로드

편집 : 또한 라이센스 조건에 대해 잘 모르겠습니다. DX SDK Eula는 "배포 가능 코드"가

"Windows, Xbox 및 Windows Mobile 플랫폼 이외의 플랫폼에서 실행됩니다."

샘플 및 유틸리티 코드 만 명시 적으로 "배포 가능 코드"로 표시되어 있기 때문에 이것이 xna 수학에 적용되는지 확실하지 않습니다.


예를 들어, XNA의 라이센스 조건에 대해서는 전혀 모르는 것입니다. 예를 들어, Microsoft 이외의 운영 체제에서 사용하는 것이 좋습니다. 즉, 소프트웨어 렌더링 프로젝트에서 d3dx 수학 라이브러리 (거의 동일한 내용)를 한 시점에서 사용 했으므로 어떤 방식 으로든 directx에 의존하지 않습니다.
Jari Komppa

1
설명 : d3dx 수학은 라이센스 조건에서 거의 동일합니다. 구현 방식은 다릅니다. SDK 문서에 따르면 d3dx math는 인라인에 크게 의존하고 포인터를 통해 전달하는 반면 xnamath는 SIMD 및 내장 함수에 의존합니다.
Koarl

14

우리는 OpenGL 수학을 사용 합니다

이름이 OpenGL에 불과하다는 것을 암시하지만 DirectX에서 작동하지 않는 이유는 없습니다. 헤더 전용 라이브러리이며 사용하기 쉽고 매우 적극적으로 업데이트됩니다.

확인 해봐.


2
MIT 라이센스를 사용
Jari Komppa

5

빠른 표현 템플릿, 벡터화, 사용하기 쉽고 MPL2에 따라 라이센스가 부여 된 Eigen을 사용해보십시오.



1

Bullet Physics의 일부로 사용되는 Sony의 vectormath 라이브러리 는 모든 요구 사항을 충족합니다. 글 머리 기호와 구분하기 위해 일부 작업이 필요하지만 심각한 것은 아닙니다. 글 머리 기호에 의존하지 않으며 공식적으로 게시 한 사람이 아무도 없습니다.

현재 글 머리표 트리에있는 버전은 SSE 최적화를 지원하며 C ++ 인터페이스가 있습니다.

이전 버전 (아마도 현재 지원되지 않음)은 SOA 형식과 순수한 C 인터페이스도 지원합니다.


1
zlib / libpng 라이센스와 같습니다.
Jari Komppa

나는 이것에 관심이있다. 일부 작업이 분리와 관련되어 있다고 언급했으며, 어떤 종류의 작업이 수반되는지에 대한 링크 또는 기타 정보가 있습니까?

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.