2012-07-19 45 views

Trả lời

13

số

Nếu bạn muốn vượt qua đồng phục đến một Shader mảnh, bạn có thể dễ dàng làm điều đó (xem bất kỳ hướng dẫn). Nhưng nếu bạn muốn một cái gì đó tương tự như các thuộc tính cho mỗi đỉnh, sau đó nó không có ý nghĩa để làm điều đó. Những gì bạn cũng có thể làm là chuyển các thuộc tính cho vertex shader, và sau đó trong vertex shader chuyển chúng qua shader fragment dưới dạng các biến đổi. Chúng sẽ được nội suy qua nguyên thủy và được cung cấp làm đầu vào cho trình đổ bóng phân đoạn.

+0

Tim, câu trả lời này thực sự được đặt vào vị trí cho tôi chỉ cách thức đồng phục, thuộc tính và các thay đổi hoạt động cùng nhau. Cảm ơn! – Jackalope

+1

Nội suy có thể được kiểm soát không? Ví dụ, trong trường hợp nguồn sáng (đèn pin), bạn không muốn sự thay đổi gây ra điểm nhấn trong các hình tam giác đã được sử dụng cho mỗi ô vuông. Thay vì một vòng O, bạn sẽ nhận được một cái gì đó giống như một O với một \ hoặc/thông qua nó, thật đáng buồn. –

1

Câu trả lời của Tim dĩ nhiên là chính xác.

Cách giải quyết có thể là lưu trữ các giá trị float của bạn trong kết cấu 2D và chuyển tọa độ kết cấu (và số lượng giá trị) cho trình đổ bóng. Tuy nhiên, điều này có thể trở nên thực sự chậm nếu bạn có số lượng lớn các giá trị float trên mỗi đỉnh (vì tất cả các tra cứu kết cấu trên mỗi đoạn). Một vấn đề khác là kết quả này trong kết cấu rất lớn nếu bạn có rất nhiều đỉnh. Dù sao, trong một số trường hợp, cách tiếp cận này có thể hữu ích.

Các vấn đề liên quan