Chọn một trong số đó và làm theo cách của bạn.
1. Nguyên tắc cơ bản của CG
Đây không phải là sách OpenGL, họ chỉ sử dụng OpenGL để dạy các khái niệm CG thô sơ
Trong số này, yêu thích cá nhân của tôi là hai cuối cùng. Thực tế hơn và do đó hăng say cho người mới bắt đầu; những lời giải thích không quá khó hiểu, không giống như những cuốn sách học thuật khác trong danh sách.
Lý do Kết xuất thời gian thực bị bỏ qua không phải là cuốn sách bẩn của bạn ; đó là một cuộc khảo sát rộng rãi về các kỹ thuật được sử dụng trong ngành hơn là các nguyên tắc cơ bản của CG; lý thuyết nặng hơn tập luyện nặng: một cái gì đó người mới bắt đầu cần phải hiểu cơ bản tốt. Ngay cả lý thuyết được bảo hiểm là khá cao ở nhiều điểm.
2. Toán cơ bản
Để thành thạo đồ họa máy tính hoặc thậm chí để hiểu những điều cơ bản, một số lượng lớn các khái niệm toán học cần phải được nắm bắt; nó đòi hỏi người ta phải thoải mái khi sử dụng lượng giác và đại số tuyến tính. Đối với điều này, tôi khuyên bạn nên
- Vector Math cho Đồ họa máy tính 3D cho đến nay là hướng dẫn cho người mới bắt đầu tốt nhất cho vectơ và ma trận. Nó cũng tương tác ở phần cuối của mỗi phần có một câu hỏi kiểm tra để xác minh và đóng dấu sự hiểu biết về chủ đề đó.
Sách
Trong số những cuốn sách toán học này, trực quan nhất là cuốn đầu tiên có rất nhiều giai thoại vui nhộn, cuối cùng là dành cho những người cuồng toán học lõi cứng (nếu bạn sợ nôn biểu tượng, hãy tránh xa nó), mặc dù đó là một cuốn sách hay lập trình viên CG có kinh nghiệm, những người cần một tài liệu tham khảo. Cuốn ở giữa thực sự tốt ở chỗ nó mô tả chi tiết đôi khi hai cuốn kia (hoặc nhiều cuốn sách cho vấn đề đó) bỏ qua, và trong phổ của trực giác và toán học lõi cứng nằm ở giữa.
3. Hướng dẫn
Chỉ đọc không đóng dấu các khái niệm vì vậy làm việc chắc chắn được khuyến khích. Cho rằng tôi thấy những hướng dẫn này rất tốt; hầu hết đưa ra một lời giải thích hợp lý của lý thuyết quá.
Đừng quá gắn bó với một thư viện hoặc công cụ cụ thể (ví dụ OpenGL, Direct3D, Metal, Vulkan, WebGL, SDL, Quartz, v.v.) Một khi bạn hiểu các khái niệm cơ bản (toán học đằng sau chúng), hãy triển khai chúng bằng bất kỳ ngôn ngữ, khung nào hoặc thư viện sẽ không phải là một vấn đề lớn. Chỉ cần cú pháp / trình biên dịch sẽ thay đổi, nhưng các kỹ thuật vẫn giữ nguyên.