2013-01-24 1 views
0

OpenGL ES에 대한 모든 소개 텍스트는 OpenGL을 기반으로하므로 클라이언트/서버 모델을 중심으로 설계되었습니다. 같은 기계.다른 컴퓨터에 Android OpenGL ES 클라이언트와 서버를 넣을 수있는 방법

음, 같은 로컬 네트워크에있는 별도의 컴퓨터에 설치하고 싶습니다. 안드로이드에서 가능합니까? 어떻게 할 수 있습니까? libgdx 시나리오 (이 게임 라이브러리는 내가 사용하는 게임 라이브러리)에서 어떻게 작동하는지 알아낼 수있는 여분의 명성이 있습니다.

(장황하고 아마도 불필요한 추가 정보 : 필자의 유스 케이스는 휴대 전화 용 안드로이드 게임의 빠른 프로토 타입 제작에 사용됩니다.) 손가락 탭과 가속도계 데이터를 얻고 네트워크를 통해 PC로 보내면 꽤 간단합니다. PC에서 전화기로 전화를 걸면 PC에서 전체 게임을 효율적으로 실행할 수는 있지만 휴대 전화에서 실행되는 것 같습니다.이를 통해 게임/게임 아이디어가 작동하는지 테스트하고 볼 수 있습니다 전화/전화 -GPU, RAM/CPU/컴파일 시간/핫스왑 코드의 장점을 활용하여 모든 것을 RAM 및 CPU 사용 공간 및 물류에 집중할 것을 염두에두고 내가 프레임 프레임을 해체하고 장치에 byte [] 배열을 보내고 libgdx Pixmap 또는 Android BitmapFactory를 사용하여 이미지를 가져 와서 렌더링하면이 작업을 수행 할 수 있다는 것을 알았지 만 단순하다면 대신 gl 호출을 스트리밍하려면 전화 GPU의 렌더링 기능에 대한보다 현실적인 테스트이므로 특히 그러길 원합니다.

+0

Nicol Bolas가 내 "opengl"태그를 제거한 것을 알았습니다. 하지만 내가 물어볼 질문은, opengl-es가 지원하는 호출의 부분 집합에 충실한다면, 한쪽 끝 (pyopengl과 같은)과 다른 쪽의 opengl-es 서버에서 일반 open-gl 클라이언트를 사용할 수 있습니까? ? – jdowdell

답변

0

원격 작업을 지원하는 프로토콜과 서버 또는 클라이언트의 구현간에 차이점이 있습니다. 원격 작업을 수행합니다. 나는 이와 같은 것을 지원하는 기존 안드로이드 구현이 있다고 생각하지 않는다. 필자는 "원격 데스크톱"응용 프로그램 중 2 차원 이미지만을 전달하는 것으로 의심하며 OpenGL을 사용하지 않습니다.

즉, 특히 전화에서 실행되는 서버에 대한 "원격"OpenGL 호출을 수행하고 이러한 작업을 로컬 OpenGL 백엔드로 전달하는 새로운 libGDX 백엔드 구현을 방해하는 것은 없습니다. (나는 이것을 자세히 보지 않았기 때문에 자신있게 말할 수있다.)

그러나 OpenGL 성능에서 커다란 병목 현상 중 하나가 (일반적으로) 클라이언트와 GPU 간의 대역폭 (예 : 텍스처, 정점 데이터, 쉐이더 등을 업로드하는 경우) 네트워크를 추가하면 문제가 악화되고 전화로 실제 성능을 추론 할 수 없게됩니다.

아마도 데스크톱에서 실행하고 프로파일 링을 사용하여 "적당한"양의 CPU 및 GPU 자원 만 사용하는 것이 좋습니다.