2008-12-08 33 views
5

Phát triển cho iPhone là trải nghiệm đầu tiên của tôi với trải nghiệm khách quan-c và trải nghiệm đầu tiên với xcode. Sẽ khó khăn như thế nào khi chuyển một ứng dụng iPhone OpenGLES sang máy tính để bàn OSX bằng cách sử dụng OpenGL? Tôi không hỏi về giao diện người dùng - rõ ràng là không có tương đương với giao diện người dùng cảm ứng ca cao trên máy tính để bàn. Tôi hỏi cụ thể về lớp ứng dụng và lớp OpenGLES. Có bất kỳ trở ngại lớn nào không? Là nó thẳng về phía trước như chỉ đơn giản là tạo ra một đại biểu ứng dụng mới trong một dự án loại ca cao?chuyển ứng dụng iPhone OpenGLES sang OSX?

Trả lời

8

Tôi đã bắt đầu xem xét điều tương tự và dường như các ứng dụng OpenGL nặng sẽ là một trong những ứng dụng dễ dàng nhất để quay lại Mac. Khá nhiều thứ trong OpenGL ES hiện diện trong OpenGL trên màn hình nền (ngoại trừ một số công cụ cố định), để mã có thể giữ nguyên.

Cách OpenGL được xử lý trên iPhone thông qua lớp Lõi hoạt hình (CAEAGLLayer), chứ không phải là chế độ xem cụ thể. Do đó, bạn có thể chuyển nó sang ứng dụng trên nền máy tính để bàn Leopard, mặc dù bạn cần phải chuyển đổi tất cả các tham chiếu đến các lớp EAGL thành tương đương OpenGL của chúng (ví dụ EAGLContext thành NSOpenGLContext). Bạn có thể render thành một CAOpenGLLayer được hiển thị bởi chính nó, hoặc sử dụng lớp đó để quay trở lại một NSView tùy chỉnh.

Cấu trúc cơ bản của ứng dụng Cocoa trên máy tính để bàn sẽ khác với ứng dụng Cocoa Touch, nhưng bạn có thể bắt đầu từ một trong các mẫu Xcode và thêm lại các thành phần của bạn từ ứng dụng Cocoa Touch.

Một lần nữa, tôi chưa thực hiện việc này cho đơn đăng ký của mình, nhưng có vẻ hợp lý đơn giản.

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