คำถามติดแท็ก algorithm

2
เหตุใดการติดตาม monte carlo ray จึงทำงานได้ดีกว่าการติดตามการกระจายรังสี
ฉันได้ยินมาว่าคุณภาพของตัวติดตามมอนต์คาร์โลเรย์ (ขึ้นอยู่กับอัลกอริธึมการติดตามเส้นทาง) นั้นสมจริงกว่าเครื่องยนต์แบบกระจาย (สุ่ม) ฉันพยายามที่จะเข้าใจว่าทำไม แต่ฉันเพิ่งจะเริ่ม ในการดำน้ำในหัวข้อนี้และทำความเข้าใจกับพื้นฐานบางคนสามารถชี้แนะทิศทางที่ถูกต้องได้ไหม? ส่วนใดของอัลกอริทึมที่นำไปสู่ผลลัพธ์การแสดงผลที่สมจริงยิ่งขึ้น?

2
โดยทั่วไปแล้วการกรองแบบแอนไอโซทรอปิกจะนำไปใช้กับ GPU สมัยใหม่ได้อย่างไร?
การกรอง Anisotropic "รักษาความคมชัดของพื้นผิวที่สูญเสียไปตามปกติโดยความพยายามในการหลีกเลี่ยงการใช้นามแฝงของพื้นผิวแผนที่ MIP" บทความ Wikipedia ให้คำแนะนำเกี่ยวกับวิธีการนำไปใช้ ("ตรวจสอบพื้นผิว (... ) สำหรับการวางแนวของ Anisotropy") แต่มันไม่ได้อ่านอย่างชัดเจนสำหรับฉัน ดูเหมือนจะมีการใช้งานที่หลากหลายตามที่แนะนำโดยการทดสอบที่แสดงในบันทึกของงานนำเสนอแบบจำลองโดยประมาณสำหรับการแสดงผลตามร่างกาย : การคำนวณที่เป็นรูปธรรมดำเนินการโดย GPU (สมัยใหม่) ในการเลือกระดับ MIP ที่ถูกต้องเมื่อใช้ตัวกรอง anisotropic คืออะไร

