პროგრამირების სამყაროში, სადაც ხელოვნური ინტელექტი კოდის წერის პროცესში სულ უფრო აქტიურად ერევა, Luz-ის შემქმნელმა რადიკალურად განსხვავებული გზა აირჩია. პროექტი წარმოადგენს C++20-ზე დაწერილ Path Tracer-ს, რომელიც სრულად „ნულიდან“ არის შექმნილი და არ იყენებს არანაირ მესამე მხარის დამოკიდებულებებს (dependencies).

ტექნიკური შესაძლებლობები

Luz არ არის მხოლოდ ექსპერიმენტული კოდი; ის სრულფასოვანი ხელსაწყოა, რომელიც მხარს უჭერს მონტე-კარლოს მეთოდით სხივების ტრასირებას, გლობალურ განათებასა და BVH (Bounding Volume Hierarchy) აჩქარებას. სისტემა გამოირჩევა მრავალნაკადიანი CPU რენდერინგით და ადაპტირებადი სემპლინგით, რაც გამოსახულების ხარისხსა და წარმადობას შორის ოპტიმალურ ბალანსს იცავს.

ძრავის ფუნქციონალში ასევე შედის:

  • ატმოსფერული გაბნევის სიმულაცია.
  • NFOR-ის სტილის დენოიზერი (ხმაურის დამხშობი).
  • ობიექტების ფართო სპექტრი: სფეროები, კუბები, სამკუთხედები და OBJ მოდელები.
  • მასალების მრავალფეროვნება: მეტალი, დიელექტრიკი, ემისიური და ლამბერტიანული ზედაპირები.

პრაქტიკული გამოყენება და თავსებადობა

Luz-ის ერთ-ერთი მთავარი უპირატესობა მისი მოქნილობაა. მომხმარებლებს შეუძლიათ გამოიყენონ როგორც CLI (ბრძანების ხაზი), ისე სპეციალური .luz სცენის ფაილები რენდერის პარამეტრების სრულად სამართავად. პროექტი ასევე მოიცავს Blender-დან Luz-ში მონაცემთა ექსპორტის ფუნქციას, რაც 3D არტისტებს საშუალებას აძლევს, საკუთარი ნამუშევრები ძრავში მარტივად გადაიტანონ.

პროექტი ოპტიმიზებულია თანამედროვე აპარატურისთვის. Makefile-ის ან CMake-ის გამოყენებისას, სისტემა ავტომატურად აყენებს ოპტიმიზაციის მაღალ დონეს (-O3, -march=native), რაც რენდერის სიჩქარეს მნიშვნელოვნად ზრდის. Luz მხარს უჭერს macOS, Linux და Windows ოპერაციულ სისტემებს.

რატომ არის ეს მნიშვნელოვანი?

ავტორის თქმით, პროექტის შთაგონების წყარო წიგნების სერია „Ray Tracing in One Weekend“ გახდა. დეველოპერი ხაზს უსვამს, რომ კოდის წერა ხელოვნური ინტელექტის ჩარევის გარეშე, დღევანდელ რეალობაში განსაკუთრებულ გამოცდილებას იძლევა, რაც ფუნდამენტური ცოდნის გაღრმავების საშუალებას იძლევა.