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

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

5
มุมคมกับแบบอักษรฟิลด์ระยะทางที่ลงนาม
Signed Distance Fields (SDFs) ถูกนำเสนอเป็นวิธีแก้ปัญหาอย่างรวดเร็วเพื่อให้บรรลุการแสดงผลแบบอักษรอิสระความละเอียดโดย Valve ในบทความนี้ ฉันมีวิธีแก้ปัญหา Valve แล้ว แต่ฉันต้องการรักษาความคมชัดรอบมุม Valve ระบุว่าวิธีการของพวกเขาสามารถทำให้ได้มุมที่คมชัดโดยใช้แชนเนลเนื้อรองที่สอง ANDed กับฐานหนึ่ง แต่ไม่สามารถอธิบายได้ว่าจะสร้างแชเนลที่สองได้อย่างไร ในความเป็นจริงมีรายละเอียดการใช้งานมากมายเหลืออยู่ในบทความนี้ ฉันอยากจะรู้ว่าถ้ามีคุณคนใดสามารถชี้ให้ฉันเห็นทิศทางเพื่อให้ได้แบบอักษร SDFs ที่มีมุมคม

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

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

1
ระดับ mipmap คำนวณได้อย่างไรในโลหะ?
คำถามของฉันเกี่ยวกับโลหะโดยเฉพาะเนื่องจากฉันไม่รู้ว่าคำตอบจะเปลี่ยนไปสำหรับ API อื่นหรือไม่ สิ่งที่ฉันเชื่อว่าฉันเข้าใจคือ: พื้นผิวแบบ mipmapped ได้ทำการ "ระดับรายละเอียด" ไว้ล่วงหน้าซึ่งรายละเอียดระดับล่างถูกสร้างขึ้นโดยการสุ่มตัวอย่างพื้นผิวดั้งเดิมด้วยวิธีที่มีความหมายบางอย่าง ระดับ Mipmap ถูกอ้างถึงในรายละเอียดจากมากไปน้อยโดยที่ระดับ0คือพื้นผิวดั้งเดิมและระดับที่สูงกว่าเป็นการลดกำลังของสองระดับ GPU ส่วนใหญ่ใช้การกรอง trilinear ซึ่งเลือกสองระดับ mipmap ข้างเคียงสำหรับแต่ละตัวอย่างตัวอย่างจากแต่ละระดับโดยใช้การกรอง bilinear และจากนั้นผสมตัวอย่างเหล่านั้นเป็นเส้นตรง สิ่งที่ฉันไม่ค่อยเข้าใจคือเลือกระดับ mipmap เหล่านี้อย่างไร ในเอกสารสำหรับห้องสมุดมาตรฐานโลหะฉันเห็นว่าสามารถเก็บตัวอย่างได้โดยมีหรือไม่มีการระบุอินสแตนซ์ของlod_optionsประเภท ฉันสมมติว่าอาร์กิวเมนต์นี้เปลี่ยนวิธีการเลือกระดับ mipmap และดูเหมือนว่ามีlod_optionsพื้นผิวแบบ 2D สามแบบ: bias(float value) level(float lod) gradient2d(float2 dPdx, float2 dPdy) น่าเสียดายที่เอกสารไม่ได้อธิบายว่าตัวเลือกเหล่านี้มีอะไรบ้าง ฉันสามารถเดาได้ว่าbias()อคติบางระดับที่เลือกโดยอัตโนมัติ แต่แล้วความลำเอียงvalueหมายถึงอะไร มันใช้งานได้ในระดับใด? ในทำนองเดียวกันว่าเป็นlodของlevel()การแปลเป็นระดับมิพแมพที่ไม่ต่อเนื่อง? และการทำงานภายใต้สมมติฐานที่gradient2d()ใช้การไล่ระดับสีของพิกัดพื้นผิวการใช้การไล่ระดับสีนั้นเพื่อเลือกระดับ mipmap เป็นอย่างไร ที่สำคัญกว่านั้นถ้าฉันไม่ใช้lod_optionsระดับ mipmap จะถูกเลือกอย่างไร สิ่งนี้แตกต่างกันไปตามประเภทของฟังก์ชั่นที่ใช้งานหรือไม่ และหากการดำเนินการที่ไม่ได้ระบุตัวเลือกเริ่มต้นของsample()ฟังก์ชั่นนี้คือการทำบางสิ่งเช่นgradient2D()(อย่างน้อยก็ใน …

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

1
พื้นผิวการค้นหายังคงใช้เพื่ออะไรหรือไม่?
ฉันรู้เมื่อไม่นานมานี้ (5-10 ปี?) ว่ามันเป็นที่นิยม / มีประสิทธิภาพในการอบข้อมูลออกเป็นพื้นผิวแล้วอ่านข้อมูลจากพื้นผิวมักใช้การแก้ไขพื้นผิวในตัวเพื่อรับการแก้ไขเชิงเส้นของอบ ออกข้อมูล ตอนนี้เวลาในการคำนวณมีราคาถูกกว่าเมื่อเทียบกับเวลาในการค้นหาพื้นผิว คำถามของฉันคือพื้นผิวที่ถูกอบยังคงใช้สำหรับอะไร? ใครบ้างมีกรณีการใช้งานสำหรับพวกเขาในสถาปัตยกรรมสมัยใหม่? ดูเหมือนว่าพวกเขาจะกลับมาหรือไม่? (เช่นถ้าเทคโนโลยีหน่วยความจำหรือสถาปัตยกรรม GPU พื้นฐานเปลี่ยนแปลง)
14 texture  gpu  hardware 


2
การทำแผนที่ mip ทำงานอย่างไรกับพื้นผิวที่ไม่ได้ทรงพลัง?
ฉันได้ยินมาว่า GPU ล่าสุดนั้นรองรับการทำงานของพื้นผิวที่ไม่มีประสิทธิภาพและคุณสมบัติทั้งหมดก็ใช้งานได้ อย่างไรก็ตามฉันไม่เข้าใจว่าการทำแผนที่ mip จะทำงานอย่างไรในสถานการณ์ดังกล่าว มีคนอธิบายได้ไหม
12 texture 

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


1
การปรับเปลี่ยนพื้นผิว (การวาดภาพบนภาพ) ถือว่าเป็นการ“ เปลี่ยนสถานะ” หรือไม่?
ข้อตกลงในกราฟิกคือการดำเนินการเปลี่ยนแปลงสถานะน้อยกว่าดีกว่าดำเนินการเปลี่ยนแปลงสถานะเพิ่มเติม (เปลี่ยน shaders บัฟเฟอร์รวมผูกพันพื้นผิวที่ผูก ฯลฯ ) สำหรับพื้นผิวจะเร็วกว่าในการเรนเดอร์รูปหลายเหลี่ยมโดยใช้แผนที่เดี่ยว (สำหรับการแสดงผลสไปรต์ / ข้อความ) แทนที่จะผูกกับพื้นผิวแบบใหม่สำหรับแต่ละรูปหลายเหลี่ยม สิ่งนี้ถือเป็นจริงหรือไม่ถ้าฉันวาดภาพอย่างต่อเนื่องบนพื้นผิวผ่านglTexSubImage2D? ฉันมีกระแสข้อมูลที่เข้ามา (ผ่านเครือข่าย) ที่ผ่านการประมวลผลและถูกทาสีลงบนพื้นผิวทีละแถว ข้อมูลจะถูกแสดงด้วยการเลื่อนอย่างไม่มีที่สิ้นสุด ฉันจะดีกว่าการวาดภาพเป็นพื้นผิวหนึ่งที่แสดงบนสี่เหลี่ยมขนาดใหญ่เดียว (เลื่อนข้อมูลที่ทาสีไปสู่มุมมอง) หรือไม่ ความคิดที่นี่คือฉันจะมีพื้นผิวหนึ่ง (หรือสอง) ผูกพันในเวลาที่กำหนดในขณะที่ฉันเพิ่งจะทาสีมัน หรือฉันควรจะวาดรูปสี่เหลี่ยมเล็ก ๆ น้อย ๆ จำนวนมาก (เพียงเปิดเผยสี่เหลี่ยมผืนผ้าเมื่อเสร็จสิ้นการวาดภาพ)? ฉันคิดว่าฉันจะผูกหนึ่งพื้นผิวต่อสี่เหลี่ยม
11 opengl  texture 

1
ผลิตภัณฑ์ลูกบาศก์เมตริกซ์การแก้ไขเมตริกซ์เป็นแบบเดียวกับการแก้ไข bicubic หรือไม่?
ฉันเพิ่งใช้การสุ่มตัวอย่างการประมาณค่าพื้นผิวโดยการสุ่มพิกเซลที่ใกล้ที่สุด 4x4 แล้วทำการแก้ไขลากรองจ์ข้ามแกน x เพื่อรับค่าสี่ค่าเพื่อใช้การแก้ไขลากรองจ์บนแกน y สิ่งนี้เหมือนกับการแก้ไขแบบ Bicubic หรือแตกต่างกันหรือไม่? หรือมีการแก้ไขต่าง ๆ bicubic และนี่เป็นเพียงหนึ่งในพวกเขาอาจ? การใช้งาน Webgl Shadertoy ที่นี่และรหัส GLSL (WebGL) ที่เกี่ยวข้องด้านล่าง: https://www.shadertoy.com/view/MllSzX ขอบคุณ! float c_textureSize = 64.0; float c_onePixel = 1.0 / c_textureSize; float c_twoPixels = 2.0 / c_textureSize; float c_x0 = -1.0; float c_x1 = 0.0; float c_x2 = 1.0; …

3
ภาพ HDR แบบ 16 บิตครึ่งลอยเป็นพื้นผิว (กระจาย / อัลเบโด้)?
ดังนั้นฉันจึงคิดถึงเรื่องนี้ซักพักหนึ่งแล้วลอง google เพื่อหาคำตอบ แต่ก็ไม่ประสบความสำเร็จ หากพื้นผิวทั้งหมดของคุณเป็นภาพ 8 บิต LDR เช่น JPEG ไม่สามารถทำให้เกิดความขัดแย้งกับการควบคุมการเปิดรับแสง / การทำแผนที่โทนเมื่อแสดงผล นั่นคือถ้าคุณปรับการแสดงผลการรับแสงของภาพของคุณที่ควรเปิดเผยรายละเอียดในพื้นผิวที่ไม่ได้มีจริงเพราะพวกเขาถูกยึดโดยช่วงไดนามิกต่ำ ดังนั้นจึงไม่มีเหตุผลที่จะมีพื้นผิวเป็นภาพ HDR ที่บันทึกเป็น. exr ในพื้นที่สีเชิงเส้นด้วย 16 บิตครึ่งลอยเพื่อให้ได้สีที่ดี (32 บิต "เต็ม" ลอยอาจเกินหรือไม่) เพื่อให้มีรายละเอียดและค่าสีที่ถูกต้องฉันอาจคิดว่ามีผลกระทบต่อ GI และคำนวณการตกเลือดของสีอย่างไร หรือมันไม่จำเป็นเพียงเพราะผลลัพธ์สุดท้ายของการเรนเดอร์ที่เราต้องการนั้นอาจจะคล้ายกับระดับการเปิดรับแสงของพื้นผิวเมื่อถ่ายภาพด้วยวิธีใด? และเนื่องจากกล้องส่วนใหญ่ถ่ายภาพที่ 12-14 บิตคุณจะต้องใช้การเปิดรับแสงหลาย ๆ พื้นผิวและทำงานพิเศษทั้งหมดเพื่อรวมเข้าด้วยกันเป็นหนึ่ง HDRI แก้ไข: เพื่อความกระจ่างฉันส่วนใหญ่สนใจในเรื่องนี้จากมุมมองการเรนเดอร์ภาพถ่ายจริงด้วยเรย์เรนเดอร์เรกเกอร์ (เช่นจิตเรย์, วีเรย์, อาร์โนลด์ ฯลฯ ) ด้วยการจำลองแสงเต็มรูปแบบ เอ็นจินเกมแบบเรียลไทม์

2
การใช้แผนที่พื้นผิวหลายอย่างไม่ดีสำหรับการแคชหรือไม่?
หากฉันมีพื้นผิวหลายอย่าง (พูดว่าแผนที่มากกว่า 5 แผนที่) ไปยังหน่วยพื้นผิวเดียวกันมันจะทำงานได้แย่กว่าแคชมากกว่าถ้าฉันมีเพียง 2 หรือ 3 พื้นผิว?

1
อัลกอริทึมสำหรับการสุ่มตัวอย่างภาพลงหรือไม่
การสุ่มตัวอย่าง Bicubic นั้นค่อนข้างดีสำหรับการสุ่มตัวอย่างภาพและทำให้มันใหญ่ขึ้น แต่มันเป็นตัวเลือกที่ดีสำหรับการสุ่มตัวอย่างแบบลงหรือไม่ มีทางเลือกที่ดีกว่านี้ไหม?
10 texture 

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