



















Preview text:
  lOMoARcPSD| 58854646
TRƯỜNG ĐẠI HỌC KIẾN TRÚC HÀ NỘI 
KHOA CÔNG NGHỆ THÔNG TIN  --------------------    BÀI TẬP LỚN 
MÔN: KỸ THUẬT ĐỒ HOẠ MÁY TÍNH 
 ĐỀ TÀI: CHIẾU SÁNG VÀ TÔ MÀU    
GIẢNG VIÊN HƯỚNG DẪN: 
TS. PHẠM TRỌNG TUẤN    NHÓM SINH VIÊN: 
NGUYỄN TRẦN BẢO KHANH  VŨ VĂN HÙNG  PHẠM BÌNH MINH  NGUYỄN VĂN HỢP  TRINH QUỐC NAM  BÙI QUANG NGHỊ    LỚP:  22CN3  HÀ NỘI 28- 4 - 2025        lOMoARcPSD| 58854646 Mục Lục 
Mở đầu.................................................................................................................... 
CHỦ ĐỀ 2: CHIẾU SÁNG VÀ TÔ MÀU.............................................................. 
1. Giới thiệu về chiếu sáng và tô màu........................................................................2 
2. Mô hình lý thuyết của chiếu sáng và khuếch tán...................................................2 
3. Công thức tính các thành phần ánh sáng khuếch tán.............................................3 
3.1. Công thức tính các thành phần ánh sáng khếch tán phản 
chiếu”................4 
3.2. Môi trường áp dụng cho các đỉnh của đối 
tượng........................................5 
4. Các phương pháp nội suy......................................................................................7 
4.1. Phương pháp nội suy Gouraud để tô màu cho tam 
giác..............................7 
4.2. Phương pháp nội suy Phong để tô màu cho tam 
giác.................................7 
5. Sử dụng hàm gll.ighttfv() để thiết lập đặc tính vật liệu..........................................7 
6. Sử dụng hmaf g.Materialf() để thiết lập đặc tính vật 
liệu.......................................7 
7. Công thức tính giáp tuyến của các bề mặt.............................................................8        lOMoARcPSD| 58854646
Tài liệu tham khảo.................................................................................................        lOMoARcPSD| 58854646 MỞ ĐẦU 
Nội dung tài liệu chủ yếu dựa trên tài liệu được cung cấp và trên mạng 
Internet , dù đã cố gắng soát xét nhưng chắc hẳn còn nhiều sai sót, vì thế rất 
mong nhận được ý kiến phản hồi từ bạn đọc. Mọi ý kiến xin gửi về  1303buiquanghi@gmail.com.   Đồng Tác giả 
Nguyễn Trần Bảo Khanh  Vũ Văn Hùng  Nguyễn Văn Hợp  Phạm Bình Minh  Bùi Quang Nghị  iv      lOMoARcPSD| 58854646     1      lOMoARcPSD| 58854646
CHỦ ĐỀ 2: CHIẾU SÁNG VÀ TÔ MÀU 
1. Giới thiệu về chiếu sáng và tô màu 
Chiếu sáng và tô màu là hai kỹ thuật quan trọng trong đồ họa máy tính nhằm 
tăng tính chân thực và sinh động cho hình ảnh. Chiếu sáng (Lighting) mô phỏng 
cách ánh sáng tác động đến bề mặt của vật thể, tạo ra các hiệu ứng như bóng đổ, độ 
sáng tối, và sự phản xạ ánh sáng. Nhờ chiếu sáng, hình ảnh trở nên có chiều sâu và 
gần gũi với thực tế hơn. Tô màu (Shading) là quá trình xác định màu sắc cuối cùng 
tại mỗi điểm ảnh (pixel) trên bề mặt vật thể dựa trên ánh sáng, màu vật liệu, và các 
yếu tố môi trường. Tô màu giúp vật thể thể hiện được chất liệu như bóng bẩy,  nhám, mờ hay trong suốt. 
Kết hợp chiếu sáng và tô màu chính là nền tảng để tạo ra những hình ảnh 3D 
hoặc hình ảnh 2D sống động, chân thực trong các ứng dụng phim ảnh, game, mô  phỏng khoa học... 
2. Mô hình lý thuyết của chiếu sáng và khuếch tán 
Trong đồ hoạ máy tính, các mô hình lý thuyết được xây dựng để mô phỏng 
ánh sáng và cách nó tương tác với vật thể. Các mô hình cơ bản bao gồm: mô hình 
ánh sáng và mô hình tô màu (Shading Models). 
Mô hình ánh sáng gồm ánh sáng môi trường (Ambient Light) làm ánh sáng 
khuếch tán đều khắp không gian, không có nguồn rõ ràng. Ánh sáng điểm (Point 
Light) phát ra từ một điểm cố định và tỏa ra mọi hướng. Ánh sáng định hướng 
(Directional Light) là tia sáng song song nhau như ánh sáng mặt trời.   
Mô hình tô màu: Ánh sáng phóng xạ (Spot Light), tập trung vào một khu vực 
giới hạn, như ánh đèn sân khấu. Flat Shading, tô màu đồng nhất cho mỗi mặt tam  2      lOMoARcPSD| 58854646
giác, phù hợp với vật thể phẳng. Gouraud Shading, tính toán màu ở các đỉnh và nội 
suy màu cho các điểm bên trong tam giác, cho ra hiệu ứng mềm mại. Phong 
Shading, suy vector pháp tuyến và sau đó tính màu sắc, tạo ra ánh sáng phản chiếu 
mượt mà hơn. Mô hình phản xạ ánh sáng (Lighting Models). Mô hình phản xạ 
Lambert, mô tả phản xạ khuếch tán (diffuse reflection), ánh sáng phản xạ đều mọi 
hướng. Mô hình phản xạ phong, thêm thành phần phản xạ gương (specular 
reflection) để mô phỏng độ bóng vật thể.   
Phương trình ánh sáng tổng quát:    Trong đó: 
I là tổng cường độ ánh sáng tại một điểm trên bề mặt vật thể. 
I môi trường là thành phần ánh sáng môi trường (ánh sáng toả đều, không phụ thuộc  hướng chiếu). 
I khuếch tán là thành phần ánh sáng khuếch tán (ánh sáng phản xạ đều khi ánh sáng 
chiếu vào bề mặt vật thể). 
I phản xạ gương là thành phần ánh sáng phản xạ gương (ánh sáng phản chiếu có 
hướng, tạo ra độ bóng trên bề mặt). 
3. Công thức tính các thành phần ánh sáng khuếch tán 
Trong đồ hoạ máy tính, ánh sáng khuếch tán là một thành phần quan trọng 
trong mô hình chiếu sáng (lighting model), thường được sử dụng để mô phỏng cách 
ánh sáng chiếu lên một bề mặt và phân tán đều theo mọi hướng. Ánh sáng khuếch  3      lOMoARcPSD| 58854646
tán không phụ thuộc vào góc nhìn của người quan sát mà chỉ phụ thuộc vào góc 
giữa nguồn sáng và bề mặt. 
Công thức tổng quát cho ánh sáng khuếch tán: 
Ánh sáng khuếch tán được tính theo công thức sau (dựa trên mô hình chiếu  sáng Lambert): 
Id=Il ∗k d ∗max(0,N ∗ L)❑  Trong đó: 
Id: Cường độ ánh sáng khuếch tán tại điểm trên bề mặt. 
Il: Cường độ ánh sáng từ nguồn sáng (thường là màu của ánh sáng, ví  dụ: RGB). 
k d : Hệ số khuếch tán của vật liệu (một giá trị màu đại diện cho khả 
năng khuếch tán ánh sáng của bề mặt, cũng thường là RGB). 
N: Vector pháp tuyến (normal vector) tại điểm trên bề mặt. 
L: Vector hướng từ điểm trên bề mặt đến nguồn sáng. 
N*L: Tích vô hướng giữa vector pháp tuyến và vector ánh sáng, biểu 
thị góc giữa hai vector này. 
max(0,N*L):Đảm bảo giá trị không âm (nếu góc giữa và lớn hơn 90 
độ, ánh sáng không chiếu đến bề mặt, nên giá trị ánh sáng khuếch tán bằng  0).  Ý nghĩa: 
Ánh sáng khuếch tán mô phỏng hiện tượng ánh sáng chiếu lên một bề 
mặt mờ (matte surface) như giấy hoặc vải, nơi ánh sáng bị phân tán đều theo  mọi hướng.  4      lOMoARcPSD| 58854646
Khi N L=1 (ánh sáng chiếu vuông góc với bề mặt), ánh sáng khuếch ⋅ 
tán đạt giá trị tối đa. 
Khi N L≤0 (ánh sáng chiếu từ phía sau bề mặt), ánh sáng khuếch tán ⋅  bằng 0. 
3.1. Công thức tính các thành phần ánh sáng khếch tán phản chiếu” 
Việc kết hợp ánh sáng khuếch tán (diffuse lighting) với ánh sáng phản chiếu 
(specular lighting) trong một mô hình chiếu sáng hoàn chỉnh 
Ánh sáng phản chiếu (Specular Lighting): ánh sáng phản chiếu mô phỏng 
hiện tượng phản xạ ánh sáng trên các bề mặt bóng loáng (như kim loại hoặc nhựa 
bóng). Không giống ánh sáng khuếch tán, ánh sáng phản chiếu phụ thuộc vào góc 
nhìn của người quan sát. 
Công thức ánh sáng phản chiếu (theo mô hình Phong):      Trong đó: 
Is : Cường độ ánh sáng phản chiếu. Il : 
Cường độ ánh sáng từ nguồn sáng. 
ks : Hệ số phản chiếu của vật liệu (màu specular của bề mặt). 
R: Vector phản xạ của ánh sáng, được tính bằng: R=2(N*L)N−L. 
V: Vector hướng từ điểm trên bề mặt đến người quan sát (camera). 
R* V: Tích vô hướng giữa vector phản xạ và vector hướng nhìn. 
n: Hệ số bóng loáng (shininess), quyết định độ tập trung của điểm 
sáng (highlight). Giá trị nnn càng lớn, điểm sáng càng nhỏ và sắc nét.  5      lOMoARcPSD| 58854646
Kết hợp ánh sáng khuếch tán và ánh sáng phản chiếu: 
Trong mô hình chiếu sáng Phong, tổng cường độ ánh sáng tại một điểm trên 
bề mặt được tính bằng cách cộng ánh sáng khuếch tán, ánh sáng phản chiếu và ánh 
sáng môi trường (ambient lighting): 
 I=Ia+Id +Is  Trong đó: 
