Redner เป็นตัวแสดงผลที่แตกต่างกันซึ่งสามารถใช้อนุพันธ์ของการแสดงผลที่เกี่ยวข้องกับพารามิเตอร์ฉากโดยพลการนั่นคือคุณสามารถย้อนกลับจากภาพไปยังฉาก 3 มิติของคุณ หนึ่งในประเพณีที่สำคัญของ Redner คือการเรนเดอร์ผกผัน (ดังนั้นชื่อ Redner) ผ่านการไล่ระดับสี สิ่งที่ทำให้ Redner แตกต่างคือ: 1) มันคำนวณการไล่ระดับสีที่ถูกต้องอย่างถูกต้องโดยไม่ต้องประมาณใด ๆ โดยการพิจารณาความไม่ต่อเนื่องอย่างถูกต้องและ 2) มันมีโหมดทางร่างกาย-ซึ่งหมายความว่ามันสามารถจำลองโฟตอนและสร้างปรากฏการณ์แสงที่สมจริงเช่นเงาและแสงสว่างทั่วโลก นอกจากนี้คุณยังสามารถใช้ Redner ในโหมดการเรนเดอร์ที่รอการตัดบัญชีอย่างรวดเร็วสำหรับการแรเงาในท้องถิ่น: ในโหมดนี้มันยังคงมีการประมาณค่าการไล่ระดับสีที่ถูกต้องและโมเดลวัสดุที่ซับซ้อนมากขึ้นเมื่อเทียบกับการเรนเดอร์ที่แตกต่างกันมากที่สุด
สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับการเรนเดอร์สิ่งที่สามารถทำได้และเทคนิคที่ใช้ในการคำนวณอนุพันธ์โปรดดูที่กระดาษ: Monte Carlo Ray ที่แตกต่างกันผ่านการสุ่มตัวอย่างขอบ, Tzu-Mao Li, Miika Aittala, Fredo Durand, Jaakko Lehtinen ตั้งแต่การส่งเราได้ปรับปรุง Renderer ค่อนข้างน้อย โดยเฉพาะอย่างยิ่งเราใช้แบ็กเอนด์ CUDA และเร่งอนุพันธ์อย่างต่อเนื่องอย่างมีนัยสำคัญโดยการเปลี่ยนความแตกต่างอัตโนมัติด้วยอนุพันธ์ที่ได้จากตนเอง ดูวิทยานิพนธ์ของ Tzu-Mao Li สำหรับรายละเอียดเพิ่มเติม ดูส่วน "ข่าว" ด้านล่างสำหรับการเปลี่ยนแปลง
ด้วย pytorch (เวอร์ชันใด ๆ > = 1.0) หรือ tensorflow (เวอร์ชัน> = 2.0) ที่ติดตั้งในสภาพแวดล้อม Python ปัจจุบันของคุณ สำหรับรุ่นเร่งความเร็ว GPU (Linux และ Windows, Cuda เวอร์ชัน> = 10.0):
pip install redner-gpu
มิฉะนั้น (Windows, Linux และ OS X):
pip install redner
เวอร์ชัน Windows รองรับ Pytorch เท่านั้นและไม่ใช่ TensorFlow ในขณะนี้
คุณยังสามารถสร้างจากแหล่งที่มา ดูวิกิสำหรับการสร้างคำแนะนำ
จุดเริ่มต้นที่ดีในการเรียนรู้วิธีการใช้ Redner คือการดูวิกิ API documetation อยู่ที่นี่ นอกจากนี้คุณยังสามารถดูไดเรกทอรีการทดสอบ (Pytorch และ Tensorflow) เพื่อมีแนวคิดบางอย่าง
06/12/2020 - การสนับสนุน Python 3.8
04/01/2020 - เพิ่มโมเดลการบิดเบือนกล้อง
03/17/2020 - แพ็คเกจ PIP สำหรับ Windows! ปัจจุบันมีการสนับสนุน Pytorch เท่านั้น การสนับสนุน TensorFlow อยู่ระหว่างการพิจารณาปัญหาการรวบรวมบางอย่าง
02/27/2020 - แก้ไขข้อผิดพลาดในอนุพันธ์ BRDF สิ่งนี้มีผลต่อการทำแผนที่ปกติมากที่สุด ขอบคุณ Markus Worchel อีกครั้งสำหรับการรายงานสิ่งนี้
02/02/2020 - แก้ไขข้อผิดพลาดที่ร้ายแรงสำหรับการแสดงผล G -buffer (#93) ขอบคุณ Markus Worchel สำหรับการรายงานสิ่งนี้
02/01/2020 - การสนับสนุน Windows เบื้องต้นสำหรับ GPU พร้อมใช้งานขอบคุณ Markus Worchel อีกครั้ง
01/08/2020 - ปรับปรุงการใช้หน่วยความจำอย่างมีนัยสำคัญของ mipmapping ตอนนี้คุณสามารถใช้พื้นผิวขนาดใหญ่ (พูดว่า 4096x4096) ค่อนข้างปลอดภัย
12/15/2019 - แก้ไขข้อผิดพลาดที่เกี่ยวข้องกับ GC บนรหัสการแสดงผล Pytorch ใน 0.1.30 โปรดอัปเดต
12/12/2019 - การสนับสนุน Windows เบื้องต้น (CPU -only) พร้อมใช้งานด้วยการมีส่วนร่วมของ Markus Worchel
12/09/2019 - เพิ่มบทเรียนมากมายในวิกิโดยใช้ Google Colab เพิ่มเอกสารที่สร้างจากสฟิงซ์
12/09/2019 - แก้ไขข้อผิดพลาดใน Loader Wavefront OBJ ขอบคุณ Dejan Azinovićสำหรับการรายงาน!
12/01/2019 - ทำซ้ำระบบบิลด์และการติดตั้งการติดตั้งล้อ Python Redner อยู่ใน PYPI (https://pypi.org/project/redner-gpu/ และ https://pypi.org/project/redner/)
11/04/2019 - เพิ่มฟิลด์ "พื้นผิวทั่วไป" ในวัสดุที่สามารถมีจำนวนช่องทางโดยพลการ สิ่งนี้มีประโยชน์สำหรับแอปพลิเคชันการเรียนรู้อย่างลึกซึ้งซึ่งพื้นผิวถูกสร้างขึ้นโดยเครือข่ายและผลลัพธ์จะถูกป้อนเข้าสู่เครือข่ายอื่นเพื่อการประมวลผลเพิ่มเติม ดู test_multichannels.py สำหรับประเพณี ขอบคุณFrançois Ruty สำหรับข้อเสนอแนะและความช่วยเหลือในการดำเนินการ
11/04/2019 - แก้ไขข้อบกพร่องหลายอย่างในตัวโหลด OBJ/Mitsuba ที่แนะนำโดย uv_indices และ normal_indices เปลี่ยนไป
10/19/2019 - เพิ่มการรองรับสีจุดสุดยอด ดู test_vertex_color.py
10/08/2019 - เพิ่มการคำนวณ UV อัตโนมัติผ่านห้องสมุด XATLAS ดูฟังก์ชั่น compute_uvs ใน shape.py และ test_compute_uvs.py
10/08/2019 - เปลี่ยนอินเทอร์เฟซคลาสรูปร่างเล็กน้อย คำสั่งตัวสร้างนั้นแตกต่างกันและตอนนี้ต้องใช้อาร์กิวเมนต์ 'UV_INDICES' และ 'Normal_Indices' พิเศษสำหรับการจัดการกับตะเข็บในการทำแผนที่ UV และการโหลด OBJ ดู Pyredner/Shape.py และการสอน 2
09/22/2019 - ตอนนี้เราจัดการกับความไม่สอดคล้องกันระหว่างบรรทัดฐานการแรเงาและบรรทัดฐานเรขาคณิตอย่างสง่างามมากขึ้น (แทนที่จะกลับมาเป็นศูนย์ในกรณีส่วนใหญ่) สิ่งนี้จะช่วยในการแสดงผลใน Wild Say Models in Shapenet
09/21/2019 - แก้ไขข้อผิดพลาดบัฟเฟอร์ที่รุนแรงในรหัสการเรนเดอร์รอการตัดบัญชีเมื่อไม่มีช่องสัญญาณเอาต์พุต Radiance หากสิ่งต่าง ๆ ไม่ได้ผลสำหรับคุณอาจลองอีกครั้ง
08/16/2019 - เพิ่มไฟล์ Docker เพื่อการติดตั้งที่ง่ายขึ้น ขอบคุณ Seyoung Park สำหรับการบริจาคอีกครั้ง นอกจากนี้ฉันยังปรับปรุงคู่มือการติดตั้ง Wiki อย่างมีนัยสำคัญ
08/13/2019 - เพิ่มการสนับสนุนแผนที่ปกติ ดูการทดสอบ/test_teapot_normal_map.py
08/10/2019 - ง่ายขึ้นอย่างมีนัยสำคัญรหัสการสะสมอนุพันธ์ (การลดการแบ่งส่วน -> อะตอม) GPU backward pass มีความเร็ว 20 ~ 30%
08/07/2019 - แก้ไขข้อผิดพลาดพื้นผิวหยาบ
07/27/2019 - การสนับสนุน Tensorflow 1.14! ปัจจุบันสนับสนุนการดำเนินการที่กระตือรือร้นเท่านั้น เราจะสนับสนุนการดำเนินการกราฟหลังจาก TensorFlow 2.0 มีความเสถียร ดูตัวอย่าง tests_tensorflow (ฉันขอแนะนำให้เริ่มต้นจาก tests_tensorflow/test_single_triangle.py) ไฟล์ CMake ควรตรวจจับ TensorFlow โดยอัตโนมัติใน Python และติดตั้งไฟล์ที่สอดคล้องกัน บทเรียนกำลังดำเนินการอยู่ ขอบคุณมากไปที่ Seyoung Park สำหรับการบริจาค!
06/25/2019 - เพิ่มกล้อง orthographic (ดูตัวอย่าง/two_d_mesh.py)
05/13/2019 - แก้ไขข้อบกพร่องไม่กี่ข้อที่เกี่ยวข้องกับอนุพันธ์ของกล้อง หากสิ่งที่ไม่ได้ผลสำหรับคุณมาก่อนอาจลองอีกครั้ง
04/28/2019 - เพิ่มการสนับสนุน QMC (ดูการทดสอบ/test_qmc.py และเอกสารใน pyredner.serialize_scene ())
04/01/2019 - ตอนนี้รองรับ Multi -GPU (ดู Pyredner.set_device)
03/31/2019 - นำวิธีการสุ่มตัวอย่างขอบลำดับชั้นกลับมาในกระดาษ
02/02/2019 - ตอนนี้วิกิมีชุดการสอน แผนคือการขยายตัวอย่างเพิ่มเติม
Redner ขึ้นอยู่กับห้องสมุด/ระบบสองสามตัวซึ่งทั้งหมดรวมอยู่ในที่เก็บ:
แผนพัฒนาปัจจุบันคือการปรับปรุงตัวแสดงผล คุณสมบัติต่อไปนี้จะถูกเพิ่มในอนาคตอันใกล้ (ไม่อยู่ในรายการใด ๆ โดยเฉพาะ):
@article{Li:2018:DMC,
title = {Differentiable Monte Carlo Ray Tracing through Edge Sampling},
author = {Li, Tzu-Mao and Aittala, Miika and Durand, Fr{'e}do and Lehtinen, Jaakko},
journal = {ACM Trans. Graph. (Proc. SIGGRAPH Asia)},
volume = {37},
number = {6},
pages = {222:1--222:11},
year = {2018}
}
หากคุณมีคำถาม/ความคิดเห็น/รายงานข้อผิดพลาดอย่าลังเลที่จะเปิดปัญหา GitHub หรืออีเมลไปยังผู้แต่ง Tzu-Mao Li ([email protected])