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

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()(อย่างน้อยก็ใน …

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