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

1
ประสิทธิภาพการวนซ้ำในเครื่อง Shader
ฉันสงสัยว่าอะไรคือวิธีที่ดีที่สุดในการรวมฟังก์ชั่นวนลูปแบบไดนามิกเข้ากับ shader? ครั้งแรกดูเหมือนว่าไม่สามารถใช้อาร์เรย์แบบไดนามิกได้ ดังนั้นจะดีกว่าหรือไม่ที่จะสร้างอาร์เรย์ขนาดสูงสุดและเติมเพียงบางส่วนหรือกำหนดอาร์เรย์ด้วยขนาดที่กำหนดไว้ล่วงหน้า แล้ววิธีที่ดีที่สุดในการทำซ้ำแถวลำดับนี้คืออะไร ควรใช้ลูปที่ไม่ได้ควบคุมหรือลูปไดนามิกสำหรับบางอย่างระหว่างการทำซ้ำ 4 ถึง 128 หรือไม่ if (i == myCurrentMaximumIterationNumber)ผมเคยเห็นยังว่ามันเป็นไปได้ที่จะคายมันจำนวนสูงสุดที่กำหนดไว้ล่วงหน้าซ้ำแล้วหยุดมันด้วยสภาพเช่น

2
การเรนเดอร์ทางกายภาพและการติดตามเรย์
ฉันมีความสับสนมากและฉันต้องอธิบายศัพท์บางคำและรวบรวมความรู้ ถ้าฉันบอกว่าเครื่องยนต์เป็นตัวติดตามเรย์ (ดังนั้นจึงใช้อัลกอริธึมการติดตามเรย์เพื่อแสดงฉาก) มันเป็นเอ็นจิ้นพื้นฐานทางกายภาพหรือไม่? ฉันหมายถึงการติดตามเรย์นั้นเป็นไปตามคำจำกัดความของตัวมันเองหรืออาจจะมีเรย์เทรเซอร์บางตัวที่ไม่ได้มีพื้นฐานมาจากร่างกาย (และสมมาตรมี tracers ที่ไม่ใช่เรย์ที่มีพื้นฐานทางร่างกายหรือไม่) นอกจากนี้เป็นจริงหรือไม่ที่ "ฐานทางกายภาพ" หมายถึงว่า "แก้ไขสมการการขนส่งด้วยแสง" ด้วยหรือไม่
11 rendering 


1
การแสดงผลที่มีประสิทธิภาพพร้อมแหล่งกำเนิดแสงจำนวนมาก
ในการสร้างฉากด้วยแหล่งกำเนิดแสงเดียวโดยใช้การแรเงาด้วยพงษ์เราสามารถคำนวณสีสุดท้ายของแต่ละชิ้นส่วนที่ส่งผ่านไปยังส่วนของชิ้นส่วนที่ขึ้นอยู่กับองค์ประกอบของแสงและแสงโดยรอบ สิ่งนี้สามารถขยายได้อย่างง่ายดายเพื่อรองรับแหล่งกำเนิดแสงหลายแห่งด้วยการเพิ่มผลลัพธ์ของการใช้แหล่งกำเนิดแสงแต่ละแหล่งบนชิ้นส่วนเช่น: final_color = (0, 0, 0, 1) for each light: final_color += apply_light(material, light) final_color = clamp(final_color, (0,0,0,1), (1,1,1,1)) อย่างไรก็ตามด้วยแหล่งกำเนิดแสงจำนวนมากกระบวนการนี้ค่อนข้างช้า ด้วยNไฟวิธีนี้ต้องใช้การคำนวณสำหรับการแรเงาพองที่จะทำNครั้งต่อชิ้นส่วน มีวิธีการที่ดีกว่าในการเรนเดอร์ฉากด้วยแหล่งแสงจำนวนมาก (หลายร้อยพัน ฯลฯ ) หรือไม่?

3
เหตุใด Vertex Buffer Objects จึงปรับปรุงประสิทธิภาพ
จากความเข้าใจพื้นฐานของฉัน Vertex Buffer Object ทำงานได้ดังนี้ (รหัสหลอก): โดยปกติถ้าใครอยากพูดให้วาดสี่เหลี่ยมจัตุรัสหนึ่งสามารถออกคำสั่งการวาดเส้น line (0, 0) -> (1, 0) line (1, 0) -> (1, 1) line (1, 1) -> (0, 1) line (0, 1) -> (0, 0) การใช้ VBO ถ้าฉันเข้าใจถูกต้องจะโหลดจุดยอดลงใน VBO define VBO load (0,0) -> VBO load (1,0) -> VBO load (1,1) -> VBO load …

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

