การคำนวณความแตกต่างของเวกเตอร์ใน GLSL (หรือการไล่ระดับสีของเวกเตอร์)

ฉันมีสถานการณ์ใน GLSL ที่ฉันต้องคำนวณความแตกต่างของเวกเตอร์ในการแบ่งส่วน

vec3 posVector;

ความแตกต่างถูกกำหนดทางคณิตศาสตร์โดย

ป้อนคำอธิบายรูปภาพที่นี่

มันคือดอทโปรดัคระหว่างเวกเตอร์และการไล่ระดับสี

ไม่มีใครคำนวณสิ่งนี้ได้อย่างไร?


person ammar26    schedule 19.06.2014    source แหล่งที่มา
comment
คุณสามารถรับอนุพันธ์บางส่วนของพื้นที่หน้าจอของ posVector ใน GLSL ที่เกี่ยวข้องกับ X และ Y โดยใช้ dFdx และ dFdy ด้วยความเคารพต่อส่วน Z ที่นี่ทำให้ฉันคิดว่ามันจะไม่ช่วยคุณได้อย่างมาก   -  person Andon M. Coleman    schedule 19.06.2014
comment
ใช่ นี่คือปัญหาที่นี่ ฉันก็คิดเหมือนกันว่าจะคำนวณ dFdz อย่างไร   -  person ammar26    schedule 19.06.2014


คำตอบ (1)


ความแตกต่างของเวกเตอร์ตำแหน่งคือความแตกต่างของสนามเวกเตอร์เอกลักษณ์

F: ℝ³ -> ℝ³

F(r_) = r_

และ div นั้นเป็นทั้ง const และที่รู้จัก:

div(r_) = 3.

person Solkar    schedule 20.06.2014