Pierwsza; jak są kompilowane moduły cieniowania OpenGL? Czy są one skompilowane na procesorze lub GPU, czy też różnią się w zależności od implementacji? Czy różni dostawcy mają różne wyjścia binarne; jeśli tak, to czy możliwe jest przekompilowanie pliku binarnego dla jednego typu GPU na innym GPU? Zajmuję się tworzeniem gier, które zamierzam uruchomić na procesorach Intel GFX, kartach ATI i kartach NVidia. Wolałbym wysyłać tylko binarne części shaderów, bez konieczności kompilowania źródła na komputerach klienckich. czy to możliwe? Jak działa proces kompilacji shaderów?Czy moduły cieniujące OpenGL są kompilowane na GPU lub procesorze? W jaki sposób moc binarna różni się w zależności od producenta karty graficznej?
12
A
Odpowiedz
11
Proces kompilacji jest, ogólnie biorąc, wykonywany na procesorze. Jednak dane wyjściowe różnią się nie tylko od dostawcy, ale również od modelu. Jako takie, moduły shaderów muszą zostać przekompilowane na komputerze użytkownika, aby zachować kompatybilność z dowolnym modelem procesora graficznego, którego może używać użytkownik (w tym modele GPU, które mogą nie istnieć podczas pisania gry!)
Powiązane problemy
- 1. OpenGL bez karty graficznej
- 2. Czym różni się aplikacja Facebook od karty?
- 3. Czy należy obliczyć macierze na GPU lub na procesorze?
- 4. Czy można uruchomić CUDA na GPU AMD?
- 5. Monitorowanie użycia karty graficznej
- 6. W jaki sposób operator "|| =" różni się od "? =" W CoffeeScript?
- 7. Sprawdź, czy kod działa na GPU lub procesorze
- 8. W jaki sposób dane tekstury są dostępne na GPU w OpenGL?
- 9. W jaki sposób rekursja pierwotna różni się od "normalnej" rekursji?
- 10. Jak utworzyć kontekst OpenGL z określonym sterownikiem karty graficznej?
- 11. Tensorflow: przewidywania symultaniczne na GPU i procesorze
- 12. Wymuszenie użycia dedykowanej karty graficznej?
- 13. Kierunek kompasu różni się w zależności od orientacji telefonu.
- 14. W jaki sposób in statyczna inicjalizacja statyczna floata różni się od int w C++?
- 15. Czy moduły cieniujące geometrii GLSL działają na GMA X3100 pod OSX
- 16. Czy istnieje sposób uzyskania informacji o GPU?
- 17. W jaki sposób MVVM w .Net różni się od MVC w kakao?
- 18. jaki sposób operator> + różni się od> = w SQL Server 2012
- 19. co jest prawą ścianą w openGL
- 20. W jaki sposób local() różni się od innych podejść do zamknięcia w R?
- 21. W jaki sposób pojęcie statyczne w języku Java różni się od C#?
- 22. W jaki sposób implementacja Table Data Gateway różni się od Active Record?
- 23. W jaki sposób funkcja async-await w C# 5.0 różni się od licencji TPL?
- 24. Czyszczenie pamięci GPU OpenGL jest wymagane?
- 25. W jaki sposób SLI decyduje, do którego VBO należy GPU w OpenGL?
- 26. W jaki sposób semantyka AsyncLocal różni się od kontekstu połączenia logicznego?
- 27. W jaki sposób Perforce ignoruje składnię pliku różni się od składni gitignore?
- 28. W jaki sposób ADF stoi przed cyklem życia różni się od lifecylce JSF?
- 29. W jaki sposób organizujesz swoje moduły NInject?
- 30. Co to są moduły CSS3?
Czy to jak radzi sobie większość komercyjnych gier? – IDWMaster
Tak. Możesz spróbować uczynić to mniej oczywistym poprzez zaciemnienie zawartości twojego modułu cieniującego (np. Zaszyfrowanie go tak, aby nie było wyświetlane w zwykłym tekście, usuwanie komentarzy i zmiana nazwy mieszkańców, itp.), Ale musisz mieć ten kod źródłowy na końcu. – bdonlan