เอกสารนี้ให้คำแนะนำที่ครอบคลุมเกี่ยวกับการใช้โค้ดตัวอย่าง Twitter API v2 และตัวเรนเดอร์ Mitsuba 3 ประกอบด้วยคำแนะนำในการตั้งค่าสำหรับภาษาการเขียนโปรแกรมต่างๆ (Java, Node.js, Python, R, Ruby) รายละเอียดเกี่ยวกับตัวแปรสภาพแวดล้อม และเคล็ดลับในการแก้ไขปัญหา สำหรับ Mitsuba 3 จะมีคำแนะนำในการติดตั้ง ตัวอย่างการใช้งาน และข้อมูลเกี่ยวกับคุณสมบัติหลักและผู้มีส่วนร่วม
โค้ดตัวอย่าง Twitter API v2
โค้ดตัวอย่างสำหรับตำแหน่งข้อมูล Twitter API v2
คุณสมบัติ API แต่ละรายการมีโฟลเดอร์ที่คุณสามารถค้นหาตัวอย่างการใช้งานในภาษาการเขียนโค้ดหลายภาษา (Java, Node.js, Python, R และ Ruby)
ข้อกำหนดเบื้องต้น
การใช้ตัวอย่างโค้ด
ในการรันตัวอย่างในพื้นที่เก็บข้อมูลนี้ คุณจะต้องตั้งค่าตัวแปรสภาพแวดล้อมบางอย่าง คุณสามารถค้นหาข้อมูลประจำตัวและโทเค็นผู้ถือได้ในแอปภายในโครงการของคุณในแดชบอร์ดของพอร์ทัลนักพัฒนา
สำหรับตัวอย่าง OAuth 1.0a คุณจะต้องส่งออกรหัสผู้บริโภคและข้อมูลลับในเทอร์มินัลของคุณ อย่าลืมเปลี่ยน
สำหรับตัวอย่างที่ใช้การรับรองความถูกต้องโทเค็นผู้ถือ คุณจะต้องส่งออกโทเค็นผู้ถือ อย่าลืมเปลี่ยน
ข้อกำหนดเฉพาะภาษา
ตั้งค่าสภาพแวดล้อม Java
หากคุณใช้ Homebrew คุณสามารถติดตั้งรันไทม์ Java ได้โดยใช้:
คุณจะต้องดาวน์โหลดไฟล์ JAR ที่เกี่ยวข้องซึ่งอ้างอิงในแต่ละตัวอย่างเพื่อสร้างและรันโค้ด หากคุณใช้ IDE มันอาจจะสามารถทำสิ่งนี้ให้คุณได้โดยอัตโนมัติ
ตั้งค่าสภาพแวดล้อม JavaScript (Node.js)
คุณจะต้องติดตั้ง Node.js เพื่อเรียกใช้โค้ดนี้ ตัวอย่าง Node.js ทั้งหมดใช้ need เป็นไคลเอนต์ HTTP ซึ่งจำเป็นต้องติดตั้ง npm สำหรับ OAuth ที่มีคำขอบริบทของผู้ใช้ คุณจะต้องติดตั้งแพ็คเกจ got และ oauth-1.0a
ตั้งค่าสภาพแวดล้อม Python แล้ว
คุณจะต้องติดตั้ง Python 3 เพื่อเรียกใช้โค้ดนี้ ตัวอย่าง Python ใช้request==2.24.0 ซึ่งใช้request-oauthlib==1.3.0
(ทางเลือก) เป็นเรื่องปกติและไม่แนะนำให้ติดตั้งแพ็คเกจที่จำเป็นทั่วโลก แต่ติดตั้งไว้ภายในโฟลเดอร์ย่อยของโปรเจ็กต์โดยใช้ venv:
คุณสามารถติดตั้งแพ็คเกจเหล่านี้ได้ดังนี้:
ตั้งค่าสภาพแวดล้อม Ruby
คุณจะต้องติดตั้ง Ruby (แนะนำ: >= 2.0.0) เพื่อรันโค้ด ตัวอย่าง Ruby ใช้ typhoeus เป็นไคลเอนต์ HTTP ซึ่งจำเป็นต้องติดตั้ง gem สำหรับ OAuth ที่มีคำขอบริบทของผู้ใช้ คุณจะต้องติดตั้ง oauth gem ด้วย (ดูด้านล่าง)
แหล่งข้อมูลเพิ่มเติม
เราดูแลรักษา Postman Collection ซึ่งคุณสามารถใช้สำหรับใช้งานจุดสิ้นสุด API แต่ละรายการได้
สนับสนุน
สำหรับคำถามทั่วไปที่เกี่ยวข้องกับ API และฟีเจอร์ โปรดใช้ส่วน v2 ของฟอรัมชุมชนนักพัฒนาของเรา
หากมีข้อบกพร่องหรือปัญหากับโค้ดตัวอย่าง โปรดสร้างปัญหาใหม่ที่นี่บน GitHub
มีส่วนร่วม
เรายินดีรับคำขอดึงที่เพิ่มการเพิ่มเติมที่มีความหมายให้กับตัวอย่างโค้ดเหล่านี้ โดยเฉพาะอย่างยิ่งสำหรับภาษาที่ยังไม่ได้แสดงที่นี่
เรารู้สึกว่าชุมชนที่เป็นมิตรเป็นสิ่งสำคัญ และเราขอให้คุณปฏิบัติตามจรรยาบรรณโอเพ่นซอร์สของ Twitter ในทุกปฏิสัมพันธ์กับชุมชน
ใบอนุญาต
ลิขสิทธิ์ 2021 ทวิตเตอร์ อิงค์
ได้รับอนุญาตภายใต้ Apache License เวอร์ชัน 2.0: https://www.apache.org/licenses/LICENSE-2.0
ตัวอย่าง:
มิตสึบะ เรนเดอร์เรอร์ 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}