es Android OpenGL

După o căutare Google a constatat următoarele funcții:

Cu toate acestea, aceste caracteristici nu funcționează în scenariul de expunere, așa cum am înțeles, în scenariul de expunere este posibilă numai desena puncte, linii și triunghiuri.

Am văzut exemple unde vopseaua cub 6 laturi, fiecare dintre care este format din 2 triunghiuri. Cerc, inel, dreptunghi cu colțuri rotunjite și tot restul extragerii ca triunghiuri.

Am ajuns la concluzia că sfera și cilindrul ar trebui să atragă, de asemenea, de triunghiuri.

Cilindrul: Două cercuri de GL_TRIANGLES_FAN - baza cilindrului, o multitudine de „dreptunghiuri înguste“ GL_TRIANGLES_STRIP - pe suprafața laterală a cilindrului - mai mult - mai frumos și mai puțin productive.

Pentru o sferă: aici este dificil, cred, se poate face dintr-o varietate de pătrate GL_TRIANGLES_STRIP (două de pătrat triunghiului) - din nou, decât cele pătrate mai mult, cu atât mai mult ar trebui să obțineți o sferă netedă.

Doar 2 întrebări:

  1. Este abordarea corectă pentru desenarea solidelor 3D din triunghiuri simple, sau au un mod mai bun?
  2. Fie că vor exista probleme atunci când maparea texturilor pe astfel de organisme, sau cum să aplice textura. )

Vă mulțumim pentru răspunsuri!

Este abordarea corectă pentru desenarea solidelor 3D din triunghiuri simple, sau au un mod mai bun?

Și doar în afară de triunghiuri au algoritmi de urmărire a razelor (Nu știu cum să români traducă), pe baza imaginilor generiratsii utilizând metoda fasciculului de emisie de la punctul de observație la fața locului, și verificarea la intersecția fiecărui corp cu fascicul, cum ar fi domeniul de aplicare al ar arăta așa :

pentru fiecare pixel arunca fasciculul de la punctul de observație (poziția camerei)

pentru fiecare obiect al scenei este punctul de intersecție cu raze

în cazul în care punctul cel mai apropiat de camera calcula culoarea finală a pixelilor la acest punct

Fie că vor exista probleme atunci când maparea texturilor pe astfel de organisme, sau cum să aplice textura. )

Prima parte a întrebării un pic nu este corect, deoarece problema, desigur, poate apărea în cazul în care răul făcut. În ceea ce privește a doua parte a întrebării - aproximativ vorbind, textura este suprapusă prin utilizarea textura coordonatele care urmează să fie stabilită pentru fiecare punct al corpului. La fel ca și pentru celelalte vârfuri atribute tampon este alocat pentru ele, sau sunt împinse într-un buffer existent cu celelalte atribute, pentru a citi imaginea asociată cu acest tampon, apoi trimis la vertex shader prin care fragmentul devine tech locație.

un exemplu tipic de shader vertex și fragmetnogo pentru OpenGL ES