1
ทำไมมันแพงเป็นสองเท่าในการสร้างฟังก์ชั่นเสียงรบกวนที่สามารถปูกระเบื้องได้?
ฉันเคยเห็นในหลาย ๆ ที่ที่ทำเสียงรบกวน Perlin ต่อเนื่องต้องใช้การคำนวณสองครั้งในวิธีที่แตกต่างกันเล็กน้อยและรวมผลลัพธ์ทั้งสอง คำถามที่พบบ่อยเกี่ยวกับคณิตศาสตร์เรื่องเสียงรบกวน Perlin นี้มีสูตร: Floop(x,y,z)=(t−z)⋅F(x,y,z)+z⋅F(x,y,z−t)tFloop(x,y,z)=(t−z)⋅F(x,y,z)+z⋅F(x,y,z−t)tF_{loop}(x, y, z) = \frac{ (t - z) \cdot F(x, y, z) + z \cdot F(x, y, z - t) }{ t} เพื่อทำให้ฟังก์ชั่นสัญญาณรบกวนวนซ้ำในทิศทางนอกจากนี้ยังกล่าวถึงการขยายสิ่งนี้การวนซ้ำใน 2 มิติจะใช้การประเมิน 4 ครั้งและการวนซ้ำใน 3 มิติจะใช้การประเมิน 8 ครั้งFFFzzzFFFFFF ฉันเข้าใจว่าสิ่งนี้ให้การเชื่อมต่อที่ราบรื่นระหว่างกระเบื้องที่ไม่เพียง แต่ต่อเนื่อง แต่สามารถสร้างความแตกต่างได้อย่างต่อเนื่อง แต่ฉันคาดหวังอย่างสังหรณ์ใจว่าจะเป็นเช่นไรหากฟังก์ชั่นเสียงรบกวนถูกประเมินเพียงครั้งเดียว หากฟังก์ชั่นเสียงรบกวนนั้นขึ้นอยู่กับจุดกริดที่อยู่รอบ ๆ เท่านั้น (4 สำหรับเสียง 2 มิติ, …
13 algorithm  noise 

2
การปัดเศษของการล้อมรอบพื้นที่หน้าจอมีการใช้งานอย่างไร
ฉันไม่เข้าใจคำอธิบายจากวิกิพีเดีย สำหรับทุกพิกเซลบนหน้าจอพิกเซลเชดเดอร์จะสุ่มค่าความลึกรอบพิกเซลปัจจุบันและพยายามคำนวณจำนวนการบดเคี้ยวจากแต่ละจุดที่สุ่มตัวอย่าง ค่าความลึกของพิกเซลโดยรอบจะบอกอะไรคุณเกี่ยวกับการบดเคี้ยวได้อย่างไร ฉันเข้าใจว่าการบดเคี้ยวเกิดขึ้นเมื่อวัตถุ A ย่อมาด้านหน้าวัตถุ B อื่นดังนั้นคุณไม่สามารถมองเห็นวัตถุ B ได้ แต่ทำไมคุณถึงมองที่พิกเซลความลึกของพิกเซลแวดล้อม ฉันหมายถึงคุณสามารถเห็นพิกเซลเหล่านั้นดังนั้นจึงไม่มีการอุดตัน บางทีฉันอาจเข้าใจผิด ๆ และสิ่งที่ฉันไม่เข้าใจก็คือเคอร์เนลคำศัพท์ในบทเรียนอื่น ๆ เคอร์เนลคืออะไรและทำไมคุณถึงใช้กับ ssao ใครช่วยอธิบายอัลกอริทึมโดยละเอียดเกี่ยวกับคำถามของฉัน

3
ฉันจะมุ่งเน้นคะแนนในพื้นที่ของความโค้งที่สูงขึ้นได้อย่างไร
ฉันจะกระจายคะแนนไปบนพื้นผิวโดยนัยได้อย่างไรเพื่อเพิ่มสมาธิในพื้นที่ที่มีความโค้งสูงกว่า ฉันได้พิจารณาการเพิ่มจุดแบบสุ่มและปฏิเสธจุดที่ไม่จำเป็นขึ้นอยู่กับความโค้ง แต่ฉันอยากจะรู้ว่ามีวิธีที่ดีกว่าที่จะให้การกระจายที่สม่ำเสมอยิ่งขึ้นในพื้นที่ของความโค้งที่คล้ายกันในขณะที่ยังให้ความหนาแน่นสูงขึ้น ภูมิภาคที่มีความโค้งงอ ฉันกำลังมองหาจุดเหล่านี้โดยเฉพาะเพื่อการหารูปสามเหลี่ยมของพื้นผิวและฉันไม่ต้องการที่จะสร้างรูปสามเหลี่ยมมากขึ้นกว่าที่ฉันต้องการสำหรับชิ้นส่วนที่ค่อนข้างแบน สิ่งนี้จะถูกนำไปใช้กับรูปร่างที่มีอนุพันธ์รู้จักที่รู้จักกันดังนั้นความโค้งที่จุดที่กำหนดสามารถคำนวณได้ สิ่งนี้ไม่จำเป็นต้องเป็นวิธีการตามเวลาจริง

1
กลยุทธ์สำหรับการเชื่อมต่อ 2 จุดโดยไม่ต้องตัดส่วนของเส้นโค้งที่วาดไว้ก่อนหน้านี้
ฉันต้องเชื่อมต่อจุดคู่โดยไม่มีทางแยก สมมติว่าฉันมีจุดสองจุดที่ฉันเชื่อมต่อกับส่วนของเส้นโค้ง จากนั้นเลือกจุดปลายทางใหม่สองจุดอีกครั้งและจุดใหม่เหล่านี้จะต้องเชื่อมต่อเช่นกัน วิธีที่ง่ายที่สุดในการค้นหาและวาดส่วนของเส้นโค้งเหล่านี้คืออะไร?
9 algorithm 

1
การเข้าถึงหน่วยความจำที่เหมาะสมที่สุดเมื่อใช้ตารางการค้นหาบน GPU?
ฉันกำลังสำรวจอัลกอริทึม isosurface บน GPU สำหรับโครงการปริญญาตรี ดังนั้นฉันจึงมีการใช้ซีพียูของ marching cubes ที่ดีและทำงานใน OpenFrameworks และตอนนี้อยู่ในขั้นตอนของการพยายามพอร์ตเข้ากับ GLSL compute shaders และพิจารณาข้อผิดพลาดก่อนที่ฉันจะดำดิ่งฉันเขียน Vert และ frag shaders ก่อนหน้านี้มันเป็นเรื่องใหม่สำหรับฉัน ปัญหาแรกของฉันคือวิธีใช้ตารางการค้นหาอย่างมีประสิทธิภาพในหลายสิบหรือหลายร้อยกระทู้ในเวิร์กกรุ๊ป ฉันเข้าใจว่า GPU มีหน่วยความจำประเภทต่าง ๆ สำหรับงานที่แตกต่างกัน แต่ไม่แน่ใจในการทำงานของแต่ละประเภทหรือชนิดที่จะใช้ ตาราง copypasta คลาสสิกของ Paul Bourke เป็นอาร์เรย์ 256 * 16 ดังนั้นหากใช้ชนิดไบต์สเกลาร์สิ่งนี้น่าจะถูกบรรจุลงในพื้นผิว 4kb หรือ SSBO คำถามคือจะหยุดกระทู้ที่แตกต่างกันไม่ให้สะดุดกันได้อย่างไร คิวบ์จำนวนมากในแต่ละกลุ่มงานอาจมีการกำหนดค่าเดียวกันดังนั้นจึงพยายามเข้าถึงตำแหน่งเดียวกันในบัฟเฟอร์ในเวลาเดียวกัน มีวิธีแก้ปัญหาหรือการเพิ่มประสิทธิภาพเพื่อจัดการกับสิ่งนี้หรือไม่?

1
การสร้างแบบจำลองการทดลองกรีดสองครั้งของ Young
การทดลองกรีดแบบสองทางของ Youngนั้นง่ายมากในการตั้งค่าและง่ายต่อการอธิบาย แต่มันเป็นตัวอย่างของการเลี้ยวเบนและการแทรกสอด เป็นเรื่องตรงไปตรงมาที่จะประมาณผลลัพธ์โดยใช้พื้นผิว แต่ต้องรู้ล่วงหน้าว่าผลลัพธ์ควรเป็นอะไร สำหรับการตั้งค่าโดยพลการโดยที่ไม่ทราบจำนวนและการจัดแบ่งช่องล่วงหน้ามีอัลกอริธึมที่มีอยู่สำหรับการสร้างแบบจำลองเอฟเฟกต์เพื่อสร้างภาพผลลัพธ์ที่ถูกต้องหรือไม่? ถ้าไม่เป็นเช่นนั้นแบบจำลองใดที่จำเป็นต้องมีเพื่อให้สามารถสร้างเอฟเฟกต์เหล่านี้ได้อย่างแม่นยำ การติดตามรังสีสามารถปรับให้ใช้รังสีที่มีข้อมูลเพิ่มเติมหรือจะต้องใช้วิธีการใหม่ทั้งหมดหรือไม่?
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.