การแสดงล้านล้านล้านคำว่า“ อะตอม” แทนที่จะเป็นรูปหลายเหลี่ยม?


9

ฉันเพิ่งเห็นวิดีโอเกี่ยวกับสิ่งที่ผู้จัดพิมพ์เรียกว่า "ขั้นตอนสำคัญต่อไปหลังจากการประดิษฐ์ 3D" ตามที่คนพูดว่าพวกเขาใช้เป็นจำนวนมากของอะตอมแบ่งออกเป็นเมฆแทนรูปหลายเหลี่ยมไปถึงระดับของรายละเอียดที่ไม่ จำกัด

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

ระดับรายละเอียดในวิดีโอของพวกเขาดูน่าประทับใจสำหรับฉัน

  • เป็นไปได้อย่างไรที่จะแสดงฉากด้วยอะตอมที่กำหนดเองแทนที่จะเป็นรูปหลายเหลี่ยมบนฮาร์ดแวร์ปัจจุบัน (ความเร็วหน่วยความจำที่ชาญฉลาด)
  • ถ้าเป็นจริงทำไมไม่มีใครคิดเรื่องนี้อีกเล่า

ฉันในฐานะนักพัฒนา OpenGL รู้สึกงุนงงกับสิ่งนี้มากและอยากได้ยินสิ่งที่ผู้เชี่ยวชาญพูด ดังนั้นฉันจึงไม่ต้องการให้สิ่งนี้ดูเหมือนโฆษณาราคาถูกและจะรวมลิงก์ไปยังวิดีโอเฉพาะเมื่อมีการร้องขอในส่วนความคิดเห็น


7
พวกเขาได้คิดค้นสิ่งที่ปฏิวัติที่สุดตั้งแต่จุดเริ่มต้นของคอมพิวเตอร์กราฟฟิค แต่พวกเขาไม่รู้ว่ามีกี่มิลลิเมตรที่พอดีกับนิ้วสิ่งที่บอกคุณ

2
พวกเขามีรายละเอียด จำกัด มาก (ให้อภัยปุน) เกี่ยวกับเทคโนโลยีของพวกเขาว่าการสนทนานั้นยาก จากสิ่งที่ฉันเข้าใจจากวิดีโอมันเป็น 20fps ในซอฟต์แวร์ ฉันเห็นรูปทรงเรขาคณิตแบบคงที่จำนวนมากทั้งแบบอินสแตนซ์และไม่ทราบว่าข้อมูลมีการคำนวณล่วงหน้าหรือสร้างขึ้นในทันที ยังคงน่าสนใจ ฉันไม่ต้องการเรียก shenanigans อย่างสมบูรณ์ ไม่ได้อยู่กับเงินทุนที่ได้มาแม้ว่าจะไม่ได้มีความหมายอะไรมากมาย
บาร์ต

8
เป็นเรื่องที่น่าสงสัยเสมอหากมีคนอ้างสิทธิ์ที่ยอดเยี่ยมและแสดงเฉพาะบางสิ่งที่ไม่เกี่ยวข้องทั้งหมด (เช่น Crysis) ยิ่งกว่านั้นหากมีการกล่าวอ้างเช่น "เทคโนโลยีที่ใช้ในการแพทย์ / การเดินทางในอวกาศ" และการผสมสิ่งต่าง ๆ ที่ไม่เกี่ยวข้องกัน แน่นอนว่ามีความเป็นไปได้ที่จะสร้างรายละเอียดที่ไม่มีที่สิ้นสุดและเกือบจะเป็นไปได้ ดังนั้นการสาธิตดอกเด็นบรูททุกปี 1984 สามารถทำเช่นนั้นได้ อย่างไรก็ตามการอ้างสิทธิ์ก็คือพวกมันทำให้วัตถุคล้ายช้างในรายละเอียดที่ไม่สิ้นสุด และนั่นเป็นเพียงการปิดกั้นเพราะพวกเขาทำไม่ได้

8
"กราฟิกของคุณกำลังจะดีขึ้นด้วยระดับ 100,000 เท่า" การเรียกร้องวิสามัญต้องมีหลักฐานพิเศษ
แบรดลาร์สัน

11
Notch เขียน บทความในบล็อกสองเรื่องเกี่ยวกับวิดีโอนี้
Kevin Yap

คำตอบ:


11

