2015-01-14 3 views
1

코어 애니메이션을 사용하여 Safari (6.2)를 실행하는 OS X (10.8.5)의 브라우저 플러그인에서 다음 조합을 작동 시키려고합니다./코코아 :Core Animation-Cocoa를 사용하여 Mac OS X의 FireBreath에서 SDL2를 렌더링하는 방법

FireBreath + 내가 FB에서 제공하는 BasicMediaPlayer 예를 공부하고 내가) (FB : PluginWindowMac :: getDrawingPrimitive 통해의 CALayer에 액세스 할 수 있는지 이해 한 SDL2

.

내가 원하는 것은 SDL/SDL2를 사용하여 렌더링을 수행하는 것입니다.

FB 플러그인 창 (FB :: PluginWindowWin)은 SDL_CreateWindowFrom API에 전달 될 수있는 HWND를 제공하고 (SDL_CreateRenderer 및 SDL_CreateTexture가 렌더링을 수행 할 수 있기 때문에) 상대적으로 쉽습니다. 무효 *는 Mac에서 NSWindow *에 해당합니다 (내가 배운 것에서). 내 플러그인 내에서 (내가 읽은 다른 게시물을 기반으로) 액세스 할 수 없다는 것을 이해합니다.

그렇다면 질문 : 어떻게 OS X에서 기존 CALayer로 SDL을 사용할 수 있습니까? 나는 또한 연구의 꽤 많은 일을하고있다

+0

아무도 모르겠지만, 행운 =] – taxilian

+0

나는 그것을 보아 주셔서 감사합니다. 대신 OpenGL을 사용하여 렌더링 방식을 처리 하시겠습니까? 저는 기본적으로 YUV420P 프레임을 렌더링하려고 시도하고 있습니다. 다른 프레임 워크에서는 OSX를 제외하고 SDL 렌더러에 공급할 수 있습니다. – Andreas

답변

0

는 SDL/SDL2 포럼을 통해 갔다 :

내가 내 질문에 설명 된 환경에서 SDL을 사용 불행하게도 가능하지 않은 것 같습니다.

내가 함께 결국 해결책은 : 나는 기본적으로 firebreath라는 BasicMediaPlayer에서 제공하는 예를 미러링하기로 결정

  1. 당신은 기본적으로 당신이 당신의 OpenGL은 drawInCGLContext 방법 내부 그리기 배치 CAOpenGLLayer을 전문으로합니다.
  2. FB::AttachedEvent 수신 : 수신 할 플러그인 창 객체를 FB::PluginWindowMac*으로 전송하면 getDrawingPrimitive을 통해 특수한 CA 레이어를 연결할 수 있습니다. 당신이 시작 가야 유래의 다음 question, 살펴 : 어떻게 프레임을 렌더링하는 OpenGL을하고 익숙하지 않은 사람들을위한

.