Sto scrivendo un piccolo motore isometrico 2D in C ++ e sto cercando di implementare il casting ombra in tempo reale. Ho seguito un approccio semplice descritto in questa pagina ed ecco il risultato (la luce si trova nella stessa posizione del cubo giallo):
Il risultato è molto bello ma mancano ombre sui muri e sulla cima dei cubi. Ecco un esempio di come dovrebbe apparire (ho disegnato le ombre previste in verde):
Tutti i cubi disegnati sono semplicemente costituiti da 3 quadratini 2D situati in una posizione XY e con una profondità Z (z = x + y). Uso OpenGL con una matrice ortografica (glOrtho). Le ombre vengono disegnate usando il buffer dello stencil.
Sto cercando risorse o soluzioni che mi aiutino a completare questa implementazione di shadow casting.
Molte grazie!