Skip to content

Pytania związane z grafiką 3D

Featured Replies

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 ;)

  • Replies 5
  • Views 2.5k
  • Created
  • Last Reply

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.

  • Author

Dzięki za odpowiedź :)

 

Znajdzie się ktoś jeszcze kto doda coś do tematu ? ;)

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

Create an account or sign in to comment

Important Information

We are using cookies. Read about our Privacy Policy We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.