Công cụ đồ họa / Lập trình / Tài nguyên Etc? [đóng cửa]


10

Đăng câu hỏi này ở đây chứ không phải SO vì nó liên quan đến phát triển trò chơi.

Vấn đề nan giải của tôi là: Đây hiện đang là kỳ nghỉ hè của tôi sau học kỳ CompSci đầu tiên của tôi và tôi đã học đủ C ++ để thực sự bắt đầu với những thứ cao cấp hơn một chút.

Tôi chưa muốn bắt đầu lập trình trò chơi cho đến khi tôi tự dạy mình đại số tuyến tính, lượng giác, v.v. Tuy nhiên, tôi muốn biết các nguyên tắc cơ bản, lý thuyết và phương pháp được sử dụng trong lập trình trò chơi!

Tôi nghĩ rằng tôi đã có một số sách hay trong thư viện đại học, nhưng chúng đã lỗi thời khủng khiếp với những cuốn sách về lập trình trò chơi hoặc công cụ trò chơi hoặc trò chơi / đồ họa (chủ đề ở đây) từ đầu những năm 90 đến 2002.

Biết được trạng thái biến động của công nghệ máy tính, tôi nghĩ rằng việc nắm bắt kiến ​​thức về công nghệ tiên tiến từ một cuốn sách hàng thập kỷ không phải là một ý tưởng hay. Bản thân Amazon khiến tôi không biết mình muốn cuốn sách nào.

Điều tôi không muốn: Một cuốn sách phụ thuộc vào nền tảng. Tôi không tham gia học OpenGL, Direct3D hoặc bất kỳ API cụ thể nào. Tôi chỉ muốn biết những thứ như tessname, cách GPU xử lý công cụ, những gì diễn ra dưới mui xe và loại phương pháp raytracing và radios có gì. Những điều cơ bản, những khái niệm cốt lõi - những thứ đó.

Tôi hy vọng điều đó rõ ràng! Sách, tài nguyên đều được chào đón. Mặc dù tôi rất thích một cuốn sách trên một trang web!


Đợi đã ... Họ dạy chúng ta đại số tuyến tính ở tiểu học và trig ở trường trung học ...
jcora

Câu trả lời:


16

Đây không phải là "toàn diện" cho các trò chơi, nhưng đặc biệt chúng là những cuốn sách hay cho đồ họa máy tính, vì vậy đây là một sự khởi đầu.

Nguyên tắc cơ bản của đồ họa máy tính

Peter Shirley, Steve Marschner

Amazon Link (Ấn bản thứ ba) | Trang web sách (Ấn bản thứ hai)

Nguyên tắc cơ bản của đồ họa máy tính
(nguồn: hình ảnh-amazon.com )

Cuốn sách này bao gồm rất nhiều thông tin về nhiều lĩnh vực đồ họa máy tính. Các khái niệm "trực tuyến" (như thời gian thực) cũng như "ngoại tuyến" (như chiếu sáng toàn cầu) được đề cập, cũng như toán học, đổ bóng, đường ống đồ họa, kết cấu, cấu trúc dữ liệu, lý thuyết ánh sáng và màu sắc, khái niệm lưới, v.v. Nó chắc chắn không hướng đến các trò chơi, mà nói chung là các khái niệm đồ họa máy tính. Cuốn sách không được viết bằng bất kỳ ngôn ngữ lập trình cụ thể nào, mà là ngôn ngữ toán học.

Kết xuất thời gian thực

Tomas Akenine-Moller, Eric Haines, Naty Hoffman

Liên kết Amazon (Phiên bản thứ ba) | Trang web sách (Ấn bản thứ ba)

Kết xuất thời gian thực
(nguồn: hình ảnh-amazon.com )

