|
|
|
Канал Игры Мечты: «HLSL» |
|
|
DIMOSUS.X
997 EGP
        Рейтинг канала: 4(67) Репутация: 188 Сообщения: 3252 Откуда: Vilnius/Minsk Зарегистрирован: 06.08.2008
 |
|
Начал постигать примудрости этого языка. Более-менее разобрался с основными моментами, реализовал пару простых эффектов. Сейчас хочу написать свой навороченный шейдер, реализующий эффект паралакса. Но тут у меня возникла пара вопросов. Не буду пока захламлять вашы умы, по этому простой вопрос: как наиболее экономно найти точку пересечения двух отрезков? Пространство 2Д, известны кординаты начал и концов отрезков, а так же достоверно известно то что они пересекаются.
_________________ Даже ежики ежиков могут с трудом,
Иначе бы ежики были кругом. |
|
|
DIMOSUS.X
997 EGP
        Рейтинг канала: 4(67) Репутация: 188 Сообщения: 3252 Откуда: Vilnius/Minsk Зарегистрирован: 06.08.2008
 |
|
Забыл добавить - кординаты х начал и концов отрезков совподают.
_________________ Даже ежики ежиков могут с трудом,
Иначе бы ежики были кругом. |
|
|
Minx
1011 EGP
        Рейтинг канала: 6(332) Репутация: 139 Сообщения: 10548 Откуда: Gomel, Belarus Зарегистрирован: 19.11.2005
 |
|
Если имеются 2 отрезка (a;0)-(d;l) (b;0)-(c;l), то точка пересечения имеет координату x = l*(b-a)/(b-c+d-a) и соответственно y=b+(c-b)/l*x=a+(d-a)/l*x
Деление на ноль получаем в случае, если отрезки параллельны или совпадают.
Формула работает также и в случае, если пересечение происходит вне описанных отрезков.
_________________ μηδείς αγεωμέτρητος εισίτω
Последний раз редактировалось: Minx (22:45 07-06-2010), всего редактировалось 2 раз(а) |
|
|
DIMOSUS.X
997 EGP
        Рейтинг канала: 4(67) Репутация: 188 Сообщения: 3252 Откуда: Vilnius/Minsk Зарегистрирован: 06.08.2008
 |
|
Хм, попробуем
А можно его еще больше упростить, если принять во внимание то, что нужно найти только х кординату пересечения?
добавлено спустя 3 минуты:
Мда, в рамки шейдеров 2.0 хороший паралакс не умещается - придется переходить на 3.0.
Может подскажите - с каких моделей адаптеров ати и нвидиа перешли на третьи шейдеры?
_________________ Даже ежики ежиков могут с трудом,
Иначе бы ежики были кругом.
Последний раз редактировалось: DIMOSUS.X (23:18 07-06-2010), всего редактировалось 1 раз |
|
|
HeadHunter
2835 EGP
                  Рейтинг канала: 1(9) Репутация: 540 Сообщения: 16365 Откуда: The Dark Wheel Зарегистрирован: 13.12.2005
 |
|
Радеоны, вроде, с x1300-x1950 (серия R520), а джифорсы с шестой.
_________________ ..А поверх седых облаков
Синь - соколиная высь.
Здесь, под покровом небес
Мы родились..
Последний раз редактировалось: HeadHunter (23:52 07-06-2010), всего редактировалось 3 раз(а) |
|
|
~DJ~
640 EGP
  Рейтинг канала: 5(115) Репутация: 143 Сообщения: 1218 Откуда: Тёмный город на Неве Зарегистрирован: 25.01.2006
 |
|
По nVidia точно могу сказать, что начиная с серии 6ххх, ATi - скорее всего с Х1ххх, но не уверен.
добавлено спустя 42 секунды:
опередун
_________________ Весна пришла откуда не ждали
Последний раз редактировалось: ~DJ~ (00:30 08-06-2010), всего редактировалось 2 раз(а) |
|
|
DIMOSUS.X
997 EGP
        Рейтинг канала: 4(67) Репутация: 188 Сообщения: 3252 Откуда: Vilnius/Minsk Зарегистрирован: 06.08.2008
 |
|
Короче говоря, с прицелом в будущее, есть смысл 3.0 делать минимальными системными требованиями
_________________ Даже ежики ежиков могут с трудом,
Иначе бы ежики были кругом. |
|
|
ТехноМаг
360 EGP
     Рейтинг канала: 2(19) Репутация: 93 Сообщения: 2516 Откуда: Кронштадт Зарегистрирован: 09.04.2007
 |
|
Димон, не заставляй меня на Висту и Семерку переходить
_________________ (Л)"Алекс, я живу уже почти 200 лет. но как видишь, выгляжу я всего на 20. И это не единственное отличие меня от людей." |
|
|
DIMOSUS.X
997 EGP
        Рейтинг канала: 4(67) Репутация: 188 Сообщения: 3252 Откуда: Vilnius/Minsk Зарегистрирован: 06.08.2008
 |
|
шейдеры 3.0 прекрастно работают из под дх9
_________________ Даже ежики ежиков могут с трудом,
Иначе бы ежики были кругом. |
|
|
DIMOSUS.X
997 EGP
        Рейтинг канала: 4(67) Репутация: 188 Сообщения: 3252 Откуда: Vilnius/Minsk Зарегистрирован: 06.08.2008
 |
