Skocz do zawartości
View in the app

A better way to browse. Learn more.

Max3D.pl

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Featured Replies

Napisano

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

  • Odpowiedzi 5
  • Wyświetleń 2,4k
  • Created
  • Ostatniej odpowiedzi

Top Posters In This Topic

Napisano

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.

Napisano
  • Autor

Dzięki za odpowiedź :)

 

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

Napisano

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

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

Powiadomienie o plikach cookie

Wykorzystujemy cookies. Przeczytaj więcej Polityka prywatności

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.