GL triangle strip vs GL Triangle fan

Potrzebuję przykład wielokąta, który może być zrobiony tylko przez triangle_strip i kolejny wielokąt, który może być zrobiony tylko przez triangle_fan.

Author: genpfault, 2013-12-05

2 answers

Znając różnicę między trójkątnym paskiem A trójkątnym wachlarzem kształt będzie łatwy do wykonania.

Pasek Trójkątny

Na przykład pasek trójkąta jest zbiorem połączonych trójkątów, które dzielą wierzchołki.

Przykład paska trójkąta

Używając Triangle Strip będziemy w stanie uzyskać następujące wyjście, używając tych podanych wierzchołków.

Tutaj wpisz opis obrazka

Wentylator Trójkątny

Gdzie wachlarz Trójkątny jest również zbiór połączonych trójkątów, chociaż wszystkie te trójkąty mają wspólny wierzchołek, który jest wierzchołkiem centralnym.

W OpenGL wierzchołek centralny jest pierwszym podanym wierzchołkiem, w wachlarzu trójkąta .

Przykład wachlarza trójkątnego

Używając trójkątnego wachlarza i tych samych wierzchołków jak w innym przykładzie, będziemy mogli uzyskać tylko kolorowy obszar jako wyjście. Wynika to z znaczenia uporządkowanego porządku wierzchołków w wachlarzu trójkąta. zasadniczo, wszystkie wierzchołki muszą krążyć wokół centralnego wierzchołka.

Tutaj wpisz opis obrazka

Podsumowanie

Jak widać na naszych 2 przykładowych zestawach wierzchołków te "kształty wyjściowe" są unikalne zarówno dla Triangle Strip, jak i Triangle Fan.

Extra

zrobiłem podobną odpowiedź tutaj, możesz ją przeczytać, jeśli chcesz, faktycznie użyłem tych samych obrazów, ponieważ pytania są ściśle powiązane.

 46
Author: Vallentin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:18:05

Trudno odpowiedzieć czystym tekstem. W przypadku wentylatora kształt litery S byłby niemożliwy (ogólnie rzecz biorąc, należy pamiętać, że wentylator jest ograniczony, ponieważ istnieje punkt wspólny dla KAŻDEGO trójkąta).

Jeśli chodzi o odwrotnie-to podchwytliwe pytanie. triangle_strip może wykonać każdy wielokąt triangle_fan, chociaż wymaga to trochę podstępu. Rozważmy następujący wielokąt (kolejność pokazana jest dla triangle_fan)
3--4--5
|\ | /|
2--1--6
   | \|
   8--7

Można to zrobić w następujący sposób

2-----4
| \  /|
1--3/7| 
   | \|
   6--5

Zwróć uwagę na nakładanie się wielokąty. Jeśli nie pozwalasz na dwustronne polisy lub nakładanie się, to byłby to przykład tylko wentylatora poly, przypuszczam.

 7
Author: Oliver Matthews,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-12-05 08:28:21