Saya memiliki beberapa pengalaman pemrograman geometri dan komputasi shader - tetapi tidak pernah bertualang sendiri untuk benar-benar bermain dengan fragmen shader. Saat ini, saya mencoba untuk lebih memahami bagaimana mereka bekerja dan potensi mereka. Salah satu hal yang saya baca di banyak tempat adalah bahwa sebuah fragmen (yaitu piksel layar) tidak dapat melampaui dirinya dalam fragmen shader. Yang berarti, fragmen yang diberikan diulangi hanya dapat mempengaruhi dirinya sendiri.
Karena itu, dan demi belajar, saya ingin tahu apakah yang berikut ini mungkin (dan jika ya, bagaimana, secara umum, dapat dicapai). Misalkan kita memiliki, demi kesederhanaan, sebuah mesh-titik yang hanya terdiri dari dua simpul (terletak di ruang Dunia 3D). Bisakah kita memprogram shader dengan cara sedemikian rupa sehingga masing-masing dari dua simpul ini akan dilukis di layar pada posisi WorldToViewport yang tepat, tetapi juga bahwa lingkaran di sekitar masing-masing dari jari-jari = R juga dicat dalam piksel sekitarnya bahkan jika mereka memperpanjang di luar jaring asli tempat shader terpasang? Seperti pada gambar di bawah ini (di mana kotak merah di tengah lingkaran mewakili simpul yang dilukis di layar):
Jika itu mungkin, dapatkah shader juga diprogram sedemikian rupa sehingga lingkaran yang melampaui titik mempengaruhi warna (RGBA) satu sama lain? Seperti pada gambar di bawah ini:
Seperti yang saya katakan, jika ini adalah hal yang mungkin, saya akan senang mendengar sedikit tentang bagaimana mencapai hal seperti itu - baik secara konseptual atau praktis. Apakah itu dilakukan dalam fragmen shader, atau harus dihitung sebelumnya di vertex atau geometri shader? Bagaimana cara menghitung dan lulus "fragmen tambahan" yang melampaui fragmen yang ditempati oleh badan mesh?