http://regedit.gamedev.pl/ Graphics programming, game programming, C++, games, Windows, Internet and more... |
| Main Page | Blog | Productions | Gallery | Download | Links | About me |
15:23
Fri
27
Jul 2007
Kwestia shaderów
W kwestii shaderów używanych do rysowania wszelkich obiektów (na czele ze zwykłymi, nieprzezroczystymi powierzchniami o określonych parametrach materiału) można wymyślić trzy rozwiązania różniące się trudnością:
1. Sposób najprostszy to stały, napisany wcześniej zestaw shaderów. Każdy z nich byłby uniwersalny w jakimś zakresie. Dostępny w nowych kartach Static Branching i Dynamic Branching pozwalają włączać i wyłączać poszczególne fragmenty, aczkolwiek mnie i tak szkoda byłoby marnować instrukcje na sprawdzanie warunku zamiast wygenerować osobny shader bez danego fragmentu.
2. Metoda subtraktywna: Można napisać jeden albo kilka wielkich shaderów posiadających wszystkie potrzebne możliwości, w których źródle znajdą się warunki typu if (MAKRO == 1) albo też #if (MAKRO == 1). Taki kod będzie kompilowany na żądanie z odpowiednimi makrami preprocesora jako konkretny shader. Tak mam zrobione obecnie.
3. Metoda addytywna, najtrudniejsza: Przed kompilacją składać kod shadera z fragmentów w postaci definiowanych jakoś w tekstowy albo graficzny sposób bloczków, których wyjścia jednych łączy się z wejściami innych.
Nie wiem, który sposób będzie najlepszy.
Comments (1) | Tags: graphics programming
| dcCXVCZkuwAtl 2010-04-07 22:04:20 | L6TH5T <a href="http://klhxmvnqmzwv.com/">klhxmvnqmzwv</a>, [url=http://bwgpfpxqzqvc.com/]bwgpfpxqzqvc[/url], [link=http://lvqgocjtvmyr.com/]lvqgocjtvmyr[/link], http://aprmgtxxbjds.com/ |
| [Stat] [Admin] [STAT NO AD] [pub] [Mirror] | Copyright © 2004-2010 Adam Sawicki | 0.12 s |