มันง่ายที่จะทำเช่นนั้น การใช้ออคทรีช่วยให้คุณแบ่งโลกออกเป็นชิ้นเล็ก ๆ ที่มีความก้าวหน้าจนกว่าคุณจะถึงระดับรายละเอียดที่ต้องการ นี่อาจเป็นขนาดของเม็ดทราย คิดว่า Minecraft นำไปสู่สุดขั้ว

ตอนนี้คุณทำอะไร หากรายละเอียดมีขนาดเล็กพอคุณอาจพิจารณาสร้างบล็อก - โหนดปลายใบไม้ของ octtree ตัวเลือกอื่น ๆ ได้แก่ ทรงกลมหรือดั้งเดิมเรขาคณิต สีและปกติสามารถจัดเก็บที่แต่ละโหนดและสำหรับ LOD ที่ลดลงหนึ่งสามารถเก็บข้อมูลคอมโพสิตที่ระดับที่สูงขึ้นของต้นไม้

คุณจะจัดการข้อมูลได้มากแค่ไหน? หากทรีเป็นโครงสร้างข้อมูลจริงคุณสามารถมีพอยน์เตอร์หลายตัวอ้างอิงต้นไม้ย่อยเดียวกันได้เหมือนการนำพื้นผิวมาใช้ซ้ำ แต่ก็มีเรขาคณิตด้วยเช่นกัน เคล็ดลับคือการใช้ซ้ำได้มากที่สุดในทุกระดับ ตัวอย่างเช่นหากคุณเชื่อมต่อ octants 4 ตำแหน่งในการจัดเรียง tetrahedral ทั้งหมดไปยังโหนดลูกเดียวกันในทุกระดับคุณสามารถสร้างเศษส่วน sierpinsky 3d ขนาดใหญ่มากโดยใช้หน่วยความจำเกือบจะไม่ ฉากจริงจะมีขนาดใหญ่กว่าแน่นอน

ปัญหาคือมันจะทำงานเฉพาะกับเรขาคณิตคงที่เพราะภาพเคลื่อนไหวที่แท้จริงจะต้องมีการจัดการกับข้อมูลทั้งหมดทุกเฟรม อย่างไรก็ตามการแสดงผลโดยเฉพาะอย่างยิ่งกับตัวแปร LOD ก็ไม่มีปัญหา

วิธีที่จะทำให้เรื่องแบบนี้? ฉันเป็นแฟนตัวยงของการติดตามรังสีและมันก็จัดการกับสิ่งนั้นได้ดีทั้งที่มีและไม่มี GPU

ทั้งหมดนี้เป็นการเก็งกำไรแน่นอน ฉันไม่มีข้อมูลเฉพาะเกี่ยวกับกรณีที่คุณกำลังพูดถึง และตอนนี้สำหรับบางสิ่งที่เกี่ยวข้อง แต่แตกต่างกัน:

มีการแสดงข้อมูลจำนวนมาก

แก้ไขและนี่คือสิ่งที่ฉันทำ แต่ฉันตั้งใจเปลี่ยนบรรทัดฐานเพื่อทำให้กล่องชัดเจนขึ้น:

กระต่ายแสตนฟอร์ด

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

ที่ไหนสักแห่งใน ompf มีรถที่ทำด้วย voxels ที่ยอดเยี่ยมจริงๆ - ยกเว้นว่ามันจะคงที่ ดูเหมือนจะไม่พบตอนนี้ ...


ฉันเห็นด้วยกับการประเมินนี้: เพียงแค่ดูวิดีโอของตัวเองและรู้สึกประทับใจกับฉากที่พวกเขาเคลื่อนไหว (ตลกเมื่อพวกเขาเปรียบเทียบกับหญ้ารูปหลายเหลี่ยม; อย่างน้อยมันก็ถูกลมพัดในขณะที่พวกเขาไม่ชัดเจน)
timday

1
น่าเสียดายที่ลิงค์เสีย
โจอาคิมซาวเออร์

1
@JoachimSauer แท้จริงแล้วฟอรัม OMPF ได้ลดลงไปสักพักแล้ว มีการแทนที่โดยตรงที่นี่แต่ฉันไม่ทราบว่ามีการย้ายเนื้อหาใด ๆ
Bart

ดูไม่เหมือนมัน การค้นหา "bunny" ในฟอรัมนั้นไม่ปรากฏผลลัพธ์สำหรับฉัน
Joachim Sauer

