[Shader] Part 5.1: Bonus Q.A

Tại sao Direction light lại có w = 0 ??

Ta sẽ đi từng bước một, để việc giải thích trở nên rõ ràng hơn. Bắt đầu bằng việc tự kiểm chứng tính chất của Directional Light

  • Bạn hãy tự tạo project 3D và thử test thuộc tính positionrotation
    • gwaa…laa… !! có thể thấy directional light chỉ phụ thuộc vào hướng (direction), còn việc dịch chuyển vị trí (transformation) thì không hề ảnh hưởng đến directional light.
  • Theo lý thuyết, khi ta muốn định nghĩa một vector chỉ đại diện cho hướng (direction vector). Ta không muốn phép biến hình (translation) làm thay đổi tính chất của nó. Với lightDirection vector cũng vậy, nên Directional Light có w = 0
  • Theo logic toán học, ví dụ ta có vector (x, y, z, w) = (0, 0, -1, 0)
    • đây là ma trận biến hình (translation matrix), dịch (X, Y, Z) đơn vị… với w = 1
      • translationMatrix
    • nếu dịch 10 đơn vị theo trục x, với w = 0
      • translationExampleDirection1
    • hmm… kết quả là với w = 0, thì việc biến hình không có nghĩa lý gì cả. Hướng của vector không hề thay đổi !

Reference articles: translation matrix – light casters


to be continued

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Blog at WordPress.com.

Up ↑

%d bloggers like this: