Sto sviluppando un'app per iOS di deformazione dell'immagine con OpenGL ES 2.0.Algoritmi di conversione del vertice OpenGL ES 2.0
Ho una buona conoscenza del setup, della pipeline, ecc., E ora mi sto spostando verso la matematica.
Poiché la mia esperienza con il warping dell'immagine è nulla, sto cercando suggerimenti per l'algoritmo.
Attualmente, sto impostando i vertici iniziali in punti in una modalità di tipo griglia, che divide equamente l'immagine in quadrati. Quindi, posto un vertice aggiuntivo nel mezzo di ognuno di quei quadrati. Quando disegno gli indici, ogni quadrato contiene quattro triangoli a forma di una X. vedere l'immagine qui sotto:
Dopo aver giocato con un po 'di photoshop, ho notato adobe utilizza un algoritmo di un po' più complicato per loro burattino, ma un algoritmo molto più semplificato per il loro warp standard. Cosa pensi che sia meglio per me applicare qui/preferenza personale?
In secondo luogo, quando si sposta un vertice, mi piacerebbe applicare una trasformazione ponderata a tutti gli altri vertici per appianare i bordi (anziché quello che ho di seguito, dove viene trasformato solo il vertice selezionato). Che tipo di algoritmo dovrei applicare qui?
lo stesso problema. Ho trovato la soluzione? Per favore, aiutami –
scusa, ma era un lavoro per un datore di lavoro, quindi non posso distribuire il codice. manipolare le strutture del vertice all'interno del metodo touchesmoved. quando si manipolano i vertici, assegnare loro un peso in base alla loro distanza da determinati punti impostati come "ancore" e dalle pareti dello schermo. le ancore potrebbero essere posizionate ovunque; per esempio, ho bloccato le pupille per impedire agli occhi di muoversi. se il peso è 0, allora il vertice non è influenzato. se il peso è 1, viene applicata una trasformazione completa. nuovo x = (trasformazione orizzontale * peso), nuovo y = (trasformazione verticale * peso). ecc. –
grazie ............. –