2011-12-23 19 views
24

Tôi đã chơi với WebGL khá gần đây và tôi thực sự đào Three.js. Nó thực sự nhẹ và chỉ phục vụ như một cái gì đó mà làm cho wrangling hầu hết các GL gọi một chút dễ dàng hơn, và cung cấp một cách nhanh chóng của việc tạo ra nguyên thủy cơ bản như một quả cầu.Three.js được chuyển đến mã gốc?

Bây giờ, ở quê hương, có vẻ như tất cả các khuôn khổ đều muốn có nhiều hơn thế. Những thứ như Oolong, UDK, Unity, Cocos, vv Tôi đã làm một chút googling, và điều gần nhất tôi có thể tìm thấy là iSGL3D nhưng tôi không hoàn toàn thuyết phục nó là câu trả lời đúng.

Có điều gì khác tương tự như Three.js được viết bằng C, C++ hoặc Objective-C nguyên gốc mà tôi không thể tìm thấy không?

+1

Bạn đã từng nhìn vào GLKit của Apples chưa? Mặc dù mức thấp hơn Three.js, nhưng nó vẫn là một khung làm việc rất đơn giản để đơn giản hóa mã đồ họa của bạn một cách đáng kể. – iceydee

Trả lời

8

Đây là một cảng ba C++: https://github.com/jdduke/three_cpp

Core - 75% đầy đủ (TODO: Morph mục tiêu, bóng, cắm hỗ trợ)

Extras - 5-10 % hoàn thành (TODO: Khá nhiều thứ)

Ví dụ - hoàn thành 25% (TODO: Ví dụ về mục tiêu morph an)

3

Bạn đang yêu cầu một công cụ đồ họa nghiêm ngặt chỉ, theo cùng một hướng như OpenGL (so với DirectX mà lại muốn nhiều hơn thế). Tôi muốn tư vấn cho Ogre3D for iPhone vì triết lý đằng sau Ogre3d là một công cụ đồ họa nghiêm ngặt.

Một thiết bị khác được lưu ý gần đây được sử dụng một cách thích hợp MoSync mobile sdk cung cấp hỗ trợ tuyệt vời OpenGL trên nhiều nền tảng khác nhau (mặc dù có giới hạn; để duy trì tính di động).

Nếu bạn quan tâm hơn đến việc tải trình đổ bóng và có công cụ đồ họa quản lý phần còn lại, tôi sẽ chọn Ogre3D cho iPhone.

Bạn luôn có thể chủ động (nếu bạn có thời gian của khóa học) để viết của riêng bạn hoặc bắt đầu từ những người được đề cập ở đây!

Hoặc bạn có thể sử dụng công cụ JavaScript (ví dụ: JSAPI) trong trình soạn thảo C++ và sau đó di chuyển ba.js lên trên đó. Điều này là tuyệt vời vì bạn chỉ cập nhật JSAPI và Three.js mà không phá vỡ các chức năng và công cụ C++/JSThree của bạn sẽ luôn được cập nhật với sự bảo trì tối thiểu.

Chỉ cần một số ý tưởng tất nhiên!

+0

Ogre có vẻ nặng hơn so với iSGL3D: ( – slf

+0

@slf: Yup chắc chắn. Mặc dù trong quan điểm, thế hệ mới và thế hệ mới của thiết bị (tegra> 2, A5> vv) sẽ phù hợp hơn khi OpenGL ES 2.0 trở thành tiêu chuẩn – namar0x0309

+0

Ogre ... rất, rất xấu với nó.Thiết lập của nó là một mớ hỗn độn (tôi đã thử qua Fedora, nó có lẽ là gói cài đặt tồi tệ nhất), và thậm chí tài liệu của nó chưa hoàn thành –

3

Mặc dù tôi cũng muốn thấy cổng ba.js dành cho iOS, gần đây đã vấp ngã trên iSGL3d (http://isgl3d.com/).

Dự án này phục vụ một cách đơn giản, được đóng gói để xây dựng một thao tác một đồ thị cảnh opengl theo mã. Nếu không phải là một số khung mã hóa sáng tạo như chất kết dính, iSGL3d có trong Objective thuần túy C.

Hoạt động tốt cho tôi.

+0

Đây có phải là chính xác những gì tôi đã hỏi trong câu hỏi của tôi không? – slf

+1

1 cho libcinder, các chất kết dính :: gl gần với những gì tôi đang nói về, nhưng nó là st loại bệnh bạo lực đối với khẩu vị của tôi – slf

0

Nếu bạn đang tìm kiếm một cách dễ dàng sử dụng, tôi rất muốn giới thiệu Panda3D. Nó là nền tảng đa nền tảng (Windows, Unix, Mac), rất dễ sử dụng, có tài liệu mở rộng và một cộng đồng tốt đẹp xung quanh nó.

1

Three_cpp là tốt, nhưng đã ngừng cập nhật từ 3 năm trước. Nó không hỗ trợ phiên bản VS dưới đây 2012.

Ogre là một lựa chọn tốt khác, tương tự như logic của Threejs :) Và trang web chính thức cung cấp hướng dẫn rất chi tiết, giúp bạn dễ dàng sử dụng!

+0

Imo tránh Ogre3D – mouse

Các vấn đề liên quan