Tổng quan về kỹ thuật đồ họa, lập trình đồ họa. Các kỹ thuật cơ bản trong tính toán vẽ hình trên máy tính. Khái quát về các kỹ thuật đổ bóng cho vật thể 3D. Các ví dụ cụ thể về đổ bóng cho vật thể trong không gian 3 chiều.
1 MỞ ĐẦU Đồ họa máy tính lĩnh vực phát triển nhanh tin học Nó áp dụng rộng rãi nhiều lĩnh vực khác thuộc khoa học, kỹ nghệ, y khoa, kiến trúc giải trí Các chương trình đồ họa ứng dựng cho phép làm việc với máy tính cách thoải mái thân thiện Năm 1966, Sutherland Học viện Công nghệ Massachusetts người đặt bóng cho đồ họa 3D việc phát minh thiết bị hiển thị trùm đầu (head-amounted display) điều khiển máy tính Nó cho phép người nhìn thấy hình ảnh dạng lập thể 3D Từ đến đồ họa 3D trở thành lĩnh vực phát triển rực rỡ đồ họa máy tính Mục đích đồ họa 3D tạo mơ tả đối tượng, mơ hình giới thật máy tính cho giống với thật tốt Việc nghiên cứu phương pháp kỹ thuật khác đồ họa 3D hướng đến mục tiêu cho nhân vật, đối tượng, mơ hình tạo máy tính giống thật Và phương pháp tạo bóng cho đối tượng “Bóng (Shadow) vùng tối nằm vùng chiếu sáng, xuất vật thể chiếu sáng toàn phần” Bóng yếu tố quan trọng tri giác người việc nhận biết vật thể giới chiều Bóng giúp cho ta nhận biết vị trí tương đối vật đổ bóng (occluder) với mặt nhận bóng (receiver), nhận biết kích thước dạng hình học vật đổ bóng mặt nhận bóng Do vậy, em bạn nhóm chọn đề tài “Tìm hiểu ánh sáng kĩ thuật tạo bóng (render) kĩ thuật đồ họa” làm tập lớn môn kĩ thuật đồ họa Ngồi phần mở đầu, kết luận, đề tài còn có chương: - Chương 1: Tổng quan kĩ thuật đồ họa - Chương 2: Khái quát đồ họa chiều ứng dụng - Chương 3: Ánh sáng kĩ thuật đồ họa 3D - Chương 4: Một số kĩ thuật tạo bóng - Chương 5: Chương trình thử nghiệm Chương TỔNG QUAN VỀ KĨ THUẬT ĐỒ HỌA 1.1 Các khái niệm tổng quan kỹ thuật đồ họa máy tính Definition (ISO): Phương pháp cóng nghệ chuyển đổi dừ liệu từ thiết bi đồ hoạ sang máy tính Computer Graphics phương tiện đa mạnh nhắt giao tiếp người máy tính Computer Graphics (Kỹ thuật đồ hoạ máy tính) lình vực Cơng nghệ thơng tin mà nghiên cửu, xây dựng tập hợp công cụ (mơ hình lý thuyết phần mềm) khác nhau: kiến tạo xây dựng, lưu trữ, xử lý mơ hình (model) hình ảnh (image) đối tượng Các mơ hình (model) hình ảnh kết thu từ lĩnh vực khác nhiều ngành khoa học (vật lý, toán học, thiên văn học ) Computer graphics xử lý tất vấn đề tạo ảnh nhờ máy tính 1.2 Các kỹ thuật đồ họa 1.2.1 Kỹ thuật đồ họa điểm - Các mơ hình, hình ảnh đối tượng hiển thị thông qua pixel (từng mẫu rời rạc) - Đặc điểm: thay đổi thuộc tính + Xố pixel mơ hình hình ảnh đối tượng + Các mơ hình hình ảnh hiển thị lưới điểm (grid) pixel rời rạc + Từng pixel có vị trí xác định, hiển thị với giá trị rời rạc (số nguyên) thông số hiển thị (mầu sắc độ sáng) + Tập hợp tất ca pixel grid cho mơ hình, hình ảnh đối tượng mà muốn hiển thị Hình 1.1: Ảnh đồ họa điểm Phương pháp để tạo pixel - Phương pháp dùng phần mềm đề vẽ trực tiếp pixel - Dựa lý thuyết mô (lý thuyết Fractal, v.v) để xây dựng nên hình ảnh mô vật - Phương pháp rời rạc hóa (số hóa) hình ảnh thực đối tượng - Có thể sửa đổi (image editing) xử lý (image processing) mảng pixel thu theo phương pháp khác để thu hình ảnh đặc trưng đối tượng 1.2.2 Kỹ thuật đồ họa vector Hình 1.2: Mơ hình đồ họa vector - Mơ hình hình học (geometrical model) cho mơ hình hình ảnh đối tượng - Xác định thuộc tính mơ hình hình học - Q trình tơ trát (rendering) để hiển thị điểm mơ hình, hình ảnh thực đối tượng Có thể định nghĩa đồ họa vector: Đồ họa vector = geometrical model + rendering So sánh đồ họa điểm đồ họa vector Đồ họa điểm (Raster Graphics) Đồ họa vector (Vector Graphics) - Hình ảnh mơ hình vật thể - Khơng thay đổi thuộc tính đuợc biểu diễn tập hợp điểm điểm trực tiếp lưới (grid) - Xử lý với thành phần hình học - Thay đổi thuộc tính pixel => sở thực q trình tơ trát thay đổi phần và hiển thị lại hình ảnh - Quan sát hình ảnh mơ hình hình - Copy pixel từ hình ảnh ảnh vật nhiều góc độ khác sang hình ảnh khác thay đỏi điểm nhìn góc nhìn Ví dụ hình ảnh đồ họa vector Hình 1.3: Ví dụ đồ họa vector 1.2.3 Phân loại đồ họa máy tính Phân loại theo lĩnh vực hoạt động đồ họa máy tính Phân loại theo hệ tọa độ - Kỹ thuật đồ họa chiều: kỹ thuật đồ họa máy tính sử dụng hệ tọa độ hai chiều (hệ tọa độ thẳng), sử dụng nhiều kỹ thuật xử lý đồ, đồ thị - Kỹ thuật đồ họa chiều: kỹ thuật đồ họa máy tính sử dụng hệ tọa độ ba chiều, đòi hỏi nhiều tính tốn phức tạp nhiều so với kỹ thuật đồ họa hai chiều Các lĩnh vực đồ họa máy tính: - Kỹ thuật xử lý ảnh (Computer Imaging): sau trình xử lý ảnh cho ta ảnh số đối tượng Trong trình xử lý ảnh sử dụng nhiều kỹ thuật phức tạp: kỹ thuật khôi phục ảnh, kỹ thuật làm ảnh, kỹ thuật xác định biên ảnh - Kỹ thuật nhận dạng (Pattern Recognition): từ anh mầu có sẵn ta phân loại theo trúc, theo tiêu trí xác định từ trước thuật tốn chọn lọc để phân tích hay tổng hợp cá ảnh gốc, ảnh gốc lưu thư viện cứ vào thư viện ta xây dựng thuật giải phân tích tổ hợp ảnh - Kỹ thuật tổng hợp ảnh (Image Synthesis): lĩnh vực xây dựng mơ hình hình ảnh vật thể dựa đối tượng mối quan hệ chúng - Các hệ CAD/CAM (Computer Aided Dcsign / Computcr Aided Manufacture System): kỹ thuật đồ họa tập hợp công cụ, kỹ thuật trợ giúp cho thiết kế chi tiết hệ thống khác nhau: hệ thống cơ, hệ thống điện, hệ thống điện tử - Đồ họa minh họa (Presentation Graphics): gồm công cụ giúp hiển thị số liệu thí nghiệm cách trực quan, dựa mẫu đồ thị thuật tốn có sằn - Đồ họa hoạt hình ngltộ thuật: bao gồm công cụ giúp cho họa sĩ, nhà thiết kế phim hoạt hình chuyên nghiệp làm kỹ xảo hoạt hình, vẽ tranh… ví dụ: phần mềm Studio 3D Animation, 3D Studio Max… 1.2.4 Các ứng dụng tiêu biểu kỹ thuật đồ họa Đồ họa máy tính trung lĩnh vực lý thú phátt triển nhanh tin học Ngay từ xuất có sức lơi mãnh liệt, hút nhiều người nhiều lĩnh vực khác khoa học nghệ thuật, kinh doanh, quản lý Tính hấp dẫn minh họa trực quan thông qua ứng dụng - Xây dụng giao diện ngưừi dùng (User Interface): Giao diện đồ họa thực cách mạng mang lại thuận tiện thoải mái cho người dùng ứng dụng Giao diện WYSIWYG WIMP đa số người dùng ưa thích nhờ tính thân thiện, dễ sử dụng - Tạo biểu đồ thương mại, khoa học, kỹ thuật: Các ứng dụng thường dùng để tóm lược liệu tài chính, thống kê, kinh tế, khoa học, toán học giúp cho nghiên cứu, quản lý cách có hiệu - Tự động hóa văn phòng chế điện tử - Thiết kế với trợ giúp máy tính (CAD_CAM) - Lĩnh vực giải trí, nghệ thuật mơ - Lĩnh vực đồ (Cartography) - Điều khiển trình sản xuất (Process Control) - Giáo dục đào tạo Chương KHÁI QUÁT VỀ ĐỒ HỌA CHIỀU VÀ ỨNG DỤNG 2.1 Khái quát đồ họa 3D 2.1.1 Hiển thị 3D a Tổng quan Các đối tượng mơ hình 3D xác định với tọa độ giới Cùng với tọa độ đối tượng, người dùng phải xác định vị trí hướng camera ảo không gian 3D xác định vùng nhìn (là vùng khơng gian hiển thị hình) Việc chuyển từ tọa độ giới sang tọa độ hình thực theo bước: - Bước thực phép biến đổi để đưa camera ảo trở vị trí hướng tiêu chuẩn Khi điểm nhìn (eyepoint) đặt gốc tọa độ, hướng nhìn trùng với hướng âm trục Z Trục X phía phải trục Y lên phía hình Hệ tọa độ gọi Hệ tọa độ Mắt (Eye Coordinate System) Phép biến đổi từ tọa độ giới sang tọa độ mắt phép biến đổi affine, gọi phép biến đổi hiển thị (Viewing Transformation) Cả tọa độ giới tọa độ mắt biểu diễn tọa độ đồng (Homogeneous Coordinates) với w=1 - Bước thứ Tọa độ mắt chuyển qua tọa độ thiết bị chuẩn hóa (Nomalized Device Coordinates) vùng khơng gian mà ta muốn nhìn đặt khối lập phương tiêu chuẩn: 10 Các điểm gần điểm nhìn (điểm đặt camera) có thành phần z nhỏ Bước gồm bước - Bước cuối cùng, phép biến đổi cổng nhìn (Viewport Transformation) kết hợp phép co giãn tuyến tính phép tịnh tiến Sẽ chuyển thành phần x y tọa độ thiết bị chuẩn hóa -1x1, -1y1 sang tọa độ Pixel hình Thành phần z (-1z1) chuyển sang đoạn [0,1] sử dụng giá trị chiều sâu (Depth-Value) thuật toán Z-Buffer (bộ đệm Z) sử dụng cho việc xác định mặt hiển thị Bước thứ bao gồm bước + Một phép chiếu chuyển từ vùng nhìn sang khối lập phương tiêu chuẩn với tọa độ đồng nhất: -1x1, -1y1, -1z1 Trong trường hợp sử dụng phép chiếu trực giao, vùng nhìn có dạng ống song song 3D với mặt song song với mặt hệ tọa độ mắt Trong trường hợp sử dụng phép chiếu đối xứng, vùng nhìn hình tháp cụt với đầu mút gốc tọa độ hệ tọa độ mắt Hệ tọa độ đồng (4 thành phần) thu sau phép chiếu gọi hệ tọa độ cắt (Clipping Coordinate System) Phép chiếu phép biến đổi affine trường hợp phép chiếu phép chiếu trực giao Nếu phép chiếu phép chiếu phối cảnh phép biến đổi affine (Vì w nhận giá trị khác 1) + Bước tiếp theo, vùng không gian hiển thị mà không nằm khối tiêu chuẩn (Khối còn gọi khối nhìn tiêu chuẩn) bị cắt Các đa giác, đường thẳng chứa có phần thay đổi để phần nằm khối nhìn tiêu chuẩn giữ lại Phần còn lại không cần quan tâm nhiều + Sau cắt gọt, tọa độ đồng chuyển sang tọa độ thiết bị cách chia x,y,z cho w Nếu w nhận giá trị qua phép chiếu, phép 50 Hình 4.8: Bước 2, Vẽ mặt sau bóng khối Hình 4.9: Kết Giá trị Stencil Buffer vùng 51 Hình 4.10: Trái: Khơng có bóng , Giữa: Bóng khối tạo , Phải: Kết cuối Các bước thực sau: - Xóa hết Z-buffer Stencil-Buffer, Chắc chắn Chế độ ghi vào Z-buffer chế độ Stencil test bật - Tạo ảnh toàn khung cảnh (bao gồm vật thể mặt hứng bóng) với Ambient Light Z-buffer cập nhật - Tắt chế độ ghi vào Z-buffer - Vẽ mặt trước bóng khối, Nếu chúng thực vẽ (Có nghĩa Depth Pass) tăng giá trị Stencil Buffer - Vẽ mặt sau bóng khối, Nếu chúng thực vẽ ra.(Có nghĩa Depth Pass) giảm giá trị Stencil Buffer - Bật chế độ Stencil test (chỉ điểm có giá trị Stencil = vẽ hình), Xóa Z-buffer, bật chế độ ghi vào Z-buffer, bật nguồn sáng - Vẽ toàn khung cảnh điểm có giá trị stencil Buffer 4.1.5 Tạo bóng thuật tốn Z-Fail 52 Thuật tốn Z-Pass có nhược điểm lớn chưa xử lý trường hợp điểm nhìn (viewpoint) nằm vùng bóng khối Có giải pháp để xử lý trường hợp này: - Trừ giá trị Stencil Buffer đơn vị cho phần bóng khối mà điểm nhìn nằm (trong trường hợp có nhiều vật thể) Tuy nhiên làm chi phí tính tốn đắt - Tạo mặt phẳng nằm trước gần điểm nhìn cho phần bóng khối mà điểm nhìn nằm Cách vậy, phức tạp chi phí tính tốn đắt - Cách thứ sử dụng thuật tốn Z-Fail Thay tính tốn giá trị Stencil việc tăng mặt trước bóng khối giảm giá trị mặt sau ZBuffer Pass, tồn q trình thay đổi để đếm từ vơ cực thay đếm từ điểm nhìn Vì thuật tốn còn gọi Z-Fails Thuật toán Z-fail thể đoạn mã giả sau: Procedure IN_SHADOW_TEST // Z-fail For {tất vật thể cần đổ bóng} - Xây dựng danh sách cạnh viền - Tính tốn tứ giác bao quanh bóng khối dựa cạnh viền từ vị trí nguồn sáng End for For {Tất mặt trước bóng khối nhìn từ vị trí điểm nhìn} if Depth test fails then - Giảm giá trị Stencil Buffer End if 53 End for For {Tất mặt sau bóng khối nhìn từ vị trí điểm nhìn} if Depth test fails then - Tăng giá trị Stencil Buffer End if End for 4.1.6 So sánh giữa thuật toán Thuật toán Z-Pass Ưu điểm Thuật tốn Z-fail - Khơng cần thiết phải - Giải trường “đậy nắp” (Cap) hợp điểm nhìn nằm - Tạo mặt (do bóng khối không cần tạo capping) - Nhanh Z-fail - Dễ thưc Nhược điểm - Không giải - Chậm Z-pass vấn đề điểm nhìn - Đòi hỏi bóng khối phải bóng khối Capping - Khơng có tự bóng - Phải tạo nhiều mặt (Selfshadow) phải Capping - Khó thực - Khơng có tự bóng (SelfShadow) 4.2 Kỹ thuật tạo bóng sử dụng đờ bóng 4.2.1 Giới thiệu Shadow Mapping giới thiệu Lance Williams năm 1978 Từ sử dụng rộng rãi tạo ảnh offline lẫn ứng dụng thời gian thực Shadow mapping sử dụng Pixar’s 54 RenderMan kỹ thuật tạo bóng thức sử dụng phim lớn “Toy Story” Shadow mapping kỹ thuật tạo bóng không gian ảnh (imagespace algorithm) nên thông tin hình dạng vật thể hay kiến thức hình học khơng cần thiết Thuật tốn giống thuật tốn bóng khối, thực phép kiểm tra “trong bóng” (in shadow) pixel Một pixel chiếu sáng khơng có vật chắn đường nối nguồn sáng Chìa khóa để hiểu thuật tốn Shadow Mapping (bản đồ bóng) điểm nằm đồ bóng điểm hiển thị hình điểm nhìn đặt vị trí ánh sáng Chúng ta có thuật tốn để xét xem điểm hiển thị với người quan sát Đó sử dụng Z-buffer Vì điểm có depth test pass vẽ toàn khung cảnh từ vị trí nguồn sáng điểm khơng nằm bóng 4.2.2 Thuật tốn Thuật tốn gồm bước chính: - Đầu tiên ta vẽ tồn khung cảnh (chưa có bóng) từ vị trí ánh sáng hình + Lưu giá trị độ sâu Z-buffer vào đồ độ sâu Các giá trị độ sâu thực chất giá trị z điểm có depth test pass hiển thị hình + Bản đồ độ sâu dùng bước - Sau lại vẽ tồn khung cảnh từ vị trí điểm nhìn (camera) + Với điểm ta chuyển tọa độ chúng sang hệ tọa độ ánh sáng 55 + Tọa độ tọa độ để xác định giá trị độ sâu thực depth test Giả sử điểm chuyển sang có tọa độ (x,y,z’) + Sau cơng việc còn lại so sánh giá trị độ sâu z điểm có tọa độ (x,y) đồ độ sâu với giá trị z’ điểm (x,y,z’) • Nếu z < z’ điểm nằm bóng khơng vẽ hình thực vẽ khung cảnh từ vị trí điểm nhìn • Nếu z >=z’ điểm chiếu sáng vẽ hình từ vị trí điểm nhìn Hình 4.11: A < B điểm nằm bóng 56 Hình 4.12: A >= B điểm chiếu sáng Hình 4.13: Hình bên trái: Khung cảnh khơng có bóng vẽ từ vị trí điểm nhìn Hình bên phải: Khung cảnh nhìn từ nguồn sáng Hình trái: Bản đồ bóng tạo kh i nhìn từ vị trí nguồn sáng Hình phải (a): Bản đồ bóng chiếu lên khung cảnh nhìn từ mắt (giá trị A ) Hình trái (b): Chiếu khoảng cách phẳng nguồn sáng lên khung cảnh nhìn từ mắt (Giá trị B) Hình Dưới phải : Bóng vẽ sau phép kiểm tra chiều sâu (a) (b) 4.2.3 Chuyển tọa độ Ta phải xác định chuyển tọa độ điểm từ hệ tọa độ mắt tọa độ hiển thị ánh sáng 57 Hình 4.14: Các hệ tọa độ ma trận biến đồi - Đầu tiên ta phải chuyển từ hệ tọa độ mắt (Camera’s Eye Space) hệ tọa độ giới ma trận nghịch đảo ma trận biến đổi hiển thị (Camera’s View Matrix = Viewing matrix) Ta ký hiệu ma trận - Sau ta phải đưa từ hệ tọa độ giới hệ tọa độ ánh sáng ma trận hiển thị ánh sáng (Light’s Viewing Matrix) Kí hiệu ma trận - Tiếp theo thực phép chiếu thích hợp (Phép chiếu trực giao) để đưa hệ tọa độ thiết bị tiêu chuẩn - Cuối thực phép biến đổi cổng nhìn đưa đoạn [-1,1] đoạn [0,1] với ma trận S là: 58 Như ma trận T đưa điểm từ hệ tọa độ mắt tọa độ hiển thị ánh sáng có dạng: T=S 59 Chương CHƯƠNG TRÌNH THỬ NGHIỆM 5.1 Bài tốn Giới thiệu chương trình mơ hai kỹ thuật tạo bóng cứng dùng bóng khối đồ bóng dựa thuật tốn bóng khối thuật tốn tạo bóng dựa thơng tin hình dạng vật thể cần tạo bóng , đòi hỏi phải có thơng tin tính kết nối lưới đa giác tất vật thể có khung hình (scene) để tính tốn cách hiệu xác Thuật tốn tạo bóng dựa đồ bóng kỹ thuật tạo bóng khơng gian ảnh (image-space algorithm) nên thơng tin hình dạng vật thể hay kiến thức hình học khơng cần thiết Thuật tốn giống thuật tốn bóng khối, thực phép kiểm tra “trong bóng” (in shadow) pixel Một pixel chiếu sáng khơng có vật chắn đường nối nguồn sáng Chìa khóa để hiểu thuật tốn Shadow Mapping (bản đồ bóng) điểm nằm đồ bóng điểm hiển thị hình điểm nhìn đặt vị trí ánh sáng 5.2 Chương trình 5.2.1 Bóng khối (SHADOW VOLUME) Một số hướng dẫn: - Nhấn P: Để Pause - Nhấn U: Để Unpause - Nhấn F: Để chuyển sang dùng thuật toán Z -fail - Nhấn G: Để chuyển sang dùng thuật toán Z -pass - Key Up ( ↑ ): Để dịch chuyển nguồn sáng lên - Key Down ( ↓ ): Để dịch chuyển nguồn sáng xuống - Click chuột trái vào dịch chuyển để thay đổi vị trí camera 60 Hình 5.1: Bóng tạo thuật tốn Z-fail Hình 5.2: Bóng tạo thuật tốn Z-pass Số Frame tăng đáng kể so với thuật tốn Z-fail khơng cần Capping 61 5.2.2 Bản đồ bóng (SHADOW MAPPING) Một số hướng dẫn: - Nhấn C: Chuyển chế độ sang dịch chuyển Camera - Nhấn L: Chuyển chế độ sang dịch chuyển nguồn sáng - Click chuột trái di chuyển để dịch chuyển (nguồn sáng camera tùy thuộc chế độ nào) - Ấn Space: Để vẽ vùng quan sát (Frustum) - Nhấn T: Để chuyển vật thể sang hình vòng - Nhấn B: Để chuyển vật thể thành hình cầu - Nhấn ( ↑ ) ( ↓ ): Để tăng giảm kích thước Bản đồ bóng Hình 5.3: Bóng tạo với kích thước đồ bóng 512 Sồ frames render mỡi giây thấ p kích thước đồ bóng tăng , phải tính tốn nhiều 62 Hình 5.4: Bóng tạo với kích thước đồ bóng 256 Số Frames render mỡi giây tăng lên cao số lượng tính tốn giảm Hình 3.5: Bóng tạo với kích thước đồ bóng 128 Sồ Frames render mỡi giây lên đến 101 63 KẾT LUẬN Quá trình làm tập lớn trình tìm hiểu, nghiên cứu thực tế, đồng thời trình đúc kết kinh nghiệm người Qua trình làm tập, sau phân tích, tìm hiểu chung ứng dụng đồ hoạ 3D, nhóm em bổ sung thêm cho nhiều kiến thức quý giá Nhóm tìm hiểu sâu hơn, đầy đủ đặc trưng nguồn sáng, dạng nguồn sáng, kỹ thuật tạo bóng có thêm kiến thức ứng dụng đồ hoạ máy tính việc tạo loại bóng, ứng dụng kỹ thuật tạo bóng lĩnh vực như: Điện ảnh, Hoạt hình, kiến trúc ứng dụng xây dựng mơ hình thực tại ảo Nhóm em tìm hiểu kỹ thuật tạo bóng cứng kỹ thuật tạo bóng mềm Đồng thời mơ số thuật tốn tối ưu Trong thời gian nghiên cứu làm tập lớn, thân nỗ lực, cố gắng, đầu tư nhiều thời gian, công sức cho việc tìm hiểu nghiên cứu đề tài nhận bảo, định hướng tận tình anh, chị trước hạn chế mặt thời gian khó khăn việc tìm kiếm tài liệu, hạn chế mặt kiến thức, nên chưa có kết thực hồn hảo Kính mong thầy cô giáo bạn đồng nghiệp bảo giúp đỡ 64 DANH MỤC TÀI LIỆU THAM KHẢO Donard Hearn & M Pauline Baker, Computer Graphic C Version, Second Editor, Prentice – Hall, Inc, , New Jersey, 1986 Hồng Kiếm, Dương Anh Đức, Lê Đình Duy, Vũ Hải Quân, Giáo trình sở Đồ hoạ Máy tính, NXB Giáo dục, 2000 James D.Foley, Andrie van Dam, Steven K.Feiner, Jonhn F Hughes, Computer Graphics Principles and Practice, Addison Wesley, 1994 Lê Tấn Hùng, Huỳnh Quyết Thắng, Kỹ thuật đồ hoạ máy tính, NXB khoa học kỹ thuật, 2002 Steven Harrington, Computer Graphics A Programming Approach, McGraw Hill International Edition, 1987 ThS Trịnh Thị Vân Anh, Kỹ thuật đồ họa, Học viện Cơng nghệ Bưu viễn thơng, Hà Nội, năm 2006