RepositoryC#
SC

Scrawk/Marching-Cubes-On-The-GPU

A implementation of the marching cubes algorithm on the GPU in Unity.

298sao
39fork
1issue
0lượt xem

Thành tựu nổi bật

Những danh hiệu mới nhất của dự án

1
TINIX TRENDING·Chủ đề: marching-cubes

#1 Repository Của Tháng

1
TINIX TRENDING·Chủ đề: marching-cubes-algorithm

#1 Repository Của Tháng

4
TINIX TRENDING·Chủ đề: voxel

#4 Repository Của Tháng

🖥️ Marching Cubes chạy trọn trên GPU, không cần CPU can thiệp

Sinh voxel bằng Perlin noise và chuyển thành lưới tam giác hoàn toàn trên GPU, render trực tiếp từ compute buffer.

Đây là dự án C# của Scrawk, triển khai thuật toán Marching Cubes chạy hoàn toàn trên GPU trong Unity bằng compute shader. Voxel được tạo từ nhiễu Perlin cải tiến chạy trên GPU, sau đó chuyển đổi thành lưới tam giác. Mọi thứ diễn ra trên GPU, chỉ xuất ra màn hình thông qua Graphics.DrawProcedural. Tác giả cũng đưa ra cách đọc lưới về CPU nếu cần, dù không khuyến nghị làm điều này mỗi khung hình.

✨ Điểm nổi bật

  • Marching Cubes trên GPU: toàn bộ thuật toán chạy trong compute shader, không cần CPU can thiệp.
  • Voxel bằng Perlin noise trên GPU: nhiễu 3D sinh trực tiếp trong compute shader để tạo giá trị voxel.
  • Render từ compute buffer: sử dụng Graphics.DrawProcedural để vẽ tam giác trực tiếp từ buffer.
  • Xử lý kích thước buffer cố định: buffer được cấp phát với số đỉnh tối đa (5 tam giác mỗi voxel), đỉnh thừa được zero-fill để tránh lỗi render.
  • Sinh pháp trùng bình bằng đạo hàm: sử dụng đạo hàm của giá trị voxel để nội suy pháp tuyến, tạo lớp bề mặt mượt mà.
  • Scene động 4D: phiên bản thứ hai sinh lưới voxel mỗi khung hình bằng nhiễu 4D, tạo hiệu ứng hoạt ảnh liền mạch.
  • Hỗ trợ đọn lưới về CPU: có đoạn code đọn buffer về mesh Unity thông thường nếu cần thiết.

💡 Vì sao đáng chú ý

Không phải để sinh mesh hoàn toàn trên GPU là đơn giản — việc dựng buffer cố định và zero-fill đỉnh thừa cho thấy cách tiếp cận thực tế để tránh động thái động liên tục. Phương pháp này mất chút hiệu quả do vertex shader chạy cho cả đỉnh rác, nhưng tác giả đã so sánh thực nghiệm: hiệu năng render không khác biệt so với mesh chuẩn. Đây là lựa chọn thích hợp để thử nghiệm hoặc tạo hiệu ức voxel động, đặc biệt với scene 4D tạo ra hoạt ảnh mượt mà.


#MarchingCubes #GPU #Unity #ComputeShader #Voxel #TiniX

Dự án tương tự

Khám phá các dự án và mô hình AI khác có sự tương đồng.

RepositoryC#
Eldemarkki/Marching-Cubes-Terrain

Marching Cubes terrain implementation in Unity using the Job System and the Burst compiler

602
Feb 10, 2026
RepositoryC#
Scrawk/Marching-Cubes

Marching cubes in Unity

523
Jul 30, 2023
RepositoryC++
dtrajko/MoravaEngine

C++ 2D/3D graphics engine and scene editor for Vulkan 1.4, OpenGL and DirectX 11, on Windows and Linux. Physically based rendering, global illumination, ray-traced reflections and ambient occlusion, a path tracer for reference. A playground for real-time rendering techniques.

311
Oct 27, 2026
RepositoryC++
Magnus2/MeshReconstruction

Fast and light-weight Marching Cubes library in C++ without any dependencies.

183
Jan 7, 2018
RepositoryC++
seung-lab/zmesh

Marching Cubes & Mesh Simplification on multi-label 3D images.

76
Aug 25, 2026
RepositoryC#
icsharpcode/ILSpy

.NET Decompiler with support for PDB generation, ReadyToRun, Metadata (&more) - cross-platform!

26.8k
Oct 26, 2026
RepositoryC#
Unity-Technologies/ml-agents

The Unity Machine Learning Agents Toolkit (ML-Agents) is an open-source project that enables games and simulations to serve as environments for training intelligent agents using deep reinforcement learning and imitation learning.

19.8k
Oct 27, 2026
RepositoryC#
Perfare/AssetStudio

AssetStudio is a tool for exploring, extracting and exporting assets and assetbundles.

15.6k
Dec 8, 2022
RepositoryC#
CoplayDev/unity-mcp

Unity MCP acts as a bridge between AI assistants and your Unity Editor. Give your LLM tools to manage assets, control scenes, edit scripts, and automate tasks within Unity.

15.5k
Oct 19, 2026