Ramp Shading hoặc chiếu sáng là gì?


14

Đường dốc hoặc ánh sáng là gì và nó hoạt động như thế nào? Nó khác với toon shading hay là cùng một khái niệm? Làm thế nào tính đặc trưng được tính khác nhau cho bóng đổ dốc so với blinn-phong hoặc lambert?

Câu trả lời:


21

Trong bóng mờ Blinn / Phong truyền thống, bạn tính toán thuật ngữ khuếch tán cho một pixel bằng cách đo cosin của góc giữa bình thường ở bề mặt và hướng của ánh sáng. Vì vậy, trong trường hợp này, một shader đơn giản sẽ trông giống như thế này:

float DiffuseCoeff(in float3 pos, in float3 normal, in float3 lightPos) {
    float3 lightDir = lightPos - pos;
    lightDir.normalize();

    return max(0.0, Dot(lightDir, normal));
}

Trong bóng đổ dốc, ý tưởng là điều chỉnh hệ số khuếch tán bằng kết cấu tra cứu 1D. Tùy thuộc vào những gì bạn đặt trong kết cấu này, bạn có thể tạo ra các hiệu ứng khác nhau. Do đó, hàm shader của chúng ta để tính hệ số khuếch tán trở thành:

texture1D rampTex;
float DiffuseCoeff(in float3 pos, in float3 normal, in float3 lightPos) {
    float3 lightDir = lightPos - pos;
    lightDir.normalize();

    // Map value from [-1, 1] to [0, 1]
    float rampCoord = Dot(lightDir, normal) * 0.5 + 0.5;
    return tex1D(rampTex, rampCoord);
}

Ví dụ: nếu chúng ta muốn thực hiện một shader di động, điều chúng ta có thể làm là tạo ra một kết cấu đường nối mô phỏng chức năng bước:

nhập mô tả hình ảnh ở đây

Bạn cũng có thể sử dụng cùng một ý tưởng để tạo ra các hiệu ứng khác nhau cho ánh sáng gương. "Ramp" shading thực sự chỉ đề cập đến ý tưởng điều chỉnh giá trị bóng bằng một kết cấu.

EDIT : Team Fortress 2 sử dụng một shader dốc trong kết xuất của chúng. Bạn có thể kiểm tra các chi tiết trong bài báo này:

http://www.valvesoftware.com/publications 2007 / NPAR07_I IllustrativeRenderingInTeamFortress2.pdf

Xem trong Phần 5, tại tiểu mục có tên "Chức năng cong vênh khuếch tán"


1
Câu trả lời chính xác! Giải thích về sự khác biệt cho ánh sáng giữa ánh sáng khuếch tán và đường dốc là chính xác những gì tôi đang tìm kiếm. Tôi cũng đánh giá cao nhận xét về khái niệm bóng đổ dốc nói chung là gì. Ngoài ra, bạn có thể đăng một hình ảnh ví dụ từ một trò chơi sử dụng khái niệm này không?
StampyTurtle

@Stampyturtle Tôi đã cập nhật câu trả lời của mình bằng một ví dụ.
Mokosha
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.