Tôi đã bắt gặp các trò chơi 3D có thể chơi được trên trình duyệt. Họ yêu cầu một plugin để được cài đặt để làm việc. Tôi đoán plugin tạo ra một cửa sổ D3D bên trong trình duyệt.
Làm thế nào tôi sẽ đi về thực hiện một cái gì đó tương tự?
Tôi đã bắt gặp các trò chơi 3D có thể chơi được trên trình duyệt. Họ yêu cầu một plugin để được cài đặt để làm việc. Tôi đoán plugin tạo ra một cửa sổ D3D bên trong trình duyệt.
Làm thế nào tôi sẽ đi về thực hiện một cái gì đó tương tự?
Câu trả lời:
Trình phát web Unity (cho các cửa sổ) có thể sử dụng cả DirectX và OpenGL trong một cửa sổ (tuy nhiên, nó trừu tượng hóa quyền truy cập của bạn vào các API này).
Một cách tiếp cận khác là triển khai plugin DirectX bằng ActiveX (cho Internet Explorer) hoặc NPAPI (cho các trình duyệt khác).
Nếu bạn sử dụng NPAPI, khi plugin của bạn khởi động, bạn sẽ nhận được một tay cầm cửa sổ nơi bạn có thể vẽ bất cứ thứ gì bạn muốn (bao gồm cả cửa sổ D3D). Nếu bạn đi theo con đường này, về cơ bản bạn đang chạy mã gốc trên các máy khách.
Trò chơi bạn đang chơi có thể sử dụng WebGL http://en.wikipedia.org/wiki/WebGL hoặc một cái gì đó kỳ lạ hơn như plugin firefox, nhưng tôi không nghĩ bạn có thể nhúng mã máy vào plugin firefox (Tôi không chắc chắn, đó sẽ là một lỗ hổng bảo mật nhỏ).
Unity thực hiện phiên bản plugin web của công cụ của họ và có vẻ như họ làm như vậy với ActiveX. Tôi không biết nếu nó thực hiện trên Mac ..., tôi tự hỏi mặc dù.
Cách tốt nhất để tìm hiểu cách trò chơi này bạn đang chơi sử dụng API 3D hoặc bất kỳ loại plugin nào khác, là xem nguồn HTML của trang và tìm kiếm đối tượng hoặc activex hoặc cách khác.
Kiểm tra Firebreath để được hỗ trợ Cross-broswer.