Android OpenGL ES

След търсене в Google намерени следните функции:

Въпреки това, тези функции не работят в ES, както аз го разбирам, в сценария на експозиция е възможно само изготвят точки, линии и триъгълници.

Аз съм виждал примери, където боя куб 6 страни, всяка от които се състои от 2 триъгълници. Кръгът, пръстен, правоъгълник със заоблени ъгли и всички останали тегленето като триъгълници.

Аз дойдох до заключението, че сферата и цилиндъра също трябва да се направи от триъгълници.

Цилиндър: Два кръга на GL_TRIANGLES_FAN - основата на цилиндъра, множество от "тесните" правоъгълници GL_TRIANGLES_STRIP - до страничната повърхност на цилиндъра - толкова по - толкова по-красиво и по-малко продуктивни.

За една сфера: тук е трудно, мисля, може да се направи от различни GL_TRIANGLES_STRIP квадрати (два по квадрата на триъгълника) - отново от тези квадрати повече, толкова повече ще трябва да се получи гладка сфера.

Само два въпроса:

  1. Дали това е правилният подход за съставяне на 3D твърди вещества от прости триъгълници или да има по-добър начин?
  2. Дали ще има проблеми, когато присвоявате текстури на такива органи, или как да се прилагат текстура. )

Благодаря за отговорите!

Дали това е правилният подход за съставяне на 3D твърди вещества от прости триъгълници или да има по-добър начин?

И точно освен триъгълници имат рейтрейсинг алгоритми (Не знам как да български се превежда), които се основават на метода на снимки generiratsii с помощта на гредата на емисиите от точката на наблюдение на сцената, както и за проверка на кръстовището на всеки орган, с лъча, като в обхвата на това ще изглежда така :

за всеки пиксел хвърлят лъча от точката на наблюдение (позиция на камерата)

за всеки обект на сцената е в точката на пресичане с лъча

ако точката най-близо до камерата изчисление на крайния цвят на пикселите в този момент

Дали ще има проблеми, когато присвоявате текстури на такива органи, или как да се прилагат текстура. )

В първата част на въпроса малко не е правилна, тъй като може да възникне проблем, разбира се, ако погрешно направено. Що се отнася до втората част на въпроса - грубо казано, текстурата се наслагва с помощта на текстурата координира, който се определя за всяка точка от тялото. Точно както за другия връх атрибути буфер е предназначена за тях, или са изтласкани в съществуваща буфер с другите атрибути, за да прочетете на изображението, свързани с този буфер, след което се изпраща Shader на връх през които фрагмента получава тек място.

типичен пример на шейдър връх и fragmetnogo за OpenGL ES