ПрограммированиеФорумГрафика

Зачем нужны геометрические шейдеры? (7 стр)

Страницы: 1 2 3 4 5 6 7
#90
9:08, 25 сен 2013

gammaker
> Какой такой магией? Я даже побитовых операций не использую.

Начиная с G80+ есть true integer и писать желательно чётко что ты хочешь в шейдере иначе могут быть неприятности :)

#91
13:20, 25 сен 2013

Какой такой магией? Я даже побитовых операций не использую.

Литералы без точечек, касты не везде, ну и целочисленных операций там всего одна, %, но ведь достаточно чтобы где-то в одном месте не сработало, и все поломалось.

В каком плане тяжёлые? У меня даже на нетбуке не тормозят.

Ну если там шейдеры выполняются только один раз - то ок. Кроме того они тяжелые для чтения на мой взгляд. В общем мне с ходу сложно сказать где оно работает не правильно.

#92
13:22, 25 сен 2013

Я бы сказал шейдеры не столько сложные, сколько нечитабельные. :)

#93
16:11, 25 сен 2013

MrShoor
> Кроме того они тяжелые для чтения на мой взгляд. В общем мне с ходу сложно
> сказать где оно работает не правильно.
В смысле переносов строк не хватает? А то у меня движок в начало вставляет служебные строки, плюс для генерации текстур пользователь передаёт формулу в одну строчку, а движок сам делает так, чтобы всё это было верного типа, вставляя лишние приведения типов, и записывалось в gl_FragColor. Это нечитабельно?

MrShoor
> и целочисленных операций там всего одна, %, но ведь достаточно чтобы где-то в
> одном месте не сработало, и все поломалось.
Рядом с ней разве есть проблемы с кастами?

innuendo
> Начиная с G80+ есть true integer и писать желательно чётко что ты хочешь в
> шейдере иначе могут быть неприятности :)
На CPU они вообще всегда были, и C\C++ как-то разруливает. Разве в GLSL по стандарту нет неявного преобразования int во float при intValue <op> floatValue? Допустим есть два целых числа. Мне нужно поделить a на b, и получить float с дробной частью. Как это короче всего записать, чтобы было корректно? Неужели короче "float(a)/float(b)" нельзя?


Я наверное как-нибудь попробую запустить свой движок на Mesa драйверах в Linux. Там он тоже что-то непонятное выводит. Может быть исправлю ошибку и заработает и на NVidia?

#94
16:23, 25 сен 2013

gammaker
> На CPU они вообще всегда были, и C\C++ как-то разруливает. Разве в GLSL по
> стандарту нет неявного преобразования int во float при intValue <op>
> floatValue?

GLSL компиляторы разные  ...

#95
10:03, 3 окт 2013

Ребят, такой вопрос: на геометрическом шейдере получается можно рисовать микрополиками (не используя трассировщик) - вопрос насколько быстро это дело будет происходить? (или рейкастинг, всё-же лучше?)

#96
16:21, 3 окт 2013

Odin P. Morgan
Извини, но я ничерта не понял.

#97
16:24, 3 окт 2013

Odin P. Morgan
> Ребят, такой вопрос: на геометрическом шейдере получается можно рисовать
> микрополиками (не используя трассировщик) - вопрос насколько быстро это дело
> будет происходить? (или рейкастинг, всё-же лучше?)
Тесселяция спасёт отца русской демократии ?

Страницы: 1 2 3 4 5 6 7
ПрограммированиеФорумГрафика

Тема в архиве.