คำถามติดแท็ก pixel-shader

3
ตัวประมวลผลที่มีประสิทธิภาพสูงกว่าตัวกรองพิกเซลสำหรับการกรองภาพเมื่อใด
การดำเนินการกรองภาพเช่น blurs, SSAO, บลูมและอื่น ๆ มักจะทำโดยใช้ shaders พิกเซลและการดำเนินการ "รวบรวม" โดยที่การเรียกพิกเซล shader แต่ละครั้งจะมีปัญหาจำนวนเนื้อเรียกเพื่อเข้าถึงค่าพิกเซลที่อยู่ใกล้เคียงและคำนวณมูลค่าพิกเซลเดียว ผลลัพธ์. วิธีการนี้มีความไร้ประสิทธิภาพทางทฤษฎีในการดึงข้อมูลซ้ำซ้อนจำนวนมาก: การเรียกใช้ shader ที่อยู่ใกล้เคียงจะดึงข้อความเดียวกันซ้ำหลาย ๆ ข้อความ อีกวิธีที่จะทำคือการคำนวณด้วยเฉดสี สิ่งเหล่านี้มีข้อได้เปรียบที่เป็นไปได้ในการแบ่งปันหน่วยความจำจำนวนเล็กน้อยในกลุ่มการเรียกใช้ shader ตัวอย่างเช่นคุณสามารถให้แต่ละการเรียกใช้หนึ่ง Texel และเก็บไว้ในหน่วยความจำที่ใช้ร่วมกันจากนั้นคำนวณผลลัพธ์จากที่นั่น นี่อาจจะเร็วกว่าหรือไม่ก็ได้ คำถามอยู่ภายใต้สถานการณ์ใด (ถ้าเคย) เป็นวิธีการคำนวณ - shader จริงเร็วกว่าวิธีพิกเซล -shader? มันขึ้นอยู่กับขนาดของเคอร์เนลการดำเนินการกรองแบบไหน ฯลฯ เห็นได้ชัดว่าคำตอบจะแตกต่างจาก GPU รุ่นหนึ่งไปยังอีกรุ่นหนึ่ง แต่ฉันสนใจที่จะได้ยินหากมีแนวโน้มทั่วไป

3
เหตุใดเราจึงมีกรอบกราฟิกเช่น OpenGL และ DirectX เมื่อเกมสามารถวาดพิกเซลได้โดยตรง
เกมและแอพพลิเคชั่นที่เน้นกราฟิกอื่น ๆ ใช้เฟรมเวิร์กเช่น OpenGL และ DirectX พวกมันต้องการคุณสมบัติเช่น pixel shader และ DX12 แต่ทำไมเราต้องใช้เฟรมเวิร์กและฟีเจอร์ GPU ทั้งหมดเมื่อเราสามารถวาดทุก ๆ พิกเซลทีละพิกเซลได้? ขั้นแรกเกมจะต้องรวบรวมในลักษณะดังนั้นจึงถูกวาดพิกเซลโดยพิกเซล สิ่งนี้มีแนวโน้มที่จะทำให้เกมใช้งานได้ดี แต่จะเร็วกว่าและทำงานกับ GPU สี 32 บิตใด ๆ (แม้กระทั่งเก่า) ฉันรู้ว่าเกม 3 มิติแรกถูกวาดทีละพิกเซล แต่ทำไมพวกเขาถึงไม่ทำในตอนนี้

1
การปรับแสงเงาเพื่อให้ดูดีขึ้น
ฉันมีเกมที่เล่นง่ายและหัวเรื่องก็คือเส้นเล็ก ๆ เหล่านี้ มันมีเป้าหมายสำหรับ iOS และ Android ดังนั้นจึงมีโปรเซสเซอร์หลากหลายประเภทที่สามารถทำงานได้ในตอนนี้ ฉันกำลังพยายามเพิ่มแสงแบบเรียลไทม์ให้กับพวกเขาด้วยเหตุผลสองประการ ฉันพยายามซ่อนความจริงที่ว่าฉันไม่มีเวลาในการเรนเดอร์เพื่อประมวลผล anti-aliasing บนอุปกรณ์ส่วนใหญ่ เรื่องของเกมนั้นควรจะเป็นแสงที่บริสุทธิ์, ดังนั้นรูปที่ควรมีลักษณะเหมือนสิ่งเหล่านั้นเป็นแสงที่บริสุทธิ์ ฉันได้ปรับแต่ง sha blur ที่แยกกันไม่ออกนานแล้วและฉันก็มาถึงจุดที่หงุดหงิดฉันไม่สามารถทำให้มันถูกต้องได้บางทีปัญหาคือฉันพยายามซ่อนขอบขรุขระของแสงอย่างไร้ขอบเขต ในขณะเดียวกันก็ไม่ทำให้แสงเบลอ ปัญหาที่ใหญ่ที่สุดของฉันคือตัวแปรทั้งหมดที่เกี่ยวข้องในการทำให้มันดูดีที่สุด ฉันยังใหม่กับกราฟิก / การเรนเดอร์และฉันก็ไม่ได้เป็นศิลปิน บางทีสิ่งที่น่าผิดหวังที่สุดเกี่ยวกับการส่งเสียงถึงฉันก็คือตัวแปรทั้งหมดที่ดูเหมือนจะเกี่ยวข้อง ด้วยแสงที่ฉันได้เห็นการเปลี่ยนแปลงที่เป็นไปได้มากมาย A. เพิ่มโหมดการผสมผสานโหมดการผสมผสานหน้าจอหรือการผสมอื่น ๆ B. น้ำหนักเบลอและปกติแตกต่างกันก่อนที่จะรวมกัน C. ซิกม่าของฟังก์ชั่นกระดิ่งเกาส์ (ฉันใช้ เครื่องคิดเลขที่สับสนนี้แต่ดูเหมือนจะไม่ได้ให้คุณค่าเดียวกับที่ฉันเห็นคนอื่นมีอยู่) D. Scalars สำหรับค่า "x" ที่ส่งไปยังฟังก์ชัน sigma E. ตัวอย่างขนาด (ทำให้รัศมีการเบลอน้อยกว่าหรือใหญ่กว่า) F. การเปลี่ยนความละเอียดของบัฟเฟอร์เรืองแสง วิธีการหาค่าคงที่ "ดูดีที่สุด" เมื่อทำงานกับตัวแปรมากมายเช่นนี้? ฉันยังมีปัญหาเพราะเวลาที่ฉันทำการปรับแต่งและการเห็นมันเป็นเวลานานที่มันยากที่จะเห็นการเปลี่ยนแปลงฉันจะทำมันในของเล่น shader …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.