2011-11-05 24 views
9

Vì vậy, tôi đang tìm một công cụ đồ họa voxel với thư viện C++ (hướng trò chơi). Chỉ để cho vui, đây sẽ là lần đầu tiên tôi sử dụng một thư viện đồ họa, vì vậy nó không phải là rất phức tạp hoặc mạnh mẽ, chỉ dễ hiểu.Biết bất kỳ thư viện đồ hoạ C++ nào của voxel?

+0

Google không? Viết một cái? – NickLH

+0

Bạn đang nói về loại voxels nào? Minecraft voxels phong cách (nơi các ô vuông lớn và kết cấu) hoặc voxels truyền thống (nơi các ô vuông càng nhỏ càng tốt)? –

+0

@Nicol Bolas, một phong cách Minecraft, có thể không phải là lớn, nhưng đủ lớn để chắc chắn rằng đó là một khối lập phương. Nhưng cuối cùng nó thực sự không quan trọng, tôi chỉ muốn đào một ít vào đồ họa voxel. –

Trả lời

21

Hãy nhớ rằng voxels chỉ là một khái niệm. Có một số cách để xử lý chúng dưới dạng dữ liệu và một số cách trực quan hóa chúng (trích xuất hình học, truyền hình, ...).

Đó là một điểm dữ liệu trong một lưới có khoảng cách cố định, đúng vậy. Điểm này đại diện cho bạn hoặc hình thức nguyên thủy nào bạn liên kết với nó, điều đó hoàn toàn được thực hiện cụ thể. Mọi người thường hình dung chúng dưới dạng hình khối chiếm toàn bộ ô trong lưới không gian cố định, đó là lý do tại sao bạn liên kết chúng với hình khối.

Ứng dụng dựa trên voxel nổi tiếng/phổ biến nhất, Minecraft, trực quan hóa chúng bằng cách sử dụng đường ống rasterization chuẩn làm hình khối được căn giữa trên lưới. (Học ​​thuật) Các hệ thống như GigaVoxels thực hiện theo dõi tia thành một cấu trúc Sparse Voxel Octree để tạo ra hình ảnh.

tôi đã gặp phải các thư viện voxel theo định hướng sau:

Và đây là bài đăng có mã màu đỏ với mã động cơ voxel 20 năm: https://www.reddit.com/r/VoxelGameDev/comments/3fvjb4/20_years_of_voxel_engines_source_code_included/

+0

+1 cho Minecraft. –

6

Tôi tham gia với việc phát triển thư viện hiện đại voxel gọi PolyVox cung cấp lưu trữ khối lượng (bao gồm cả phân trang), khai thác bề mặt cũng như các tính năng bổ sung như đúc ray và tính toán tắc xung quanh. Nó không phải là một công cụ trò chơi mặc dù nhưng cung cấp tất cả các công cụ voxel bạn cần phải cắm vào bất cứ điều gì khác. Đó là nguồn mở hoàn toàn và có một số hiệu tốt cho số đó là developer community. Trên diễn đàn, mọi người luôn sẵn sàng trả lời các câu hỏi chung về hiển thị voxel, v.v.

+0

Cảm ơn bạn! Tôi chắc chắn sẽ đào sâu vào nó. –

6

Tất cả đều được triển khai và thực hiện. Tôi hy vọng những điều này có thể giúp bạn trong việc theo đuổi những gì bạn cần. Tuy nhiên, tôi thấy liên kết này có thể hữu ích ..

Field3D - thư viện nguồn mở để lưu trữ dữ liệu voxel. Nó cung cấp các lớp C++ xử lý lưu trữ trong bộ nhớ, cũng như định dạng tệp dựa trên HDF5 cho phép các đối tượng C++ dễ dàng được ghi vào và đọc từ đĩa.

(cũng)

Minetest - trò chơi mã nguồn mở rất giống với Minecraft

Voxel Article - giải thích đồ họa của những gì một voxel là.

Các vấn đề liên quan