Menghitung divergensi vektor di GLSL (atau gradien vektor)

Saya memiliki situasi di GLSL di mana saya perlu menghitung perbedaan vektor dalam shader fragmen

vec3 posVector;

Divergensi secara matematis diberikan oleh

masukkan deskripsi gambar di sini

Ini adalah perkalian titik antara vektor dan Gradien.

Adakah yang bisa menghitung ini?


person ammar26    schedule 19.06.2014    source sumber
comment
Anda sudah bisa mendapatkan turunan parsial ruang layar dari posVector di GLSL sehubungan dengan X dan Y menggunakan dFdx dan dFdy. Bagian sehubungan dengan Z di sini membuat saya berpikir itu tidak akan banyak membantu Anda.   -  person Andon M. Coleman    schedule 19.06.2014
comment
Ya, inilah masalahnya di sini. Saya juga berpikiran sama bagaimana cara menghitung dFdz?   -  person ammar26    schedule 19.06.2014


Jawaban (1)


Divergensi vektor posisi merupakan divergensi bidang vektor identitas

F: ℝ³ -> ℝ³

F(r_) = r_

dan divnya adalah konstanta dan diketahui:

div(r_) = 3.

person Solkar    schedule 20.06.2014