Ia : Ánh sáng môi trường (ambient lighting), với a là hệ số môi trường  của vật liệu. 
Id,Is : Ánh sáng khuếch tán. 
3.2. Môi trường áp dụng cho các đỉnh của đối tượng 
Cách áp dụng các thành phần ánh sáng (như khuếch tán và phản chiếu) trong 
một môi trường dựng hình, cụ thể là áp dụng tại các đỉnh (vertices) của đối tượng  3D. 
Ý nghĩa trong đồ họa máy tính: 
Đối tượng 3D: Một đối tượng 3D (như mô hình xe) được biểu diễn dưới 
dạng lưới (mesh), gồm các đỉnh (vertices), cạnh (edges) và mặt (faces). 
Áp dụng tại các đỉnh: Trong các pipeline đồ họa (như OpenGL hoặc 
DirectX), ánh sáng thường được tính toán tại các đỉnh của lưới (vertex shader) trước 
khi nội suy (interpolate) để áp dụng cho toàn bộ bề mặt. 
Cách áp dụng ánh sáng tại các đỉnh: 
1. Tính toán ánh sáng tại mỗi đỉnh: 
 Với mỗi đỉnh của đối tượng, bạn cần:  6      lOMoARcPSD| 58854646
Vector pháp tuyến N tại đỉnh (thường được tính bằng cách lấy trung bình 
pháp tuyến của các mặt xung quanh đỉnh). 
Vector ánh sáng L từ đỉnh đến nguồn sáng. 
Vector nhìn V từ đỉnh đến camera. 
 Áp dụng công thức ánh sáng khuếch tán và phản chiếu tại mỗi đỉnh để tính màu  (RGB) tại đỉnh đó. 
