Một vật liệu là những gì bạn áp dụng cho hình học để cung cấp cho nó một màu sắc và hoa văn. Một kết cấu là một thành phần của một vật liệu.
Shader là một chương trình nhỏ cho phép hiển thị tài liệu này khi chạy. Điều hay ho của shader là bạn có thể làm mọi thứ, từ chỉ đơn giản là hiển thị vật liệu, cho đến thêm các hiệu ứng động như các điểm nổi bật và phản xạ cho đến những thứ cực kỳ thông minh như tạo ra các lỗ giả xuyên qua tường nơi một viên đạn đã bắn trúng.
Vì vậy, trong câu trả lời cho câu hỏi của bạn - vâng, có một sự khác biệt, cũng có một chút trùng lặp - bạn có thể tạo một vật liệu màu đỏ hoặc viết một shader để làm cho mọi thứ có màu đỏ, nhưng cả hai cũng cho phép bạn làm được nhiều thứ không thể với người khác.
và không, bạn không cần một shader cho mỗi vật liệu. mặc dù một tài liệu yêu cầu một shader được hiển thị, bạn có thể có một tài liệu cho tất cả các tài liệu nếu bạn muốn. họ làm những việc cụ thể vì vậy nếu bạn muốn mọi thứ trở nên sáng bóng chẳng hạn, bạn chỉ cần viết một cái.
Một ví dụ hay về shader là trong các bánh răng chiến tranh. có một bộ tài liệu cho cảnh, nhưng khi bạn nhấn nút để chuyển sang chế độ xem chiến thuật, các shader đang hiển thị các tài liệu này sẽ thay đổi để mọi thứ trông có vẻ khác biệt và nhìn chung khác nhau. Điều tương tự cũng xảy ra ở người dơi: 'chế độ thám tử' của arkham.