Phân loại texture dùng trong Engine

Một phần của tài liệu nghiên cứu và xây dựng thử nghiệm 3G Engine (Trang 53 - 56)

Texture trong Nwfc có thểđược dùng với các mục đích sau đây.

Texture thường. Dùng như tập tin ảnh thông thường, texture được sử dụng nhiều nhất trong Engine.

Normal map.Đây là loại texture đặc biệt, thay vì chứa thông tin về màu sắc như texture thường, normal texture chứa các thông tin về không gian pháp tuyến (tangent space) của vật thể trong từng điểm ảnh. Normap map chỉ pháp huy tác dụng khi được dùng kèm với Vertex Shader và Pixel Shader, nếu không thì nó sẽ đóng vai trò như một texture thường.

Specular map. Đây cũng là 1 loại texture đặc biệt, texture này chỉ chứa thông tin dạng grayscale. Texture khi áp vào mặt vật thể sẽ cho biết thông tin về mức độ phản chiếu của ánh sáng lên bề mặt vật thể (specular lighting). Cũng giống như normal map, specular map phải được dùng kèm với Vertex Shader và Pixel Shader.

Normal map và specular map thường được dùng để thực hiện thuật toán chiếu sáng trên từng điểm ảnh (per pixel lighting), per pixel lighting chỉ mới được sử

trên từng đỉnh (per vertex lighting) chủ yếu là do thiếu sự hỗ trợ từ phần cứng và công đoạn tạo ra các texture này thường tốn khá nhiều thời gian.

Environment Cube Map. Texture này rất khác với các loại trên do chứa tới 6 ảnh riêng biệt trong 1 texture. Cubemap chứa 6 ảnh mô mả khung cảnh môi trường 6 mặt xung quanh vật thể đó là các mặt Face 0, 1, 2, 3, 4, 5 tương ứng với { +X, -X, +Y, -Y, +Z, -Z } của khối hộp.

Hình 3-6 Các mặt của Environment Cube Map

Cubemap dùng chủ yếu thể hiện sự phản chiếu của môi trường xung quanh lên vật thểđối với các bề mặt phản chiếu ánh sáng như kim loại, thủy tinh…

Render Target Texture. Texture này không lấy dữ liệu từ tập tin ảnh mà dữ liệu ảnh có được là do render các vật thể vào texture. Đây là loại texture xử lý phức tạp nhất trong các loại texture nhưng ứng dụng để tạo hiệu ứng cũng nhiều nhất. Texture này được dùng để tạo các hiệu ứng cực kỳ đặc biệt như mặt nước, khúc xạ ánh sáng, motion blur….. và thường được dùng chung với Vertex Shader và Pixel Shader.

Một phần của tài liệu nghiên cứu và xây dựng thử nghiệm 3G Engine (Trang 53 - 56)