Những gì lập trình viên đồ họa nên viết [đóng]


18

Tôi đã thấy câu hỏi này trên SO, nhưng ở đây tôi muốn nó tập trung vào GFX.

Vì vậy, theo bạn, những ứng dụng / tính năng nào mà mỗi lập trình viên GFX khao khát viết / thay đổi để trở nên tốt hơn?

Wiki cộng đồng vì không có "câu trả lời đúng".

LE: Không đề cập đến các trò chơi thực tế, mà là các tính năng đồ họa, ví dụ như thay đổi một cái gì đó trong một công cụ (ví dụ như cách nó tải các đối tượng), tạo ra một nhà soạn nhạc, v.v.


2
Tương tự với câu hỏi này: gamedev.stackexchange.com/questions/854/ Kẻ
Bryan Denny

Câu trả lời:


22

Câu trả lời của tôi luôn giống nhau: nếu bạn chưa từng viết trước đây, hãy viết một raytracer.

Bạn sẽ phải đối phó với các cấu trúc tối ưu hóa, độ chính xác bằng số và tất cả các vấn đề khác, nhưng bạn cũng sẽ làm việc trực tiếp với toán học ánh sáng theo cách mà bạn hiếm khi làm khi xử lý tất cả các hack và xấp xỉ tạo thành một trình kết xuất thời gian thực sản xuất.

Loại bỏ tất cả các hệ thống tải, buzzwords trong tuần, hoãn lại này hoặc chuyển tiếp, và cuối cùng, bạn sẽ rời đi, với ánh sáng truyền qua một phương tiện. Cuối cùng, đó là tất cả về đồ họa.


Thật thú vị, tôi đã suy nghĩ về việc đề xuất một raytracer, một bài tập toán rất hay. Tôi không đồng ý với việc trì hoãn là một từ thông dụng trong tuần, giống như raytracing, một sự thay đổi khá lớn trong cách bạn tiếp cận kết xuất của mình, điều mà đối với một lập trình viên đồ họa dường như là điều bạn nên chú ý.
Kaj

Tôi sẽ nói rằng tối ưu hóa không quan trọng bằng việc xử lý các mắt lưới tùy ý, đây là một bước mà rất nhiều người không bao giờ có được với raytracers.
Jonathan Fischoff

Tôi muốn đề xuất thứ hai (thứ ba?), Với lời cảnh báo (như đã đề cập), nó cần hỗ trợ các mắt lưới, và không chỉ dừng lại ở bảng sáng bóng-trên-một-chequerboard. Điểm thưởng cho bất kỳ nỗ lực chiếu sáng toàn cầu. Ngay cả khi bạn không tối ưu hóa nó thành một thứ gì đó thực sự có thể sử dụng được , bạn vẫn nên cố gắng hiểu bit nào chậm và tại sao.
JasonD

Và một lời cảnh báo với gợi ý này - trong khi ánh sáng truyền qua một phương tiện chỉ dành cho đồ họa, nó sẽ cung cấp cho bạn rất ít sự đào tạo về những gì bạn cần trong môi trường sản xuất thực tế (hiện tại).
Kaj

1
+1 viết một công cụ dò tia là điều hữu ích nhất tôi học được trong lớp đồ họa của trường đại học
Bryan Denny

7

Nó có thể ít được sử dụng thực tế ngày nay, nhưng viết tại một trình kết xuất phần mềm, ít nhất là một cơ bản (có thể chỉ là một số khối kết cấu quay tròn), là một bài tập đáng giá.

Hiểu cách tự biến đổi, chiếu, chiếu, sắp xếp theo chiều sâu, rasterize và đa giác bản đồ kết cấu sẽ giúp bạn hiểu rõ hơn về những gì phần cứng 3D và API kết xuất đang làm


khá nhiều điều này Chặn điều này, một blitter sprite với hỗ trợ alpha. .. hoặc ít nhất một cái gì đó, MỌI THỨ, nơi bạn thao tác các pixel bằng các giá trị bit của chúng.
Lassi Kinnunen

6

Mặc dù không kết xuất mã, tôi nghĩ rằng viết một trình biên dịch BSP và mã truyền tải đi kèm là một bài tập hay trong toán học vectơ.
Thứ hai, một trình kết xuất hoãn lại. Không phải vì đó là câu trả lời cuối cùng cho kết xuất, nhưng nó sẽ giúp bạn hiểu rõ hơn về cách tiếp cận khác để kết xuất.


2

Tìm hiểu các cơ chế và kỹ năng viết shader tốt. Mặc dù không cần thiết 100% trong mọi trường hợp, nhưng đó là một kỹ năng quý giá cần biết.


Tôi đồng ý với câu trả lời của bạn tuy nhiên nó quá rộng và một số tài nguyên và liên kết đến chúng sẽ không gây hại cho câu trả lời hoàn chỉnh :).
lukas.pukenis
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.