เอกสารนี้ให้ภาพรวมของไลบรารีที่มีประสิทธิภาพสองไลบรารี ได้แก่ Apache POI ซึ่งเป็นไลบรารี Java สำหรับจัดการไฟล์ Microsoft Office และ Mitsuba 3 ซึ่งเป็นระบบเรนเดอร์ที่เน้นการวิจัย Apache POI รองรับรูปแบบที่หลากหลาย ในขณะที่ Mitsuba 3 นำเสนอคุณสมบัติขั้นสูง เช่น การเรนเดอร์ที่แตกต่างและการเร่งความเร็ว GPU ทั้งสองเป็นเครื่องมือที่มีค่าสำหรับโดเมนแอปพลิเคชันที่แตกต่างกัน
อาปาเช่ POI™
ไลบรารี Java สำหรับการอ่านและเขียนรูปแบบไฟล์ไบนารี่ของ Microsoft Office และ OOXML
ภารกิจของโครงการ Apache POI คือการสร้างและบำรุงรักษา Java API สำหรับจัดการรูปแบบไฟล์ต่างๆ ตามมาตรฐาน Office Open XML (OOXML) และรูปแบบ OLE 2 Compound Document ของ Microsoft (OLE2) สรุปก็คือ คุณสามารถอ่านและเขียนไฟล์ MS Excel โดยใช้ Java ได้ นอกจากนี้ คุณยังสามารถอ่านและเขียนไฟล์ MS Word และ MS PowerPoint โดยใช้ Java Apache POI คือโซลูชัน Java Excel ของคุณ (สำหรับ Excel 97-2008) เรามี API ที่สมบูรณ์สำหรับการย้ายรูปแบบ OOXML และ OLE2 อื่นๆ และยินดีต้อนรับผู้อื่นให้เข้าร่วม
ไฟล์ OLE2 ประกอบด้วยไฟล์ Microsoft Office ส่วนใหญ่ เช่น XLS, DOC และ PPT รวมถึงรูปแบบไฟล์ที่ใช้ MFC serialization API โครงการจัดเตรียม API สำหรับระบบไฟล์ OLE2 (POIFS) และคุณสมบัติเอกสาร OLE2 (HPSF)
รูปแบบ Office OpenXML เป็นรูปแบบไฟล์ XML ตามมาตรฐานใหม่ที่พบใน Microsoft Office 2007 และ 2008 ซึ่งรวมถึง XLSX, DOCX และ PPTX โปรเจ็กต์นี้มี API ระดับต่ำเพื่อรองรับ Open Packaging Conventions โดยใช้ openxml4j
สำหรับแอปพลิเคชัน MS Office แต่ละรายการ จะมีโมดูลส่วนประกอบที่พยายามจัดเตรียม Java API ระดับสูงทั่วไปให้กับทั้งรูปแบบเอกสาร OLE2 และ OOXML สิ่งนี้ได้รับการพัฒนามากที่สุดสำหรับสมุดงาน Excel (SS=HSSF+XSSF) งานกำลังดำเนินการสำหรับเอกสาร Word (WP=HWPF+XWPF) และงานนำเสนอ PowerPoint (SL=HSLF+XSLF)
โครงการมีการสนับสนุน Outlook (HSMF) บางส่วน Microsoft เปิดข้อกำหนดเฉพาะในรูปแบบนี้ในเดือนตุลาคม พ.ศ. 2550 เรายินดีรับการมีส่วนร่วม
นอกจากนี้ยังมีโปรเจ็กต์สำหรับ Visio (HDGF และ XDGF), TNEF (HMEF) และ Publisher (HPBF)
ไลบรารีนี้มีคอมโพเนนต์ต่อไปนี้ ตามลำดับความสมบูรณ์โดยประมาณจากมากไปหาน้อย:
และส่วนประกอบรองรับระดับล่าง:
เริ่มต้นใช้งาน
เว็บไซต์: https://poi.apache.org/
รายชื่อผู้รับจดหมาย:
ติดตามข้อผิดพลาด:
รหัสที่มา:
ต้องใช้ Java 1.8 หรือใหม่กว่า
มีส่วนร่วม
การสร้างไฟล์ jar
หากต้องการสร้างไฟล์ jar สำหรับ poi, poi-ooxml, poi-ooxml-lite, poi-ooxml-full และ poi-examples:
ตัวอย่าง:
มิตสึบะ เรนเดอร์เรอร์ 3
เอกสารประกอบ | วิดีโอสอน | ลินุกซ์ | แมคโอเอส | หน้าต่าง | พีพีไอ |
---|---|---|---|---|---|
คำเตือน
ขณะนี้มีงานที่ไม่มีเอกสารและไม่มั่นคงเกิดขึ้นจำนวนมาก
สาขา master
เราขอแนะนำให้คุณใช้ของเรา
รุ่นล่าสุด
จนกว่าจะมีประกาศต่อไป
หากคุณต้องการลองใช้การเปลี่ยนแปลงที่กำลังจะเกิดขึ้น โปรดดูที่
คู่มือการย้ายนี้
ควรครอบคลุมคุณลักษณะใหม่ส่วนใหญ่และการเปลี่ยนแปลงที่กำลังจะเกิดขึ้น
การแนะนำ
Mitsuba 3 เป็นระบบการเรนเดอร์ที่เน้นการวิจัยสำหรับแสงไปข้างหน้าและไฟผกผัน
การจำลองการขนส่งที่พัฒนาขึ้นที่ EPFL ในประเทศสวิตเซอร์แลนด์
ประกอบด้วยไลบรารีหลักและชุดปลั๊กอินที่ใช้ฟังก์ชันการทำงาน
ตั้งแต่วัสดุและแหล่งกำเนิดแสงไปจนถึงอัลกอริธึมการเรนเดอร์ที่สมบูรณ์
Mitsuba 3 สามารถกำหนดเป้าหมายใหม่ได้ : นี่หมายความว่าการใช้งานพื้นฐานและ
โครงสร้างข้อมูลสามารถแปลงสภาพเพื่อทำงานต่างๆ ให้สำเร็จได้ สำหรับ
ตัวอย่าง รหัสเดียวกันสามารถจำลองการขนส่ง RGB ทั้งแบบสเกลาร์ (คลาสสิกหนึ่งเรย์ต่อครั้ง)
หรือการขนส่งสเปกตรัมที่แตกต่างกันบน GPU ทั้งหมดนี้สร้างขึ้น
Dr.Jit คอมไพเลอร์เฉพาะทาง just-in-time (JIT) ที่พัฒนาขึ้นสำหรับโปรเจ็กต์นี้โดยเฉพาะ
คุณสมบัติหลัก
ข้ามแพลตฟอร์ม : Mitsuba 3 ได้รับการทดสอบบน Linux ( x86_64
), macOS
( aarch64
, x8664
) และ Windows ( x8664
)
ประสิทธิภาพสูง : คอมไพเลอร์ Dr.Jit พื้นฐานจะฟิวส์โค้ดการเรนเดอร์
สู่เมล็ดพืชที่ได้รับประสิทธิภาพอันล้ำสมัยโดยใช้
แบ็กเอนด์ LLVM ที่กำหนดเป้าหมาย CPU และแบ็กเอนด์ CUDA/OptiX
กำหนดเป้าหมาย NVIDIA GPU ด้วยการเร่งด้วยฮาร์ดแวร์ Ray Tracing
Python ก่อน : Mitsuba 3 ได้รับการบูรณาการอย่างลึกซึ้งกับ Python วัสดุ,
พื้นผิวและแม้กระทั่งอัลกอริธึมการเรนเดอร์แบบเต็มสามารถพัฒนาได้ใน Python
ซึ่งระบบ JIT คอมไพล์ (และเลือกสร้างความแตกต่าง) ได้ทันที
สิ่งนี้ทำให้สามารถทดลองที่จำเป็นสำหรับการวิจัยในคอมพิวเตอร์กราฟิกและ
สาขาวิชาอื่น ๆ
ความแตกต่าง : Mitsuba 3 เป็นตัวเรนเดอร์ที่สร้างความแตกต่างได้ ซึ่งหมายความว่ามัน
สามารถคำนวณอนุพันธ์ของการจำลองทั้งหมดโดยคำนึงถึงอินพุต
พารามิเตอร์ต่างๆ เช่น ท่าทางกล้อง เรขาคณิต BSDF พื้นผิว และปริมาตร มัน
ใช้อัลกอริธึมการเรนเดอร์เชิงอนุพันธ์ล่าสุดที่พัฒนาขึ้นที่ EPFL
สเปกตรัมและโพลาไรเซชัน : Mitsuba 3 สามารถใช้เป็นสีเดียวได้
ตัวเรนเดอร์ ตัวเรนเดอร์แบบ RGB หรือตัวเรนเดอร์สเปกตรัม แต่ละรุ่นได้
สามารถเลือกพิจารณาถึงผลกระทบของโพลาไรเซชันได้หากต้องการ
วิดีโอสอน เอกสารประกอบ
เราได้บันทึกวิดีโอ YouTube หลายรายการที่มีการแนะนำอย่างนุ่มนวล
มิตซูบา 3 และ คุณหมอจิตร. นอกเหนือจากนี้ คุณจะพบสมุดบันทึก Juypter ฉบับสมบูรณ์
ครอบคลุมการใช้งาน คำแนะนำวิธีใช้ และเอกสารอ้างอิงที่หลากหลาย
บน readthedocs
การติดตั้ง
เราจัดเตรียมล้อไบนารีที่คอมไพล์ไว้ล่วงหน้าผ่าน PyPI การติดตั้ง Mitsuba ด้วยวิธีนี้ทำได้ง่ายเพียงแค่ใช้งาน
pip ติดตั้งมิตซูบา
บนบรรทัดคำสั่ง แพ็คเกจ Python มีตัวแปรสิบสามแบบตามค่าเริ่มต้น:
scalar_rgb
scalar_spectral
scalarspectralpolarized
llvmadrgb
llvmadmono
llvmadmono_polarized
llvmadspectral
llvmadspectral_polarized
cudaadrgb
cudaadmono
cudaadmono_polarized
cudaadspectral
cudaadspectral_polarized
สองรายการแรกทำการจำลองแบบหนึ่งเรย์ต่อครั้งแบบคลาสสิกโดยใช้ RGB
หรือการแสดงสีสเปกตรัม ในขณะที่สองอันหลังสามารถใช้สำหรับการผกผันได้
แสดงผลบน CPU หรือ GPU หากต้องการเข้าถึงตัวแปรเพิ่มเติม คุณจะต้อง
รวบรวม Dr.Jit เวอร์ชันที่กำหนดเองโดยใช้ CMake โปรดดูที่
เอกสารประกอบ
สำหรับรายละเอียดเกี่ยวกับเรื่องนี้
ความต้องการ
Python >= 3.8
(ทางเลือก) สำหรับการคำนวณบน GPU: Nvidia driver >= 495.89
(ทางเลือก) สำหรับการคำนวณแบบเวกเตอร์ / แบบขนานบน CPU: LLVM >= 11.1
การใช้งาน
นี่คือตัวอย่าง "Hello World" ง่ายๆ ที่แสดงให้เห็นว่าการเรนเดอร์ a เป็นเรื่องง่ายเพียงใด
ฉากโดยใช้ Mitsuba 3 จาก Python:
# นำเข้าไลบรารีโดยใช้นามแฝง "mi" นำเข้า mitsuba เป็น mi# ตั้งค่าตัวแปรของ renderermi.setvariant('scalarrgb')# โหลดฉากฉาก = mi.loติดยาเสพติด(mi.cornellbox())# เรนเดอร์ฉาก img = mi render(scene)# เขียนภาพที่เรนเดอร์ไปยังไฟล์ EXRmi.Bitmap(img).write('cbox.exr')
สามารถดูบทช่วยสอนและสมุดบันทึกตัวอย่างที่ครอบคลุมการใช้งานที่หลากหลาย
ในเอกสารประกอบ
เกี่ยวกับ
โปรเจ็กต์นี้สร้างโดย Wenzel Jakob
คุณสมบัติที่สำคัญและ/หรือการปรับปรุงโค้ดได้รับการสนับสนุนโดย
เซบาสเตียน สไปเรอร์,
นิโคลัส รุสเซล,
เมอร์ลิน นิเมียร์-เดวิด
เดลิโอ วิชินี่,
ทิเซียน เซลท์เนอร์,
แบปติสต์ นิโคเลต์,
มิเกล เครสโป,
วินเซนต์ เลอรอย และ
จือยี่ จาง.
เมื่อใช้ Mitsuba 3 ในโครงการวิชาการ โปรดอ้างอิง:
@software{Mitsuba3,title = {Mitsuba 3 renderer},ผู้เขียน = {Wenzel Jakob และ Sébastien Speierer และ Nicolas Roussel และ Merlin Nimier-David และ Delio Vicini และ Tizian Zeltner และ Baptiste Nicolet และ Miguel Crespo และ Vincent Leroy และ Ziyi Zhang} หมายเหตุ = {https://mitsuba-renderer.org},รุ่น = {3.1.1},ปี = 2022}