Kwestia shaderów

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

Comments

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/

Post comment

Nick *
Your name or nickname
URL
URL to your homepage or e-mail address (optional)
Text *
Content of your comment
Calculate *7 - 2 =
(* - required field)
STAT NO AD [Stat] [Admin] [STAT NO AD] [pub] [Mirror] Copyright © 2004-2010 Adam Sawicki 0.12 s
Copyright © 2004-2010 Adam Sawicki