3
ซอฟต์แวร์ rasterization ในเกมเอ็นจิ้นสมัยใหม่มีอะไรบ้าง?
ฉันกำลังเรียนหลักสูตรกราฟิกคอมพิวเตอร์ในไตรมาสนี้ หนึ่งในโครงการแล็บของเราเกี่ยวกับการแปลงเป็นซอฟต์แวร์ ตอนนี้ฉันกำลังวางแผนข้อเสนอโครงการและคิดเกี่ยวกับวิธีทำให้เป็นประโยชน์สำหรับผู้อื่นในการพัฒนาเกมร่วมสมัย หลังจากค้นหาสั้น ๆ ฉันได้เรียนรู้เทคนิคที่เรียกว่า Software Occlusion Culling มันทำ rasterization ซอฟต์แวร์บนบัฟเฟอร์ของความละเอียดต่าง ๆ และเราสามารถค้นหาการบดเคี้ยวโดยใช้บัฟเฟอร์ z แบบลำดับชั้น คำถามของฉัน : การใช้ rasterization ของซอฟต์แวร์ในเอ็นจิ้นเกมที่ทันสมัยนอกเหนือจาก Software Occlusion Culling คืออะไร?
9 rendering 

2
โดยพื้นฐานแล้วบิตแมป 2D จะแสดงผลอย่างไร
สมมติว่าเรามีคอมพิวเตอร์ word-addressable 64- บิตและเราต้องการตั้งโปรแกรมให้แสดงผลตัวอักษร 5x7 ที่จัดเก็บเป็นบิตแมปอิมเมจไบนารี (เช่นด้านล่าง) ไปยังหน่วยความจำที่แมป เนื่องจากเรามี 5 x 7 = 35 พิกเซลต่อตัวอักษรเราจึงสามารถเก็บตัวอักษรโดยใช้ 35 บิตในคำเดียว ด้วยบิตที่มีนัยสำคัญน้อยที่สุดที่เริ่มต้นที่ด้านซ้ายของคำและแต่ละพิกเซลในรูปภาพที่แสดงด้วยบิตที่nดังที่แสดงไว้ด้านบนหมายเลข "3" ด้านบนจะถูกเก็บไว้ในหน่วยความจำดังนี้: 011101000100001001100000110000001111101010 บิตตั้งค่าเป็น 0 นี่เป็นวิธีที่ / ถูกเก็บไว้ในคอมพิวเตอร์เก่า / ทันสมัยหรือไม่? หรือพวกเขาใช้ไบต์เดียว / คำต่อพิกเซลแทน? ถ้ามันถูกเก็บไว้ในลักษณะนี้สิ่งที่รูทีนในแอสเซมบลี / เครื่องรหัส (ใช้อะไรมากไปกว่าคำแนะนำเบื้องต้นเช่นการดำเนินการบิตบิตเลขคณิตและการส่งข้อมูลจาก Instruction Set Architecture ของคอมพิวเตอร์) ที่ใช้ในการแปลงข้อมูลนี้เป็นรูปภาพบน จอแสดงผลเป็นอย่างไร มันจะเป็นเช่น: จัดเก็บพิกัดการแสดงผล x และ y เพื่อให้พิกเซลปัจจุบันได้รับการปรับปรุงในการลงทะเบียนที่แน่นอน เก็บค่า RGB ที่เลือกสองค่า …

1
พยายามใช้ Microfacet BRDF แต่ภาพผลลัพธ์ของฉันไม่ถูกต้อง
ฉันกำลังพยายามใช้โมเดล BRDF ของ microfacet ฉันอ่านสไลด์ Sebastien Lagarde ของ ฉันใช้สูตรกับรหัสของฉัน แต่ฉันคิดว่าภาพผลลัพธ์ไม่ถูกต้อง สีเหลืองเป็นสีฐานของวัสดุ สีของ specular เป็นสีแดงเพื่อดูอย่างถูกต้อง รหัสของฉัน: // Fragment Shader #version 330 core in vec3 Position; in vec2 TexCoord0; in vec3 Normal; in vec3 Tangent; out vec4 FinalColor; uniform vec3 uCameraPosition; // init value: vec3(0, 0, 5) #define PI 3.1415926f #define EPSILON …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.