2012-05-10 4 views
0

3D 게임을하고 있는데 코드에 모든 개체를 배치해야합니다. 그렇다면 Java OpenGL에서 객체를 배치 할 편집기를 만드는 방법이 있습니까?3D : 지형 렌더링/작성 방법

그리고 전 세계를 거대한 종류의 거대한 메쉬로 만드는 것이 가장 좋습니다. 다른 방법을 사용하는 것이 더 낫습니까?

+0

어떤 3D 엔진/OpenGL 툴킷을 사용하고 있습니까? – mikera

답변

3

Java OpenGL에서 개체를 배치 할 수있는 편집기를 만드는 방법이 있습니까?

OpenGL에는 개체가 없습니다. 혼란스러워?

OpenGL은 운영체제에서 일종의 "캔버스"를 부여하고 점, 선 및 삼각형을 원하는대로 그려 볼 수 있습니다.

씬 또는 관리 객체와 관련된 모든 것이 사용자의 짐 또는 추가 툴킷의 부담입니다.

3D 게임을하고 있는데 코드에 모든 개체를 배치해야합니다.

생각해보십시오 : 데이터를 하드 코딩하는 대신 파일에서 읽고 파일의 내용을 사용하여 장면을 만든 다음 OpenGL을 사용하여 그립니다. 이것은 텍스트 파일을 읽고 텍스트를 인쇄하는 것과 많이 다르지 않습니다. 같은 원리, 다른 종류의 데이터.

많은 3D 모델러가 있습니다. 우수 오픈 소스는 Blender입니다. 모델 및/또는 장면을 읽을 수있는 파일 형식 (기존 코드를 구현하거나 고유 한 코드를 작성하고 수출자를 작성하여)로 내 보낸 다음 코드를 사용하여 렌더링합니다.

+0

개체, 메쉬 .... – AndroidXTr3meN

2

Java 및 OpenGL에서 레벨 편집기를 만드는 것은 가능하지만 일반적으로 매우 큰 프로젝트입니다.

아마도 개체를 게임에로드하는 가장 간단한 방법은 위치, 방향, 메쉬, 텍스처 및 게임의 개체와 관련된 기타 데이터가있는 XML 파일 (또는 다른 유형의 데이터 파일)을 만드는 것입니다. 세상을 편집하고 수동으로 편집 할 수 있습니다. 그러나 많은 수의 개체를 배치해야하는 경우 지루할 수 있습니다. 이것은 런타임에 읽을 수 있으며 장면은 이러한 객체를 렌더링 할 수 있습니다. 나중에이 파일 형식을 사용하려면 레벨 편집기에서 사용할 수 있습니다.

질문의 두 번째 부분은 다릅니다. 그러나 전 세계를 하나의 메쉬로 만드는 것은 좋은 생각입니다. 월드가 여러 메쉬로 구성되어있는 경우 개별 정점을 도려내 기보다는 렌더 호출에서 전체 오브젝트를 드롭하기 만하면 컬링이 더 쉽게됩니다.