|
В муках был рожден такой вот шейдер - осталось добавить линейную интерполяцию и получится конфетка
Так и не понял как делается правильный эффект окклюжн (самозатенения), по этому пришлось придумать свой.
добавлено спустя 3 минуты:
кто не понял - это паралакс маппинг, выполненный трассировкой лучей.
_________________ Даже ежики ежиков могут с трудом,
Иначе бы ежики были кругом.
Последний раз редактировалось: DIMOSUS.X (13:25 08-06-2010), всего редактировалось 1 раз |
|
|
ТехноМаг
360 EGP
     Рейтинг канала: 2(19) Репутация: 93 Сообщения: 2516 Откуда: Кронштадт Зарегистрирован: 09.04.2007
 |
|
DIMOSUS.X : |
шейдеры 3.0 прекрастно работают из под дх9
|
я про минимальные т.е 4.0 для нормальной графики, а они под dx10, следовательно Vista, Seven
_________________ (Л)"Алекс, я живу уже почти 200 лет. но как видишь, выгляжу я всего на 20. И это не единственное отличие меня от людей." |
|
|
Jurec
348 EGP
   Рейтинг канала: 4(76) Репутация: 102 Сообщения: 1441 Заблокирован Откуда: Seattle Зарегистрирован: 25.02.2006
 |
|
Артефакты видны. Покажи шейдер.
добавлено спустя 2 минуты:
ТехноМаг : |
т.е 4.0 для нормальной графики
|
А 5.0 для отличной? )) 3.0 думаю хватит на очень приличный набор эффектов.
_________________ MOV topka, C++
Последний раз редактировалось: Jurec (22:10 08-06-2010), всего редактировалось 1 раз |
|
|
Guest
2075 EGP
              Рейтинг канала: 5(167) Репутация: 376 Сообщения: 27975 Откуда: Моск. Зарегистрирован: 12.10.2004
 |
|
DIMOSUS.X : |
кто не понял - это паралакс маппинг, выполненный трассировкой лучей.
|
Ага, классический вариант, с классической болезнью - подагрой замыленными гранями и аццким "аберрационным эффектом", особенно хорошо видным под малым углом к поверхности...
Надо уже геометрические шейдеры осваивать.
_________________ Трещит земля как пустой орех
Как щепка трещит броня |
|
|
DIMOSUS.X
997 EGP
        Рейтинг канала: 4(67) Репутация: 188 Сообщения: 3252 Откуда: Vilnius/Minsk Зарегистрирован: 06.08.2008
 |
|
Ничего, интерполяция все скроет
А что за геометрические шейдеры? Это которые в дх10 появились?
Я не вкурсе, еще не успел их курить.
_________________ Даже ежики ежиков могут с трудом,
Иначе бы ежики были кругом. |
|
|
Jurec
348 EGP
   Рейтинг канала: 4(76) Репутация: 102 Сообщения: 1441 Заблокирован Откуда: Seattle Зарегистрирован: 25.02.2006
 |
|
Это новый вид шейдеров. Кроме пиксельных и вершинных. Оперирует вершинами. Знает соседних(в отличии от вершинного), позволяет добавлять новые и т.п.
4.0 в DirectX 10. nVidia добавила в OpenGL годом до DirectX 10
_________________ MOV topka, C++ |
|
|
DIMOSUS.X
997 EGP
        Рейтинг канала: 4(67) Репутация: 188 Сообщения: 3252 Откуда: Vilnius/Minsk Зарегистрирован: 06.08.2008
 |
|
Освоил блюр
офф
http://ipicture.ru/uploads/100612/5u7B6VSgxv.jpg
он
http://ipicture.ru/uploads/100612/3Oliyijn4z.jpg
добавлено спустя 19 минут:
Во что нашел
http://developer.download.nvidia.com/shaderlibrary/webpages/hlsl_shaders.html
_________________ Даже ежики ежиков могут с трудом,
Иначе бы ежики были кругом.
Последний раз редактировалось: DIMOSUS.X (01:30 12-06-2010), всего редактировалось 1 раз |
|
|
DIMOSUS.X
997 EGP
        Рейтинг канала: 4(67) Репутация: 188 Сообщения: 3252 Откуда: Vilnius/Minsk Зарегистрирован: 06.08.2008
 |
|
Еще немного выноса мозга, и добавил преломление
для реализации пришлось задействовать 7 отдельных шейдеров...
_________________ Даже ежики ежиков могут с трудом,
Иначе бы ежики были кругом. |
|
|
DIMOSUS.X
997 EGP
        Рейтинг канала: 4(67) Репутация: 188 Сообщения: 3252 Откуда: Vilnius/Minsk Зарегистрирован: 06.08.2008
 |
|
Добил шейдер попадания в щит. Из-за темного фона не видно - в месте попадания происходит искажение пространства.
_________________ Даже ежики ежиков могут с трудом,
Иначе бы ежики были кругом. |
|
|
Jurec
348 EGP
   Рейтинг канала: 4(76) Репутация: 102 Сообщения: 1441 Заблокирован Откуда: Seattle Зарегистрирован: 25.02.2006
 |
|
Как задаешь точку попадания? Текстурой?
_________________ MOV topka, C++ |
|
|
DIMOSUS.X
997 EGP
        Рейтинг канала: 4(67) Репутация: 188 Сообщения: 3252 Откуда: Vilnius/Minsk Зарегистрирован: 06.08.2008
 |
|
Зачем так извращаться? Шейдеру передаются UV координаты точек попадания, которые в свою очередь вычисляются физическим движком. Дальше работает шейдер. Кста - задействована лишь одна текстура, да и та для рандомизации преломлений.
_________________ Даже ежики ежиков могут с трудом,
Иначе бы ежики были кругом. |
|
|
|
|
|
Канал Игры Мечты: «HLSL» |
|