2015-01-30 14 views
8

Tôi là một nhà phát triển phần mềm Objective-C/Swift (trong đào tạo) hiện đang có một ứng dụng trong App Store. Nhưng gần đây tôi đã thực sự quan tâm đến Metal, giải pháp thay thế mới của Apple cho OpenGL. Nhưng tôi không chắc chắn làm thế nào để bắt đầu ... Tài liệu của Apple là tiện dụng, nhưng chỉ khi bạn thực sự biết những gì bạn đang làm ở nơi đầu tiên. Có lời khuyên nào tốt để bắt đầu? Tôi thực sự chưa khám phá khu vực lập trình trò chơi 3D vì vậy bạn có nên giới thiệu một ngôn ngữ khác trước không? Và nếu có thì sao?Bắt đầu với Metal

Tôi chỉ đang tìm kiếm các sách hướng dẫn hay các trang web hướng dẫn sâu sắc về cách thức và lý do. Tôi thích hiểu chính xác những gì tôi đang làm thay vì chỉ cần gõ mã, nhưng có rất nhiều ngôn ngữ và sách của người mới bắt đầu mà tôi thực sự không biết bắt đầu từ đâu ... Bất cứ ai có thể giúp tôi với điều này?

Trả lời

11

Kim loại là một API đồ họa mới hơn. Vì vậy, nếu bạn chưa quen với đồ họa và lập trình trò chơi 3D, bạn có thể muốn bắt đầu với OpenGL - đặc biệt vì có rất nhiều sách giáo khoa ở đó dạy bạn những nguyên tắc cơ bản về đồ họa bằng cách sử dụng OpenGL. Đối với một trang web trên OpenGL, một trong những trang web yêu thích của tôi là songho. Sách trên OpenGL ES2.0OpenGL ES3.0 bao gồm các phần về lập trình với OpenGLES dành cho iOS.

Nếu bạn muốn khám phá chính xác API Metal, có nhiều video từ WWDC 2014 chi tiết về các khái niệm cơ bản và có bản trình diễn về cách làm việc với Metal in Xcode. Một bài viết giới thiệu chi tiết về những gì và tại sao đối với Metal là objc.io. Và chi tiết hơn là metalbyexample.

Để hiểu sâu về cách các API đồ họa này hoạt động, bạn có thể cần nắm bắt kiến ​​trúc GPU. Real-Time Rendering có lẽ là cuốn sách hay nhất về chủ đề này. Những số lecture videos từ Giáo sư John Owens tại UC Davis cũng mô tả kiến ​​trúc một cách rõ ràng và súc tích.

+0

Cảm ơn! Điều đó thực sự hữu ích. – jaller200

3
  1. Tôi chắc chắn sẽ giới thiệu Marius Horga's blog làm điểm bắt đầu. Đó là cách tôi bắt đầu và Marius luôn sẵn sàng giúp đỡ.

  2. Một địa điểm khác để đi là metalbyexample.com bởi Warren Moore và tất nhiên là cuốn sách của anh ấy. Tuy nhiên, nó có một số lượng đáng kể mã được viết trong Objective-C, nhưng nó khá dễ dàng để dịch sang Swift.

  3. Tải về mẫu mã từ Apple tại địa chỉ: https://developer.apple.com/metal/

[Lưu ý quan trọng] - Một số mẫu mã nhất định là đã không tương thích với Xcode 8 và Swift 3 và bạn sẽ cần phải làm việc ra những thay đổi cần thiết để ngăn chặn trình biên dịch bị nghẹt thở trên chúng. Nếu bạn cần ba mẫu mã tuyệt vời của Apple cho thấy cách sử dụng kết cấu, đa luồng ở cấp độ CPU và GPU, và cách vẽ nguyên thủy trong Metal, cũng là Xcode 8 beta 6, Swift 3 tương thích, chỉ cần gửi cho tôi một email và tôi sẽ gửi chúng cho bạn.