Voxel Space: Kỹ thuật đồ họa vượt trước thời đại của game Comanche

Công nghệ30 tháng 5, 2026·3 phút đọc

Bài viết khám phá kỹ thuật Voxel Space từng được sử dụng trong game Comanche năm 1992, một giải pháp đột phá giúp tạo ra địa hình 3D chi tiết trên phần cứng hạn chế thời bấy giờ mà không cần GPU.

Voxel Space: Kỹ thuật đồ họa vượt trước thời đại của game Comanche

Hãy cùng quay ngược thời gian về năm 1992. Khi đó, các bộ vi xử lý (CPU) chậm hơn khoảng 1000 lần so với hiện nay và việc tăng tốc thông qua GPU là điều chưa từng nghe đến hoặc quá đắt đỏ. Các trò chơi 3D được tính toán hoàn toàn trên CPU và động cơ đồ họa (rendering engine) chủ yếu hiển thị các đa giác (polygons) với một màu đơn sắc.

Gunship 2000Gunship 2000

Chính trong năm đó, NovaLogic đã phát hành tựa game Comanche. Đồ họa của game thực sự gây choáng váng vào thời điểm đó và theo quan điểm của tôi, nó đã đi trước thời đại khoảng 3 năm. Bạn có thể thấy nhiều chi tiết hơn như kết cấu trên núi và thung lũng, cũng như lần đầu tiên xuất hiện các hiệu ứng đổ bóng (shading) và bóng đổ (shadows) mượt mà. Chắc chắn, đồ họa có độ phân giải thấp (pixelated), nhưng tất cả các game trong những năm đó đều như vậy.

Comanche 1992Comanche 1992

Comanche sử dụng một kỹ thuật gọi là Voxel Space, dựa trên các ý tưởng tương tự như ray casting. Do đó, động cơ Voxel Space là một động cơ 2.5D, nó không có tất cả các mức độ tự do mà một động cơ 3D thông thường cung cấp.

Cách đơn giản nhất để biểu diễn một địa hình là thông qua bản đồ độ cao (height map) và bản đồ màu sắc (color map). Đối với game Comanche, một bản đồ độ cao 1024 * 1024 một byte và một bản đồ màu sắc 1024 * 1024 một byte được sử dụng. Các bản đồ này là định kỳ (periodic):

Bản đồ định kỳBản đồ định kỳ

Các bản đồ như vậy giới hạn địa hình ở "một độ cao cho mỗi vị trí trên bản đồ" - Các hình học phức tạp như tòa nhà hoặc cây cối không thể biểu diễn được. Tuy nhiên, một lợi thế lớn của bản đồ màu là nó đã chứa sẵn các hiệu ứng đổ bóng và bóng đổ. Động cơ Voxel Space chỉ cần lấy màu sắc và không cần tính toán chiếu sáng trong quá trình render.

Đối với một động cơ 3D, thuật toán kết xuất (rendering algorithm) lại vô cùng đơn giản. Động cơ Voxel Space raster hóa bản đồ độ cao và màu sắc, sau đó vẽ các đường thẳng đứng. Hình ảnh dưới đây minh họa kỹ thuật này:

Kỹ thuật vẽ từng dòngKỹ thuật vẽ từng dòng

Thuật toán cốt lõi ở dạng đơn giản nhất chỉ chứa vài dòng code (cú pháp Python). Với thuật toán trên, chúng ta chỉ có thể nhìn về phía Bắc. Để có góc nhìn khác, cần thêm vài dòng code nữa để xoay tọa độ.

Tất nhiên, có rất nhiều thủ thuật để đạt được hiệu suất cao hơn.

Phần phần mềm của kho lưu trữ này được cấp phép theo giấy phép MIT. Tuy nhiên, hãy lưu ý rằng công nghệ Voxel Space có thể vẫn được cấp bằng sáng chế ở một số quốc gia. Các bản đồ màu và độ cao được đảo ngược kỹ thuật từ game Comanche và do đó bị loại trừ khỏi giấy phép này.

Chia sẻ:FacebookX
Nội dung tổng hợp bằng AI, mang tính tham khảo. Xem bài gốc ↗