Như chúng ta đã biết rằng là để xử lý dữ liệu đỉnh thì chúng ta sẽ xử lý bên trong vert
.
Chúng ta sẽ xem shader sau, tác dụng của shader này giống như vòng lặp Tween.LocalScale cho game object đó về mặt hình ảnh.
|
|
Dữ liệu chuyển từ bước xử lý vertex sang fragment chỉ là SV_POSITION
mà thôi
Ở bước xử lý vertex thì chúng ta thực hiện chuyển đổi vị trí từ không gian 3d sang không gian 2d hiển thị trên màn hình bằng hàm UnityObjectToClipPos
Tọa độ x, y, z của mỗi đỉnh được nhân với cos(_Time.y)
để có được sự biến thiên giá trị theo thời gian.
Kiểu dữ liệu của _Time
là float4 (x, y, z, w) tương ứng với các giá trị (t/20, t, 2t, 3t). Giá trị _Time.y sẽ tương đương với sử dụng t
|
|
Ở bước xử lý fragment chúng ta không xử lý gì cả mà trả về trực tiếp màu trắng.
|
|
Kết quả thu được hiệu ứng như dưới đây