ลิงค์แรกเปิดป๊อปอัปและกล่องการแจ้งเตือนของ -1
NimChimpsky

6
  • เป็นไปได้อย่างไรที่จะแสดงฉากด้วยอะตอมที่กำหนดเองแทนที่จะเป็นรูปหลายเหลี่ยมบนฮาร์ดแวร์ปัจจุบัน (ความเร็วหน่วยความจำที่ชาญฉลาด)

จากการดูวิดีโอไม่มีอะไรบ่งบอกว่ามีการใช้ฮาร์ดแวร์พิเศษใด ๆ ในความเป็นจริงมีการระบุว่าซอฟต์แวร์นี้ทำงานที่ 20fps เว้นแต่ว่าฉันพลาดอะไรบางอย่างไป

คุณอาจจะประหลาดใจที่รู้ว่ามีการพัฒนาค่อนข้างมากในการเรนเดอร์เรียลไทม์โดยใช้เทคโนโลยีที่หลากหลายเช่นการติดตามรังสีการเรนเดอร์ voxel และการกระแทกพื้นผิว มันยากที่จะพูดว่าสิ่งที่ใช้ในกรณีนี้ (หากคุณสนใจให้ดูที่http://igad2.nhtv.nl/ompf2/สำหรับฟอรั่มการติดตาม ray แบบเรียลไทม์ที่ดีหรือhttp://www.atomontage.com/สำหรับเครื่องมือ voxel ที่น่าสนใจ Google "พื้นผิวหน้าจอ" สำหรับการเชื่อมโยงที่ยอดเยี่ยมในหัวข้อนั้น)

หากคุณดูภาพยนตร์คุณจะสังเกตเห็นว่ารูปทรงเรขาคณิตทั้งหมดเป็นแบบสแตติกและถึงแม้ว่าจะมีรายละเอียด แต่ก็มีการทำซ้ำวัตถุค่อนข้างมาก

และจะมีการคัดสรรที่ดุเดือดเป็นอย่างมากระดับของรายละเอียดและการแบ่งพื้นที่ที่เกิดขึ้น

หากคุณดูคุณภาพของภาพ (ไม่ซับซ้อนทางเรขาคณิต) มันจะไม่ดูน่าประทับใจเท่านี้ ในความเป็นจริงมันดูค่อนข้างแบน เงาที่แสดงอาจถูกอบเข้าสู่ข้อมูลและไม่ได้รับการประเมินแบบเรียลไทม์

ฉันชอบที่จะดูตัวอย่างด้วยเรขาคณิตที่เคลื่อนไหวและแสงแบบไดนามิก

  • ถ้าเป็นจริงทำไมไม่มีใครคิดเรื่องนี้อีกเล่า

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

แน่นอนทั้งหมดนี้เป็นการคาดเดาที่บริสุทธิ์ (ซึ่งทำให้ฉันสนุกมาก) ทั้งหมดที่ฉันพูดคือว่านี่ไม่จำเป็นต้องเป็นของปลอม (อันที่จริงฉันไม่คิดว่ามันเป็นและฉันยังคงประทับใจ) แต่อาจจะไม่แหวกแนวอย่างที่พวกเขาทำให้มันฟังดู


5

อะตอมเหล่านี้ไม่ใช่เวทย์มนตร์ / พิเศษ / เอเลี่ยนสำหรับฮาร์ดแวร์กราฟิคในปัจจุบัน มันเป็นเพียงประเภทของ cloud point หรือ voxel-based rendering ดังนั้นแทนที่จะเป็นรูปสามเหลี่ยมพวกเขาแสดงจุดหรือกล่องไม่มีอะไรที่ไม่สามารถทำได้กับฮาร์ดแวร์ปัจจุบัน

มันเคยทำมาแล้วและไม่ใช่สิ่งประดิษฐ์ชั้นยอด แต่บางทีพวกมันก็มาพร้อมกับความทรงจำและเวลาที่มีประสิทธิภาพในการทำ แม้ว่ามันจะดูและฟังดูน่าสนใจทีเดียว แต่คุณควรใช้วิดีโอนี้กับเกลือเม็ดหนึ่ง การแสดงผล 100,000 คะแนนแทนรูปหลายเหลี่ยมพื้นผิวที่สมบูรณ์ (ซึ่งใช้เวลาเพียงไม่กี่พิกเซลบนหน้าจอ) ไม่ได้ทำให้คุณภาพกราฟิกของคุณดีขึ้นด้วยระดับ 100,000

และโดยวิธีการที่ฉันเคยได้ยินซอฟต์แวร์ id ก็ลองใช้การเรนเดอร์ voxel ของ GPU แต่ฉันมีความไว้วางใจใน John Carmack มากกว่าผู้พูดในวิดีโอนี้ :)


