티스토리 뷰

Game/LibGDX

02. 목표, Libgdx의 특징

유승구 2013. 1. 7. 11:15

Libgdx 는 Java 프레임워크로 게임이나 리얼타임 어플리케이션 개발을 위해 cross-platform API를 제공합니다. 다음과 같은 feature들로 제공됩니다.


General

Windows, Linux, OSX, Android (32,64 지원) 개발을 위한 Cross-platform

Jogl, LWJGL, Angle(NVIDIA 3D Vison) Android APIs에 기반한 다중 백엔드

 당신의 어플리케이션을 Desktop에서 작성하고 테스트한다. Android, Applets, Webstart 혹인 Desktop 어플리케이션으로 매끄럽게 배포 한다.


Graphics

모든 플랫폼에서 OpenGL ES 1.0, 1.1, 2.0 렌더링 한다.

커스텀 JNI binding을 통해 Android 2.0에서 OpenGL ES 2.0을 지원한다.


Low-level

Vertex arrays

Vertex buffer objects

Textures

Texture atlases

고정되고 작동가능한 파이프라인을 위해 사용이 쉽고 유용한 mesh class

Frame buffer objects

Shaders

Immediate mode renderer class (for debugging ala glBegin()/glEnd())

OpenGL의 context loss 에 따른 자동 핸들링 (texture and VBO recreation)


High-level 2D

sprite rendering을 위한 묶음, 캐쉬

Bitmap fonts

Particle systems

TMX tile map rendering

Custom C 2D graphics library for CPU based bitmap manipulation

Full-fledged 2D scene graph with tweening framework


High-level 3D (under construction):

OBJ and MD5 model loaders

Key-frame and skeletal animation

Orthographic and perspective camera

.. to be extended ..


Audio

Streaming music and sound effect playback from WAV, MP3 and OGG

JNI bridge에서 KissFFT로의 빠른 푸리에 변환

Audio decoding of OGG and MP3 via JNI bridges to Tremor and libmpg123 (libmpg123 (라이센스 문제로 현재 지원 안함)

Direct interface to audio device for sample playback and recording.

File I/O

가상 레이어 Andoird assets으로 통함, class path 리소스와 일반 파일 시스템

작은 데이터의 쉬운 저장을 위한 설정


Input

폴링, 이벤트 방식(터치스크린, 마우스, 키보드)

가속계나 나침반으로 폴링 접근

진동 지원 (yeah...)

원격 입력 이벤트는 안드로이드 폰에서 데스크탑 어플리케이션으로 잡을 수 있다.


Physics

JNI로 포장된 box2d를 사용한다.

이 JNI로 포장된 것을 모든 안드로이드 게임 프레임워크/엔진 에서 사용한다.


Math

Vector and Matrix classes for 2D and 3D linear algebra

Quaternions

Frustum with culling support

Bounding shapes

Intersection and overlap testing

Catmull-Rom splines

Ear cutting triangulator for arbitrary planar polygons


Utilities

Custom Collections

Sorting

JSON

Tools & Extensions


Particle editor

Hiero bitmap font generator (폰트 제작기)

Texture packer

Themable Widget Library support

Awesomium JNI bridge (Windows 32-bit only)


Optimizations

모범 사례 지침에 따라 달빅 가상 머신의 요구를 맞춘다.

실행중엔 임시 개체 할당이 없어야 한다.(문서화 장소는 예외)

퍼포먼스를 위해선 원시코드가 중요하다.

show 중단에 따른 해결책 Dalvik/Harmony bugs.


libgdx는 고성능, 크로스 컴파일 게임 개발 프레임워크로 게임과 엔진에 기본적으로 사용 할 수 있습니다. 선언된 프레임워크는 단단한 기초에 초점이 맞춰지는 대신 최신 게임 아키텍쳐의 우수한 부분을 상속 받도록 노력했습니다. Libgdx는 엄격한 방법으로 만드는 것보다 당신이 필요로 하는 모든 유용함과 도움을 줄 수 있습니다. 


libgdx는 모든 게임 엔진을 포함하진 않지만 주방 싱크대는 아닙니다.



※ 역주 ※

점점 번역이 산으로 가고 있습니다. 영어는 정말 어려워요....ㅠ


front-end and back-end ; 프론트엔드와 백엔드

원문 : http://www.terms.co.kr/front-end.htm


프론트엔드와 백엔드는 프로그램 인터페이스와 서비스의 최초 사용자와 관련된 특성을 나타내는데 사용되는 용어이다 (여기서 "사용자"란 사람 또는 프로그램이 될 수 있다). 프론트엔드 응용프로그램은 사용자들과 직접 상호작용을 하는 프로그램이다. 백엔드 응용프로그램은 보통 요구되는 자원들에 가깝게 있거나, 또는 요구되는 자원들과 교신할 수 있는 능력을 가지는 등을 통해 프론트엔드 서비스를 간접적으로 지원한다. 백엔드 응용프로그램은 프론트엔드와 직접 상호 작용할 수 있지만, 아마도 보다 일반적인 것은 중간에 또다른 프로그램이 개입되어 프론트엔드와 백엔드의 활동을 조정한다.


예를 들자면, TAPI는 때로 전화 서비스에 대해 프론트엔드 인터페이스라고 분류된다. 어떤 프로그램의 TAPI 요청은 마이크로소프트의 TAPI DLL 프로그램들에 의해 컴퓨터의 전화 하드웨어에 보다 자세한 일련의 요구를 하기 위한 백엔드 프로그램 또는 드라이버에 각각 사상된다.


또다른 예로서, 프론트엔드 응용프로그램은 사용자와 직접 인터페이스할 수 있으며, 요구된 데이터를 얻거나 요구된 서비스를 수행하기 위하여 원격지의 다른 컴퓨터에 위치한 백엔드 프로그램으로 요구를 전달한다. 클라이언트/서버 컴퓨팅 모델과 비교한다면, 프론트엔드는 클라이언트로, 백엔드는 서버로 이해할 수도 있을 것이다.

'Game > LibGDX' 카테고리의 다른 글

06. 어플리케이션 프레임워크  (0) 2013.01.07
05. 프로젝트 설정  (0) 2013.01.07
04. 준비단계  (0) 2013.01.07
03. 커뮤니티와 지원방향  (0) 2013.01.07
02. 목표, Libgdx의 특징  (0) 2013.01.07
01. 시작하면서  (0) 2013.01.07
댓글
댓글쓰기 폼