گاوسی اسپلینگ (Gaussian splatting) یک رویکرد نوین برای رندر کردن صحنههای پیچیده سهبعدی با نمایش آنها به صورت مجموعهای از توابع گاوسی ناهمسانگرد در فضای سهبعدی است. این تکنیک امکان رندرینگ بیدرنگ صحنههای فوتورئالیستی را که از مجموعههای کوچکی از تصاویر آموخته شدهاند، فراهم میکند و آن را برای کاربردها در بازی، واقعیت مجازی و تجسم حرفهای بیدرنگ ایدهآل میسازد.
vk_gaussian_splatting یک نمونه جدید مبتنی بر Vulkan است که گاوسی اسپلینگ بیدرنگ را نشان میدهد، یک تکنیک رندرینگ حجمی پیشرفته که نمایشهای بسیار کارآمدی از میدانهای تابشی را امکانپذیر میکند. این آخرین مورد اضافه شده به NVIDIA DesignWorks Samples است.
تیم NVIDIA DevTech این پروژه نمونه جدید را به عنوان بستری برای اکتشاف و مقایسه رویکردهای مختلف برای تجسم بیدرنگ گاوسی اسپلینگ سهبعدی (3DGS) در نظر دارد. با ارزیابی تکنیکها و بهینهسازیهای مختلف، هدف این تیم ارائه بینشهای ارزشمندی در مورد عملکرد، کیفیت و مصالحههای پیادهسازی هنگام استفاده از Vulkan API است.
پیادهسازی اولیه مبتنی بر رستر کردن است و دو رویکرد برای رندر کردن اسپلَتها (splats) نشان میدهد، یکی با استفاده از mesh shaders و دیگری با استفاده از vertex shaders.
از آنجا که گاوسی اسپلَتها برای ترکیب آلفای صحیح نیاز به مرتبسازی از عقب به جلو دارند، دو روش مرتبسازی جایگزین ارائه شده است:
- Radix Sort مبتنی بر GPU که در یک خط لوله محاسباتی پیادهسازی شده است.
- یک استراتژی مرتبسازی ناهمزمان مبتنی بر CPU که از تابع مرتبسازی چند رشتهای از C++ STL استفاده میکند.
این نمونه به شما امکان میدهد تا جنبههای مختلف این تکنیک رندرینگ را اکتشاف و تجربه کنید، از جمله:
- چندین حالت تجسم برای بررسی جنبههای مختلف گاوسی اسپلَتها (هارمونیکهای کروی، اسپلَتها، چگالی نقطه و موارد دیگر)
- یک سیستم بنچمارک کامل در دسترس است و امکان پروفایلینگ در زمان واقعی را فراهم میکند.
- جزئیات بیشتر در مورد مصرف حافظه RAM و VRAM، برای درک جریان داده برای رندر کردن
- زمانبندیهای GPU برای هر مرحله از تکنیکهای مختلف بررسی شده، برای درک حجم کار و تنگناهای احتمالی
- گزارشهای گرافیکی که با تمام این اعداد تولید میشوند.
این نمونه یک نقطه شروع برای توسعهدهندگانی است که به دنبال آزمایش تکنیکهای رندرینگ گاوسی اسپلینگ و بهینهسازیهای مبتنی بر Vulkan هستند.
برای شروع اکتشاف رندرینگ بیدرنگ میدانهای تابشی عصبی، به مخزن GitHub nvpro-samples/vk_gaussian_splatting مراجعه کنید.