2

นั่นคือการหลอกลวงการลงทุน

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

ฉันไม่ได้สงสัยเลยว่าภาพเหล่านั้นไม่สามารถทำได้แบบเรียลไทม์ แต่ไม่ใช่ด้วยวิธีการนำเสนอ ฉันเดาว่าการสาธิตถูกแสดงด้วย voxels ซึ่งถูกใช้มานานหลายสิบปีและสามารถสร้างรายละเอียดที่ค่อนข้างสูงในแบบเรียลไทม์: http://www.youtube.com/watch?v=BKEfxM6girI http://www.youtube .com / นาฬิกา? v = VpEpAFGplnI


2
"นั่นคือการหลอกลวงการลงทุน" ... คุณคิดว่าอะไร โดยเฉพาะการระดมทุนที่ได้มาเมื่อเร็ว ๆ นี้และวิดีโอที่กำลังอัปโหลดในวันนี้?
บาร์ต

1
วิดีโออะไร พวกเขาไม่ได้อัปเดตในช่วงปี
Hannesh

1
youtube.com/user/Euclideonเป็นทางการว่าโพสต์โดย OP ในความคิดเห็น
บาร์ต

1

จากสิ่งที่ฉันเห็นดูเหมือนว่าพวกเขากำลังใช้รูปร่างแบบ Parametric แทนที่จะเป็นรูปหลายเหลี่ยมแบบง่าย - ในคำอื่น ๆ ที่พวกเขาเปลี่ยนรูปทรงเรขาคณิตตามความละเอียดที่ต้องการ

สิ่งนี้สามารถทำได้โดยใช้เทคนิคเช่นรูปทรงเรขาคณิตและเสียงเพอร์ลิน

ความเป็นไปได้อีกอย่างคือการใช้ GPGPU (เช่น CUDA) เพื่อแสดงฉากรวมถึงรูปหลายเหลี่ยมที่ไม่ใช่และเพื่อทำการติดตามเรย์ (สำหรับการสั่งซื้อ z และเงา) ความเป็นไปได้อีกอย่างก็คือฮาร์ดแวร์ที่กำหนดเองที่แสดงสูตรแทนรูปสามเหลี่ยม


0

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

เท่าการเรนเดอร์ 'trillions' ของอะตอม ฉันไม่คิดว่าพวกเขากำลังพูดอย่างนั้น สิ่งที่พวกเขากำลังทำอยู่ก็คือค้นหาอะตอม W * H นั่นคืออะตอมหนึ่งตัวต่อพิกเซลบนหน้าจอ สิ่งนี้สามารถทำได้ในหลายวิธีที่ยากช้า บางวิธีในการเร่งความเร็วนี้คือต้นไม้ KD และต้นไม้ BSP, Octrees เป็นต้นในท้ายที่สุดแม้ว่าจะมีข้อมูลจำนวนมากที่ถูกเรียงผ่าน เนื่องจากเงา / เงาสะท้อนในการสาธิตของพวกเขาน่าทึ่งมาก ดังนั้น cudos!


-1

วิธีการทำงานนั้นง่ายกว่ามากคุณอาจคิดว่าแทนที่จะโหลดล่วงหน้าว่าระดับเกมมันโหลดหน้าจอเดียวเพียงหนึ่งหรือสองสามอะตอมต่อพิกเซลบนหน้าจอของคุณไม่มีอะไรเพิ่มเติมเกม / เครื่องมือคาดการณ์สิ่งที่ เฟรมถัดไปคือสิ่งที่โหลดได้เพียงส่วนเดียวของวัตถุที่มองเห็นได้ถูกเรนเดอร์ไม่ใช่วัตถุทั้งหมด ข้อดี: ความละเอียดและความละเอียดที่จอมอนิเตอร์ของคุณสามารถใช้ได้การใช้หน่วยความจำต่ำ CONS: อัตราการอ่านจากดิสก์มีขนาดใหญ่พอสมควรและอาจนำไปสู่อัตราเฟรมที่ต่ำ


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