2010-05-13 43 views
10

Tôi muốn học Đồ họa máy tính, điều này sẽ tốt cho sự nghiệp của tôi, nhưng điều duy nhất tôi biết là lập trình Python. nơi tôi nên bắt đầu và tiếp tục? Ngoài ra, tôi học ở nhà.Học đồ họa máy tính

Trả lời

2

Bạn có thể muốn học bằng cách sử dụng C++/SDL, đây là một sự kết hợp khá mạnh mẽ. Sourceforge lưu trữ nhiều dự án trò chơi, có thể cung cấp cho bạn các ví dụ hữu ích bằng nhiều ngôn ngữ.

5

Tôi đề nghị bạn đọc lên trên linear algebra rất hữu ích khi xử lý đồ họa máy tính và đồ họa 3D đặc biệt.

Here là khóa học video từ MIT (1999), có thể bao gồm nhiều hơn bạn cần.

+1

Một số phép tính Vector cũng giúp ích. –

0

Làm quen với C++ và bắt đầu đọc "Đồ họa máy tính sử dụng OpenGL" của Francis Hill. Đồng thời kiểm tra danh sách recommended books trên opengl.org. nhận được hướng dẫn OpenGL programming. Điều này sẽ giúp bạn bắt đầu.

+0

Bạn có nghĩ rằng "Tài trợ đồ họa máy tính của peter shirley" là một cuốn sách hay để bắt đầu? – jgt

+0

@jgt: Tôi chưa đọc "nguyên tắc cơ bản", vì vậy tôi không có gì để nói về nó. Nhưng cuốn sách "Đồ họa máy tính sử dụng OpenGL" của Francis Hill (cuốn sách tôi đề cập) bao gồm một số công cụ cấp thấp - nó giải thích cách viết một raytracer, ví dụ, vì vậy nó chắc chắn là một "Phải có". – SigTerm

+0

Cảm ơn Guys thời gian và sự giúp đỡ của bạn là vô giá. – jgt

2

Điểm bắt đầu chính xác cho OpenGL là NeHe. Ban đầu, mã mẫu hướng dẫn được viết bằng C, nhưng các nguyên tắc đều giống nhau và các ràng buộc Python cho OpenGL trông rất giống với API dựa trên C gốc.

Nếu bạn muốn làm bất cứ điều gì gần "chất lượng sản xuất", tôi khuyên bạn nên chuyển sang C hoặc C++ hoặc sử dụng công cụ trò chơi/thư viện đồ họa thời gian thực cao hơn (một số thậm chí có gắn kết Python). Tốt hơn là sau này.

Tuy nhiên, tôi không đồng ý với nhiều nhận xét ở đây rằng Python không phải là lựa chọn tốt cho việc học đồ họa thời gian thực. Các nguyên tắc đều giống nhau và Python đơn giản là đẹp để thử các khái niệm mới.

1

Mặc dù tôi chưa lập trình đồ họa ở bất kỳ thứ gì khác ngoài C hoặc C++, tôi tin Python là ngôn ngữ tốt cho người mới bắt đầu và nếu bạn có cách nhanh chóng để vẽ pixel trong Cửa sổ bằng Python, hãy với nó.

Tự lấy cho mình bất kỳ sách văn bản đồ họa chuẩn nào. Bạn có thể thử Hern & Baker, hoặc Foley-Van Dam, và tất nhiên bạn có Internet và diễn đàn trực tuyến.

Bắt đầu theo khóa học này MIT OCW 6.837 Graphics Fall 2003, thực hiện bài tập, viết mã và tiếp tục quay lại sách giáo khoa và thông tin cơ bản của bạn.

4

Tôi khuyên bạn nên xem www.scratchapixel.com. Đó là một trang web tuyệt vời được dành riêng cho việc dạy các kỹ thuật lập trình 3D (sử dụng C++). Và trang web hoàn toàn miễn phí.

2

Tôi thực sự khuyên bạn nên sử dụng C/C++ nếu bạn làm việc với đồ thị. vì nó được biên dịch ngôn ngữ và điều đó có nghĩa là nó nhanh hơn nhiều.

MIT OpenCourse là một nơi tốt để bắt đầu học C/C++.

Tôi cũng khuyên bạn để có được một cuốn sách gọi là Computer Graphices sử dụng Open GL 3rd edition cho F.S.Hill đó là loại đắt tiền nhưng bạn sẽ không bao giờ hối tiếc.

3

Tại sao không làm theo hướng dẫn này của Dmitry V. Sokolov khi viết trình kết xuất phần mềm (CPU)? Lưu ý tôi đã không viết nó tôi tìm thấy nó trên Hacker News.

https://github.com/ssloy/tinyrenderer

Từ liên kết:

Trong loạt bài này, tôi muốn thể hiện cách OpenGL hoạt động bằng cách viết clone của nó (một nhiều giản thể). Đáng ngạc nhiên là tôi thường gặp những người không thể vượt qua rào cản ban đầu của việc học OpenGL/DirectX. Vì vậy, tôi đã chuẩn bị một loạt bài giảng ngắn, sau đó học sinh của tôi cho thấy những người kết xuất khá tốt. ”

Tôi đồng ý với các bài viết khác học Đại số tuyến tính, Suy nghĩ về thuật toán vẽ đường và tìm hiểu về vectơ và thực hành thực hành . lập trình

SDL là một thư viện tuyệt vời để học

+0

Chỉ cần liên kết đến nội dung của riêng bạn là [không phải là câu trả lời hay] (// stackoverflow.com/help/promotion). Một câu trả lời hay có liên quan đến tài nguyên ngoài trang web bao gồm các phần thiết yếu của câu trả lời ở đây cho người dùng trong tương lai và tham khảo những điều sau đây: _Điều gì bạn đang nói đến? Tôi cài đặt nó ở đâu? Làm thế nào để cài đặt nó? Làm thế nào để sử dụng điều này để giải quyết ** vấn đề chính xác ** Tôi có trong câu hỏi của tôi? Bạn có liên kết với điều này theo bất kỳ cách nào, hình dạng hay hình thức nào không? _ Xem: [Làm thế nào tôi có thể liên kết với một tài nguyên bên ngoài theo cách thân thiện với cộng đồng?] (// meta.stackexchange.com/questions/94022) – Mogsdad

+0

Đã sửa lỗi điều đó, xin lỗi đã vội vàng. –

+0

không biết chuyện gì đã xảy ra ngay từ đầu. Nhưng cảm ơn vì đã chia sẻ dự án này. Nó trông rất thú vị và hữu ích. –

0

Đây là một câu hỏi cũ bây giờ, nhưng làm thế nào về Processing Từ trang web của họ:.?

Chế biến là một quyển phác thảo phần mềm linh hoạt và một ngôn ngữ cho tìm hiểu cách viết mã trong ngữ cảnh của nghệ thuật thị giác.

Thật dễ dàng để tìm hiểu, nhưng khó làm chủ. Bạn có thể tạo ra một số nội dung thú vị thật nhanh và xem đó có phải là điều bạn muốn đầu tư thời gian của mình không.