2. Nội suy màu trên mặt (Shading): 
Sau khi tính màu tại các đỉnh, pipeline đồ họa sẽ nội suy màu trên toàn bộ 
mặt của đối tượng. Có hai phương pháp chính: 
Flat Shading: Sử dụng một màu duy nhất (tính tại một đỉnh hoặc trung bình)  cho cả mặt. 
Gouraud Shading: Nội suy tuyến tính màu giữa các đỉnh để tạo hiệu ứng  mượt mà hơn. 
3. Môi trường (Environment): 
Ánh sáng: Môi trường bao gồm các nguồn sáng (điểm, hướng, hoặc 
spotlight) ảnh hưởng đến ánh sáng khuếch tán và phản chiếu. 
Camera: Vị trí camera ảnh hưởng đến vector nhìn V, từ đó ảnh hưởng đến  ánh sáng phản chiếu. 
Hiệu ứng: Môi trường có thể bao gồm sương mù (fog), bóng (shadow), hoặc 
các hiệu ứng khác làm thay đổi cách ánh sáng được áp dụng.  Ví dụ thực tế: 
Giả sử bạn có một mô hình xe 3D: 
Mỗi đỉnh trên lưới của xe sẽ có vector pháp tuyến riêng.  7      lOMoARcPSD| 58854646
Bạn tính ánh sáng khuếch tán và phản chiếu tại mỗi đỉnh dựa trên nguồn  sáng và vị trí camera. 
Pipeline đồ họa (như OpenGL) sẽ nội suy màu giữa các đỉnh để tạo hiệu ứng 
ánh sáng mượt mà trên bề mặt xe. 
Nếu môi trường thay đổi (ví dụ: từ ban ngày sang ban đêm), ánh sáng khuếch 
tán và phản chiếu tại các đỉnh sẽ thay đổi, dẫn đến sự thay đổi trong cách xe được  hiển thị. 
4. Các phương pháp nội suy   
Nội suy (interpolation) được sử dụng để tính toán màu sắc bên trong một đa 
giác dựa trên các giá trị đã biết ở một số điểm (ví dụ tại các đỉnh). Mục đích của các 
phương pháp nội suy là tạo ra hiệu ứng tô màu bề mặt liên tục và mượt mà, thay vì 
tô màu phẳng mỗi mặt đa giác bằng một màu duy nhất. Nhờ nội suy, ta có thể xấp 
xỉ bề mặt cong một cách chân thực hơn trên mô hình lưới đa giác. Hai phương pháp 
nội suy kinh điển thường được sử dụng trong kỹ thuật tô bóng bề mặt là nội suy 
Gouraud và nội suy Phong. Phương pháp Gouraud tính toán ánh sáng tại các đỉnh 
và nội suy màu dọc theo bề mặt đa giác, trong khi phương pháp Phong cải tiến hơn 
bằng cách nội suy vectơ pháp tuyến và tính toán ánh sáng tại từng điểm ảnh (pixel) 
4.1 Phương pháp nội suy Gouraud để tô màu cho tam giác 
Phương pháp Gouraud (hay tô bóng Gouraud) được Henri Gouraud giới  thiệu năm 1971 
Đây là một trong những kỹ thuật đầu tiên để tạo bóng mịn trên mô hình đa 
giác. Thay vì tô một màu đồng nhất cho toàn bộ mặt đa giác (tô màu phẳng), nội 
suy Gouraud tính toán cường độ ánh sáng tại các đỉnh của đa giác dựa trên mô hình 
chiếu sáng (ví dụ: mô hình Phong với thành phần khuếch tán và phản xạ gương) rồi 
nội suy tuyến tính các giá trị màu hoặc độ sáng đó vào bên trong đa giác. Kết quả là 
bề mặt được tô màu liên tục, các vùng chuyển tiếp màu sắc dần dần giúp giảm bớt 
cảm giác “góc cạnh” giữa các đa giác liền kề.  8      lOMoARcPSD| 58854646
4.1.1) Các bước thực hiện  1. 
Tính toán pháp tuyến tại các đỉnh: Xác định vectơ pháp tuyến tại mỗi 
đỉnh của đa giác. Thông thường pháp tuyến đỉnh được lấy trung bình từ các 
pháp tuyến mặt kề nhau (giúp bề mặt xuất hiện nhẵn hơn), hoặc nếu mô 
hình đã có pháp tuyến đỉnh định sẵn thì sử dụng trực tiếp các giá trị đó.  2. 
Tính màu tại các đỉnh: Áp dụng mô hình chiếu sáng (ví dụ: tính thành 
phần ánh sáng môi trường, khuếch tán và phản xạ tại đỉnh) để xác định màu 
hoặc cường độ sáng tại mỗi đỉnh. Mỗi đỉnh sẽ có một màu tính toán dựa 
trên hướng pháp tuyến đỉnh, hướng nguồn sáng, hướng quan sát và thuộc  tính vật liệu.  3. 
Nội suy màu trong đa giác: Trong quá trình rasterization (quét điểm 
ảnh để vẽ đa giác), thực hiện nội suy tuyến tính màu giữa các đỉnh. Ví dụ, 
với tam giác, màu tại các điểm ảnh bên trong được nội suy theo tọa độ 
barycentric hoặc theo từng scanline từ màu của ba đỉnh. Kết quả là mỗi 
điểm ảnh bên trong đa giác được gán một giá trị màu nội suy từ các đỉnh. 4. 
Hiển thị đa giác: Đặt màu vừa tính cho từng điểm ảnh của đa giác lên màn 
hình. Toàn bộ đa giác sẽ có sự chuyển tiếp màu trơn tru từ màu tại các đỉnh, 
tạo cảm giác bề mặt được chiếu sáng mềm mại. 
4.1.2) Ưu nhược điểm Ưu điểm: 
Tính toán nhanh chóng do chỉ cần áp dụng mô hình chiếu sáng tại số 
lượng hữu hạn các đỉnh rồi nội suy tuyến tính cho các điểm ảnh còn lại. So 
với việc tính ánh sáng tại mọi pixel, phương pháp Gouraud giúp giảm đáng 
kể số phép tính, phù hợp với phần cứng đồ họa hạn chế hoặc nhu cầu thời  gian thực cao. 
Dễ triển khai: kỹ thuật nội suy tuyến tính màu giữa các đỉnh khá đơn 
giản. Đây là phương pháp mặc định trong nhiều API đồ họa cổ điển (như 
OpenGL ở chế độ GL_SMOOTH) để tạo hiệu ứng tô màu mịn mà không đòi 
hỏi lập trình phức tạp.  9      lOMoARcPSD| 58854646 Nhược điểm: 
Bỏ lỡ điểm sáng phản xạ (specular highlight): Phương pháp Gouraud 
có thể không hiển thị đúng các điểm lóe sáng nhỏ trên bề mặt. Trường hợp tệ 
nhất là khi một điểm sáng phản xạ mạnh rơi vào giữa một đa giác lớn – do 
điểm sáng này không hiện diện tại các đỉnh, nội suy Gouraud sẽ không thể tái 
hiện nó bên trong đa giác 
Điều này dẫn đến việc các điểm sáng gương nhỏ có thể bị mất hoặc  mờ nhạt hơn thực tế. 
Hiệu ứng dải Mach: Nội suy tuyến tính cường độ sáng có thể gây ra 
sự gián đoạn trong đạo hàm của phân bố độ sáng giữa các đa giác kề nhau, 
làm xuất hiện hiệu ứng quang học Mach band – các dải sáng tối giả tạo dọc 
theo ranh giới giữa các đa giác 
Mắt người có xu hướng nhấn mạnh ranh giới giữa các vùng sáng tối 
chuyển tiếp tuyến tính, khiến ta thấy những vệt sáng hoặc tối hơn mức có  thực. 
Độ chính xác hạn chế: Với các mô hình có đa giác lớn hoặc độ phản 
xạ cao, Gouraud shading cho kết quả kém chính xác hơn so với phương pháp 
tính toán chiếu sáng chi tiết hơn. Chất lượng hình ảnh phụ thuộc vào độ phân 
chia đa giác: nếu lưới đa giác không đủ mịn, các hiệu ứng ánh sáng tinh tế có 
thể không được thể hiện đầy đủ. 
Không còn phù hợp cho đồ họa hiện đại: Ngày nay, với sự phát triển 
của phần cứng, phương pháp Gouraud ít được sử dụng do đã có các kỹ thuật 
tô bóng tiên tiến hơn cho chất lượng cao hơn.  10      lOMoARcPSD| 58854646
Tuy vẫn hữu ích trong một số trường hợp đơn giản yêu cầu tốc độ, nó 
chủ yếu mang ý nghĩa lịch sử như bước đệm dẫn tới các kỹ thuật tốt hơn (ví  dụ: nội suy Phong). 
4.1.3) Ví dụ minh họa 
Giả sử ta có một tam giác đại diện cho bề mặt một vật thể, với ba đỉnh A,  B, C. 
Pháp tuyến tại các đỉnh đã được tính và cho biết đỉnh A hướng gần về nguồn 
sáng (nên sáng nhất), đỉnh B hướng hơi chếch (sáng vừa phải) và đỉnh C quay lưng 
với nguồn sáng (nên tối nhất). Áp dụng nội suy Gouraud, ta tính được màu tại A, B, 
C lần lượt là: A rất sáng, B trung bình, C tối. Khi tô màu tam giác bằng phương 
pháp Gouraud, các điểm ảnh phía trong tam giác sẽ chuyển tiếp màu dần dần từ A 
tới B tới C. Kết quả thu được là một bề mặt có sắc độ thay đổi mịn màng từ sáng 
sang tối. Tuy nhiên, nếu trên bề mặt vật thể có một điểm lóe sáng nằm ở chính giữa 
tam giác (do phản xạ gương mạnh tại điểm đó), phương pháp Gouraud sẽ không 
hiển thị được điểm sáng này một cách rõ ràng, bởi vì không có đỉnh nào của tam 
giác nhận được độ sáng cao bất thường đó. Điểm lóe sáng sẽ bị hòa vào nội suy 
chung và có thể không được nhìn thấy, làm giảm tính chân thực của hình ảnh 
4.2. Phương pháp nội suy Phong để tô màu cho tam giác 
Phương pháp nội suy Phong (hay tô bóng Phong), do Bùi Tường Phong 
đề xuất năm 1973, là một kỹ thuật nội suy vectơ pháp tuyến để tô màu bề mặt 
vật thể một cách mượt mà và chính xác hơn. Khác với Gouraud nội suy màu, 
nội suy Phong nội suy các vectơ pháp tuyến của bề mặt trong lòng mỗi đa giác 
và tính màu cho từng điểm ảnh dựa trên pháp tuyến nội suy đó 
Nói cách khác, phương pháp này kết hợp nội suy pháp tuyến mịn màng 
trên bề mặt với việc áp dụng mô hình phản xạ ánh sáng tại mức điểm ảnh. Kỹ 
thuật của Phong được xem là tiên tiến đột phá vào thời điểm giới thiệu, nhưng  11      lOMoARcPSD| 58854646
về sau đã trở thành phương pháp cơ sở trong nhiều ứng dụng kết xuất do hiệu 
năng tính toán trên mỗi pixel được cải thiện đáng kể 
Hiện nay, nội suy Phong (kết hợp với mô hình phản xạ Phong hoặc các 
mô hình tương tự) là phương pháp tiêu chuẩn để tạo hiệu ứng tô bóng mượt cho 
hầu hết các hệ thống đồ họa thời gian thực. 
4.2.1 Các bước thực hiện  1. 
Tính toán pháp tuyến tại các đỉnh: Tương tự Gouraud, trước hết xác 
định vectơ pháp tuyến cho mỗi đỉnh của đa giác (thông qua hình học mô hình 
hoặc trung bình pháp tuyến các mặt kề nhau). Những pháp tuyến đỉnh này 
được dùng làm cơ sở cho nội suy tiếp theo.  2. 
Nội suy pháp tuyến trong đa giác: Khi quét raster hóa đa giác, tại mỗi 
điểm ảnh (pixel) nằm bên trong đa giác, tính toán vectơ pháp tuyến nội suy 
từ các pháp tuyến đỉnh. Quá trình nội suy thường thực hiện tuyến tính theo 
tọa độ không gian màn hình (kết hợp với kỹ thuật nội suy perspective-correct 
nếu cần để chính xác trong không gian 3D). Vectơ pháp tuyến nội suy tại 
mỗi pixel sau đó được chuẩn hóa (normalize) về độ dài 1, vì phép nội suy 
tuyến tính có thể làm độ dài vectơ thay đổi.  3. 
Tính toán màu tại mỗi điểm ảnh: Áp dụng mô hình chiếu sáng (ví dụ: 
mô hình phản xạ Phong với thành phần môi trường, khuếch tán, phản xạ 
gương) tại từng điểm ảnh, sử dụng vectơ pháp tuyến vừa nội suy ở bước 2. 
Tức là đối với mỗi pixel, ta tính cường độ sáng dựa trên vectơ pháp tuyến đã 
có, kết hợp với hướng nguồn sáng, hướng quan sát và thuộc tính vật liệu, 
giống như cách tính tại đỉnh nhưng nay thực hiện cho từng điểm ảnh. Kết 
quả thu được là màu sắc cuối cùng của pixel đó. 
Hiển thị pixel: Gán màu tính được cho điểm ảnh tương ứng trên đa 
giác. Quá trình lặp lại cho mọi pixel bên trong đa giác sẽ tô màu toàn bộ đa  12      lOMoARcPSD| 58854646
giác với mức độ chi tiết cao. Vì mỗi pixel đều được tính sáng độc lập, hiệu 
quả tổng thể là bề mặt được tô bóng mịn màng, phản ánh chính xác các biến 
đổi ánh sáng tinh tế trên bề mặt. 
4.2.2 Ưu nhược điểm  Ưu điểm: 
Chất lượng hình ảnh cao: Nội suy Phong cho kết quả tô màu mượt 
hơn và chính xác hơn so với Gouraud. Nhờ tính ánh sáng ở cấp độ điểm ảnh, 
phương pháp này tái hiện tốt các điểm sáng nhỏ (highlight) cũng như các 
thay đổi ánh sáng phức tạp trên bề mặt. Vấn đề bỏ lỡ điểm lóe sáng ở giữa đa 
giác được khắc phục hoàn toàn: bất kỳ vị trí nào trên bề mặt nếu hướng phù 
hợp với nguồn sáng và người quan sát sẽ hiện lên điểm sáng phản xạ rõ nét 
Hình ảnh thu được vì thế chân thực hơn, đặc biệt trên các vật thể có  độ bóng cao. 
Giảm thiểu nhiễu thị giác: Do nội suy Phong giả lập bề mặt trơn tru 
liên tục (pháp tuyến thay đổi liên tục trên bề mặt) nên hiện tượng dải Mach 
giữa các đa giác gần như được loại bỏ. Ở ranh giới giữa các đa giác, nếu các 
đỉnh chung có cùng pháp tuyến (trong mô hình bề mặt trơn), thì màu tính ra 
tại các pixel dọc theo cạnh chung đó từ hai phía sẽ gần như giống nhau. Nhờ 
đó không xuất hiện sự gián đoạn thấy rõ về độ sáng như trường hợp  Gouraud. 
Tiêu chuẩn hiện đại: Với sự phổ biến của phần cứng tăng tốc đồ họa 
(GPU) mạnh mẽ, phương pháp Phong đã trở thành tiêu chuẩn cho tô bóng 
trong thời gian thực. Các shader điểm ảnh (pixel/fragment shader) ngày nay 
thường hiện thực một dạng nội suy Phong để tính ánh sáng, đảm bảo cân 
bằng tốt giữa chất lượng và hiệu năng  13      lOMoARcPSD| 58854646
Khi phần cứng không còn là rào cản lớn, lợi thế về chất lượng của 
Phong shading càng được phát huy, làm cho nó phù hợp trong hầu hết các 
ứng dụng đồ họa interactive hiện đại.  Nhược điểm: 
Chi phí tính toán cao hơn: Nhược điểm chính của nội suy Phong là tốn 
tài nguyên tính toán hơn Gouraud do phải thực hiện mô hình chiếu sáng cho 
từng điểm ảnh thay vì chỉ vài đỉnh. Số phép toán tăng lên đáng kể, đặc biệt 
đối với các cảnh độ phân giải cao. Thời gian render có thể chậm hơn nếu 
phần cứng không đủ mạnh. (Trong giai đoạn những năm 1970-1980, việc 
tính toán ở mức điểm ảnh bị xem là quá chậm cho thời gian thực; mãi sau 
này khi GPU phát triển, phương pháp Phong mới được ứng dụng rộng rãi.) 
Đòi hỏi triển khai phức tạp hơn: So với Gouraud, việc hiện thực nội 
suy Phong phức tạp hơn đôi chút. Lập trình cần tính nội suy vectơ (và phải 
chuẩn hóa vectơ pháp tuyến mỗi pixel), cũng như tính ánh sáng nhiều lần. 
Điều này yêu cầu cẩn thận để đảm bảo hiệu suất (ví dụ: sử dụng các thuật 
toán nội suy và chuẩn hóa hiệu quả). Tuy nhiên, nhược điểm này chủ yếu ảnh 
hưởng ở thời kỳ đầu; ngày nay việc triển khai đã được tự động hóa qua các 
API và thư viện đồ họa, do đó lập trình viên ít khi phải tự viết lại toàn bộ  thuật toán Phong. 
Phụ thuộc vào phần cứng: Trong quá khứ, để sử dụng nội suy Phong 
trong thời gian thực, đòi hỏi phần cứng đồ họa có khả năng tính toán song 
song cao. Trước khi lập trình shader trở nên phổ biến, một số hệ thống phải 
đơn giản hóa hoặc sử dụng giải pháp gần đúng để đạt tốc độ. Hiện nay đây 
không còn là vấn đề lớn, nhưng với các thiết bị rất hạn chế (ví dụ trên mobile 
đời cũ), việc dùng Phong shading có thể bị giảm tốc độ khung hình.  14      lOMoARcPSD| 58854646 Ví dụ minh họa 
Xét lại ví dụ tam giác như ở phần Gouraud: với các giá trị pháp tuyến tại A, 
B, C và một điểm lóe sáng dự kiến xuất hiện ở giữa tam giác. Nếu áp dụng 
nội suy Phong, tại vùng trung tâm tam giác nơi có điểm lóe, vectơ pháp 
tuyến nội suy ở điểm đó sẽ hướng gần trùng với hướng tới nguồn sáng và 
mắt quan sát, do đó thành phần phản xạ gương khi tính theo mô hình chiếu 
sáng sẽ có cường độ cao. Kết quả là điểm lóe sáng được hiển thị rõ ràng trên 
bề mặt tam giác, đúng vị trí và độ sáng cần thiết. Toàn bộ tam giác dưới 
phương pháp Phong sẽ cho thấy sự biến đổi ánh sáng mượt mà: từ đỉnh A 
sáng nhất, màu giảm dần qua vùng giữa (nhưng vẫn nổi bật điểm highlight 
nếu có) rồi tới đỉnh C tối nhất. So sánh trực quan, hình ảnh thu được từ nội 
suy Phong gần với thực tế hơn so với Gouraud – không những bề mặt trơn 
tru mà các hiệu ứng phản xạ nhỏ cũng không bị bỏ sót. Bảng sau tóm tắt sự 
khác biệt giữa hai phương pháp nội suy Gouraud và Phong:  Tiêu  chí  Nội suy Gouraud  Nội suy Phong 
Cơ chế Nội suy màu (độ sáng) giữa các đỉnh Nội suy pháp tuyến bề mặt giữa các 
nội suy của đa giác. Màu tại điểm ảnh được đỉnh. Màu tại điểm ảnh được tính 
suy ra trực tiếp từ màu các đỉnh. 
gián tiếp: pháp tuyến nội suy → 
tính mô hình chiếu sáng để ra màu.  Vị trí 
Tính tại các đỉnh: mô hình chiếu 
Tính tại từng điểm ảnh: mô hình 
tính ánh sáng áp dụng một lần cho mỗi đỉnh. chiếu sáng áp dụng lặp lại cho mọi  sáng  pixel trên bề mặt. 
Chi phí Thấp: Chỉ tính vài phép chiếu sáng 
Cao hơn: Phải tính toán chiếu sáng  tính 
(theo số đỉnh) rồi nội suy (phép nội rất nhiều lần (mỗi pixel), bao gồm  toán 
suy tuyến tính gọn nhẹ). 
thao tác chuẩn hóa pháp tuyến liên 
tục, nên đòi hỏi sức mạnh tính toán  lớn hơn.  15      lOMoARcPSD| 58854646 Chất 
Mượt mà tương đối: Bề mặt nhìn 
Rất mượt và chính xác: Bề mặt trơn  lượng 
chung trơn tru hơn so với tô phẳng. tru liên tục. Hiển thị đầy đủ các chi 
hiển thị Tuy nhiên có thể mất chi tiết (bỏ lỡ tiết ánh sáng nhỏ như highlight. 
highlight nhỏ nếu không trúng 
Hầu như không bị artefact như dải 
đỉnh) và đôi khi xuất hiện dải Mạch Mach, do sự thay đổi độ sáng liên 
ở ranh giới đa giác gây sai lệch thị 
tục và phù hợp hơn với bề mặt thật.  giác.  Ứng 
Phù hợp khi cần tốc độ, tài nguyên 
Phù hợp cho hầu hết các ứng dụng  dụng 
hạn chế hoặc mô hình bề mặt 
đòi hỏi hình ảnh chân thực. Hiện là 
không có phản xạ gương mạnh. 
phương pháp chuẩn trong các game 
Được dùng nhiều trong đồ họa thời 3D, mô phỏng thực tại ảo, v.v. Nhờ 
kỳ đầu và trong một số ứng dụng 
chất lượng cao (phần cứng hiện đại  đơn giản hiện nay. 
có thể đáp ứng được việc tính toán). 
Tóm lại, nội suy Gouraud và Phong đều nhằm mục đích tạo ra bề mặt được 
tô màu liên tục dựa trên lưới đa giác. Gouraud chú trọng vào tốc độ và tính đơn 
giản, đủ tốt cho nhiều trường hợp bề mặt mờ (matte) hoặc khi phần cứng hạn chế. 
Ngược lại, nội suy Phong hướng đến chất lượng hình ảnh tối ưu bằng cách tính toán 
chi tiết tại từng pixel, do đó xử lý tốt hơn các hiệu ứng ánh sáng phức tạp trên bề 
mặt. Trong lịch sử phát triển đồ họa, phương pháp Gouraud ra đời trước và mở 
đường cho kỹ thuật tô bóng mịn, nhưng chính phương pháp Phong mới khắc phục 
được các nhược điểm và đặt nền móng cho các kỹ thuật đổ bóng hiện đại. Sự lựa 
chọn giữa hai phương pháp tùy thuộc vào sự đánh đổi giữa chất lượng và hiệu năng: 
nếu hệ thống cho phép, nội suy Phong gần như luôn được ưa chuộng hơn nhờ ưu 
thế về độ chân thực của hình ảnh 
5. Sử dụng hàm gll.ighttfv() để thiết lập đặc tính vật liệu.  16