Ho due modelli, A e B, e una luce, L. Vorrei che il modello A proiettasse un'ombra sul modello B. Non voglio preoccuparmi di volumi di ombre o ombre appropriate per il momento, solo un semplice l'ombra del cerchio sarà sufficiente. L'effetto è che il modello A è trattato come una sfera per scopi di fusione dell'ombra.Come posso creare ombre economiche in OpenGL?
Ecco come mi immagino l'algoritmo:
Per ogni triangolo nel modello B, disegnare il triangolo. Proietta un cerchio sul triangolo lungo la linea da L ad A, aumentando le dimensioni del cerchio a seconda di quanto è distante il triangolo. Assicurati che il cerchio sia troncato ai confini del triangolo (usando il buffer degli stencil in qualche modo, immagino).
Sto lavorando con OpenGL e pianura C.
Eventuali indicazioni su alcuni documenti di riferimento posso leggere? O idee di implmentazione?
Questo "appiattisce" il modello su un piano .. ottimo per proiettare un'ombra su una superficie piana. L'OP vuole rendere l'ombra su un oggetto 3d di forma arbitraria. –
Questo si suppone che faccia questo: http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=27 Purtroppo non riesco a compilarlo con gcc. – stribika
Questo metodo sembra buono, ma il costo di disegnare il modello sorgente una volta per ogni faccia in B sembra alto. C'è un modo per ridurre la complessità di questo metodo? – Martin