Skocz do zawartości

Pytania związane z grafiką 3D


kamilu

Rekomendowane odpowiedzi

Witam, potrzebuję opracować pewne zagadnienia związane z grafiką 3D i natrafiłem na problem.

 

1. Mam opisać 3 podstawowe rodzaje cieniowania i tu problem polega na tym że znalazłem dwa typy:

 

1a)

W jednych źródłach znalazłem takie trzy:

- cieniowanie wierzchołkowe (vertex shader)

- cieniowanie geometryczne (geometry shader)

- cieniowanie pikseli (pixel shader)

 

1b)

A w innych źródłach znalazłem takie:

-cieniowanie płaskie

-cieniowanie Gouraud'a

-cieniowanie Phonga

 

I nie wiem które powinienem wybrać.... :P

 

 

2. Mam scharakteryzować renderowanie programowe i sprzętowe.

 

Tutaj problem polega na tym, że też znalazłem dwa typy i nie wiem, który jest prawidłowy.

 

2a) Jedne źródła mówią o tym że programowe = CPU, a sprzętowe = GPU.

 

2b) Inne źródła mówią, że programowe = obojętnie czy to CPU czy GPU, a sprzętowe = wyświetlanie obiektów z pomocą API karty graficznej (czyli użycie openGL, DirectX) czyli wyświetlanie obiektów w czasie rzeczywistym.

 

I tu też nie wiem gdzie leży prawda.

 

 

 

Jeśli jest tu jakiś specjalista to prosił bym uprzejmi o pomoc ;)

Odnośnik do komentarza
Udostępnij na innych stronach

  • Odpowiedzi 5
  • Created
  • Ostatniej odpowiedzi

Top Posters In This Topic

Top Posters In This Topic

Moze jakis prawdziwy specjalista Ci odpowie, ale z moja powierzchowna wiedza moge tez sprobowac odpowiedziec:

 

1. Zalezy od perspektywy jak spojrzysz na cieniowanie. Twoje a) to odstrony rodzaju shadera, a twoje b) od strony algorytmu/wlasciwego kodu w dowolnym shaderze.

 

2. Na moj prosty rozum, sprzetowe renderowanie to takie ktore wrzuca dana do jakiegos hardweru (przewaznie karta graficzna) pozwala jej zrobic wszelkie sprzetowo wspomagane oblicznia, a potem otrzymujsz wynik w postaci przewaznie przeliczonych pozycji verexow czy skompilownych shaderow dla kazdego piksela (na przyklad).

Programowe natomiast to takie ktore nie uzywa zadnego hardweru o domenie wspomagajacej renderowanie - wiec posluguje sie jednynie CPU i na nim przelicza pozycje wszystkich wierzcholkow/kompiluje shadery itd itp.

 

Take wiec moze sie zdazyc ze OpenGL czy DirectX nie znajdujac karty graficznej przerzuca wszystkie obliczenia na CPU - wiec twoje 2b) calkowicie nie rozumiem.

Odnośnik do komentarza
Udostępnij na innych stronach

Vertex i Pixel shadery to nie rodzaje cieniowania tylko etapy Rendering pipelineu. Tak więc na pewno chodzi o Phonga, Blinna, Gouraud itp.

https://en.wikipedia.org/wiki/Graphics_pipeline

 

W drugim pytaniu 2a to laicko uproszczona wersja odpowiedzi 2b. Poznając temat powinieneś iść w stronę 2b. Tematy do googlania : Fixed function pipeline, Programable pipeline, compute shader, GPGPU

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się



×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Wykorzystujemy cookies. Przeczytaj więcej Polityka prywatności