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

สำหรับคำถามที่เกี่ยวข้องกับพื้นผิว: การสร้างขั้นตอนการเข้ารหัสการกำหนดลักษณะเฉพาะด้านการกรองการทำแผนที่การจัดเก็บ ...

1
แมปเท็กซ์เจอร์ลงบนสามเหลี่ยมซึ่งเกินความจริง
ฉันติดอยู่กับวิธีการนี้ในขณะที่ดังนั้นข้อเสนอแนะใด ๆ จะได้รับการชื่นชมอย่างสุดซึ้ง! ฉันต้องการแมปเท็กซ์เจอร์ในรูปของสามเหลี่ยมยูคลิดล่างขวากับสามเหลี่ยมไฮเพอร์โบลิกบนดิสก์ Poincare นี่คือพื้นผิว (สามเหลี่ยมด้านซ้ายบนของพื้นผิวโปร่งใสและไม่ได้ใช้) คุณอาจจำได้ว่าสิ่งนี้เป็นส่วนหนึ่งของ Circle Limit I ของ Escher ขออภัยเห็นความคิดเห็นที่ฉันไม่ได้รับอนุญาตให้โพสต์มากกว่าสองลิงค์ดูเหมือน! และนี่คือสิ่งที่รูปหลายเหลี่ยมของฉันดูเหมือน (อยู่กึ่งกลางที่จุดกำเนิดซึ่งหมายความว่าขอบสองเส้นเป็นเส้นตรงอย่างไรก็ตามโดยทั่วไปขอบทั้งสามจะเป็นส่วนโค้งแบบวงกลม): จุดกึ่งกลางของรูปหลายเหลี่ยมคือ incentre ของสามเหลี่ยม euclidean ที่เกิดจากจุดยอดของมันและฉันกำลังทำแผนที่ UV พื้นผิวโดยใช้ incentre โดยแบ่งออกเป็นจำนวนใบหน้าเท่ากันกับรูปหลายเหลี่ยมที่มีและทำแผนที่แต่ละหน้าบนใบหน้ารูปหลายเหลี่ยมที่เกี่ยวข้อง อย่างไรก็ตามผลลัพธ์จะเป็นดังนี้: หากใครคิดว่าสิ่งนี้สามารถแก้ไขได้โดยใช้การทำแผนที่ UV ฉันยินดีที่จะให้รหัสตัวอย่าง แต่ฉันเริ่มคิดว่าอาจเป็นไปไม่ได้และฉันจะต้องเขียนฟังก์ชั่นการทำแผนที่ของตัวเอง แก้ไขแล้วด้วยการปรับแต่งบางส่วนของคำตอบของ @ Nathan ด้านล่างเนื่องจากบรรทัด AB, AC, BC อาจไม่ใช่เส้นโค้งจริงๆ วิธีการ: เลือกด้านที่ยาวที่สุดพูด BC แล้วแบ่งส่วนนี้เป็นจำนวนคู่ แบ่งอีกสองด้านออกเป็นจำนวนชิ้นส่วนเท่ากัน จากนั้นเส้นที่เชื่อมต่อ (DE ในคำตอบด้านล่าง) จะต้องเป็นเส้นโค้งไม่ใช่เส้นตรง แบ่งส่วนโค้งใหม่เหล่านี้ตามที่ต้องการเพิ่มรูปสามเหลี่ยมใหม่เป็นใบหน้าแล้ว UV แผนที่สามเหลี่ยมด้านล่างขวาของพื้นผิวให้กับใบหน้าใหม่เหล่านี้ …

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

1
การใช้หน่วยพื้นผิวที่มีอยู่ทั้งหมดเป็นการดีหรือไม่?
เมื่อใช้พื้นผิวหลายแบบกับตาข่ายเช่นสำหรับการทำแผนที่ bump ฉันมักจะผูกพื้นผิวกับหน่วยพื้นผิวแบบคงที่ไม่กี่ครั้งแรกเช่น: diffuse = unit 0, bump = unit 1, specular = unit 2 จากนั้นให้นำสิ่งเหล่านั้นกลับมาใช้ใหม่ ตาข่ายที่แตกต่างกันด้วยพื้นผิวที่แตกต่างกัน แต่ฉันสงสัยอยู่เสมอว่าทำไมglActiveTextureสนับสนุนหน่วยพื้นผิวจำนวนมาก (ในลิงค์ก่อนหน้านี้มันบอกว่าอย่างน้อย 80) ดังนั้นสำหรับฉันแล้ววิธีหนึ่งที่เป็นไปได้ในการจัดการพื้นผิวคือการผูกพื้นผิวที่แตกต่างกันสำหรับแต่ละหน่วยที่มีอยู่และปล่อยให้เปิดใช้งานเพียงแค่อัปเดตดัชนีตัวอย่างเครื่องแบบ ที่ควรปรับปรุงการเรนเดอร์เรดิโอโดยการลดจำนวนของสวิทช์พื้นผิว หากคุณมีพื้นผิวน้อยกว่าหน่วยพื้นผิวสูงสุดคุณจะไม่ต้องแยกพื้นผิวออก นี่เป็นแบบฝึกหัดมาตรฐานสำหรับแอปพลิเคชัน OpenGL แบบเรียลไทม์ (ฉันเชื่อว่านี่ใช้กับ D3D ด้วย) และมีนัยใดเกี่ยวกับประสิทธิภาพที่ไม่ชัดเจนของการใช้วิธีนี้หรือไม่? ค่าใช้จ่ายหน่วยความจำอาจจะ?
9 opengl  texture 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.