Cuốn sách này chủ yếu hướng đến các phương pháp đồ họa "trực tuyến" (thời gian thực). Nó bao gồm các đường ống đồ họa và toán học liên quan, đổ bóng và kết cấu, ánh sáng, hiệu ứng không gian màn hình, NPR, lưới và đường cong, và một số kỹ thuật tăng tốc. Chương về các phương pháp kiểm tra giao nhau chỉ đáng giá cho cuốn sách, vì đây là tài liệu tham khảo tuyệt vời để kiểm tra va chạm giữa bất kỳ loại khối lượng giới hạn nào bạn muốn sử dụng. Nó thảo luận về shader, nơi chúng phù hợp với đường ống và những gì chúng có thể được sử dụng (vốn là kiến ​​thức thiết yếu trong công việc đồ họa hiện đại) nhưng bạn chắc chắn không thể học lập trình shader bằng bất kỳ ngôn ngữ nào từ cuốn sách này. Đây là một tổng quan cấp cao về các kỹ thuật thời gian thực, không phải là một cuốn sách lập trình. Một lần nữa, ngôn ngữ được sử dụng trong cuốn sách này là toán học.

Kiến trúc game Engine

Jason Gregory

Liên kết Amazon (Phiên bản đầu tiên) | Trang web sách (Ấn bản đầu tiên)

Kiến trúc game Engine
(nguồn: gameenginebook.com )

Tôi sẽ thêm cuốn sách này vào danh sách của bạn nếu bạn quan tâm đến đồ họa cụ thể vì chúng liên quan đến các trò chơi. Gregory bao quát các hệ thống công cụ trò chơi lớn từ góc nhìn 10.000 feet, đôi khi đưa cho bạn các mẫu mã trong C ++ để minh họa điểm của mình, nhưng chủ yếu là tổng quan về các hệ thống con động cơ chính là gì, cách chúng hoạt động, cách chúng khớp với nhau và những gì bạn làm nên suy nghĩ khi thiết kế / xây dựng chúng. Toán học 3D và trình duyệt C ++ (tập trung cụ thể vào lập trình trò chơi) cũng như các trình quản lý tài nguyên, vòng lặp mô phỏng, thiết bị đầu vào, kỹ thuật gỡ lỗi, công cụ kết xuất và hoạt hình, va chạm và động lực học cơ thể cứng nhắc và hệ thống trò chơi. Hai hệ thống con động cơ chính duy nhất còn thiếu trong cuốn sách này là âm thanh và mạng, điều này trung thực về việc bỏ đi vì cuốn sách đã được đẩy hơn 800 trang.


2
+1 cho "Kết xuất thời gian thực" - sách đồ họa rất được khuyến khích. Ngoài ra, "Kiến trúc công cụ trò chơi" sẽ cung cấp cho bạn cái nhìn tổng quan mà bạn mong muốn (ngược lại với các chi tiết kỹ thuật)
Dave O.

3

Nếu bạn quan tâm đến chuyến tham quan khứ hồi về mọi thứ kết xuất, Kết xuất thời gian thực là lựa chọn tốt nhất của bạn.

Về toán học, có một số cuốn sách giới thiệu hay, từ 3D Math Primer nhẹ nhàng hơn cho Phát triển đồ họa và trò chơi đến Toán học rộng hơn cho Lập trình trò chơi 3D và Đồ họa máy tính .

Tôi cũng rất khuyến khích Kiến trúc Game Engine nếu bạn quan tâm đến tuyến đường đó; nó không phải là một cuốn sách chuyên sâu về vấn đề này (cũng không thể), nhưng nó là một nền tảng vững chắc trong một loạt các chủ đề. Đối với một người mới bắt đầu tôi sẽ coi nó là vô giá.


Xin lưu ý rằng "chuyến đi khứ hồi ... của mọi thứ" chỉ giới hạn ở mọi thứ liên quan đến đồ họa. Không có logic trò chơi, vật lý, v.v.
Dave O.

1
@Dave - Đó có lẽ là lý do tại sao anh ấy nói "mọi thứ kết xuất ." :)
Neverender
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.