브라우저에서 Direct3D를 어떻게 작동하게합니까?


9

브라우저에서 재생할 수있는 3D 게임을 보았습니다. 작동하려면 플러그인을 설치해야합니다. 플러그인이 브라우저 내부에 D3D 창을 생성한다고 생각합니다.

비슷한 것을 구현하려면 어떻게해야합니까?


흥미로운 질문
Notabene

답변:


8

Unity 웹 플레이어 (윈도우 용)는 DirectX와 OpenGL을 윈도우에서 사용할 수 있습니다 (단, API에 대한 액세스는 추상화합니다).

또 다른 방법은 ActiveX (Internet Explorer 용) 또는 NPAPI (다른 브라우저 용 )를 사용하여 DirectX 플러그인을 구현하는 것 입니다.

NPAPI를 사용하는 경우 플러그인이 시작되면 원하는 것을 그릴 수있는 창 핸들 (D3D 창 포함)이 제공됩니다. 이 경로를 사용하면 본질적으로 클라이언트 컴퓨터에서 기본 코드를 실행하는 것입니다.


이 새로운 웹 게임 (점점 더 잘 지원 받고 추가 플러그인을 필요로하지 않습니다) WebGL이 같은 다른 기술을 사용하는 것이 좋습니다 있도록 NPAPI이 중단가는 그 길에 있습니다
DMGregory

5

플레이중인 게임은 WebGL http://en.wikipedia.org/wiki/WebGL 또는 파이어 폭스 플러그인과 같은 이국적인 것을 사용할 수 있지만 파이어 폭스 플러그인에 머신 코드를 포함시킬 수는 없다고 생각합니다. 확실하지 않습니다. 약간의 보안 결함이 될 것입니다).

Unity는 엔진의 웹 플러그인 버전을 구현하며 ActiveX를 사용하는 것 같습니다. Mac에서 구현되는지 모르겠습니다 ...하지만 궁금합니다.

이 게임에서 3D API 또는 다른 종류의 플러그인을 사용하는 방법을 확인하는 가장 좋은 방법은 페이지의 HTML 소스를보고 객체 또는 ActiveX 또는 기타를 찾는 것입니다.


왜 다운 투표?
CiscoIPPhone

4
어리석은 제안에 대해서는 "firefox 플러그인에 머신 코드를 내장 할 수 없습니다". 플러그인의 핵심은 "네이티브"코드 세트로 웹 컨텐츠를 보완하는 것입니다.

물론 우리는 여전히 등 부가 기능, 확장, 플러그인, 모드에 대한 사전으로 항목을 논의 할 수 ... 그것은 ... 무엇을 무엇에 대해 정확하게 아직도 낫다
jokoon

4
"plugin"은 Netscape Navigator 2 이후 클라이언트 시스템에서 샌드 박스 처리되지 않은 (기본 또는 다른) 코드 실행을 참조한 것과 정확히 일치합니다.

3
넷스케이프 네비게이터 2, 당신은 SUV의 어떤 차에 대해 이야기하고 있습니까? 질문과 관련이 없습니다 ...
jokoon

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