shader



Автор Алексей задал вопрос в разделе Прочие

Подскажите пожалуйста, что такое "ШЕЙДЕР"? и получил лучший ответ

Ответ от Cortes[гуру]
Если кратко, то это довольно простые небольшие программки, выполняющиеся на графическом процессоре (ГП) , а не на центральном (ЦП) . На самом деле ГП уже давно взял на себя значительную долю обработки графики, освобождая тем самым ресурсы ЦП для других задач. Но принципиальная разница состоит в том, что ранее разработчики применяли специальные API для написания программ, которые взаимодействовали с ГП путем подготовки параметров и передачи их для выполнения отдельных функций. То есть ГП имел фиксированный набор функций, вызываемых по мере необходимости. Теперь же, благодаря шейдерам, взаимодействие с ГП сводится не к простому вызову его специфических функций, а к загрузке в него целых программ. Это дает как минимум два серьезных преимущества. Во-первых, значительно сокращается расходование ресурсов ЦП на подготовку данных для загрузки в ГП. Во-вторых, набор функций ГП стал на порядок разнообразнее благодаря тому, что разработчик фактически способен им полностью управлять. Это значит, что вместо фиксированной функциональности мы получаем платформу для разработки функций ГП.
Источник: ссылка

Ответ от Woldani[новичек]
Шейдер (англ. Shader) — это программа для одной из ступеней графического конвейера, используемая в трёхмерной графике для определения окончательных параметров объекта или изображения. Она может включать в себя произвольной сложности описание поглощения и рассеяния света, наложения текстуры, отражение и преломление, затенение, смещение поверхности и эффекты пост-обработки

Ответ от Ёофья Кравченко[активный]
Шейдер (англ. Shader) — это программа для одной из ступеней графического конвейера, используемая в трёхмерной графике для определения окончательных параметров объекта или изображения. Она может включать в себя произвольной сложности описание поглощения и рассеяния света, наложения текстуры, отражение и преломление, затенение, смещение поверхности и эффекты пост-обработки.

Ответ от Александр[гуру]
Ше́йдер (англ. Shader) — это программа для одной из ступеней графического конвейера, используемая в трёхмерной графике для определения окончательных параметров объекта или изображения. Она может включать в себя произвольной сложности описание поглощения и рассеяния света, наложения текстуры, отражение и преломление, затенение, смещение поверхности и эффекты пост-обработки.Программируемые шейдеры гибки и эффективны. Сложные с виду поверхности могут быть визуализированы при помощи простых геометрических форм. Например, шейдеры могут быть использованы для рисования поверхности из трёхмерной керамической плитки на абсолютно плоской поверхности.Типы шейдеровВ настоящее время шейдеры делятся на три типа: вершинные, геометрические и фрагментные (пиксельные) .[править] Вершинные шейдеры (Vertex Shader)Вершинный шейдер оперирует данными, сопоставленными с вершинами многогранников. К таким данным, в частности, относятся координаты вершины в пространстве, текстурные координаты, тангенс-вектор, вектор бинормали, вектор нормали. Вершинный шейдер может быть использован для видового и перспективного преобразования вершин, генерации текстурных координат, расчета освещения и т. д.[править] Геометрические шейдеры (Geometry Shader)Геометрический шейдер, в отличие от вершинного, способен обработать не только одну вершину, но и целый примитив. Это может быть отрезок (две вершины) и треугольник (три вершины) , а при наличии информации о смежных вершинах (adjacency) может быть обработано до шести вершин для треугольного примитива. Кроме того геометрический шейдер способен генерировать примитивы "на лету", не задействуя при этом центральный процессор. Впервые начал использоваться на видеокартах Nvidia, серии 8.[править] Фрагментные (Пиксельные) шейдеры (Pixel Shader)Фрагментный шейдер работает с фрагментами изображения. Под фрагментом изображения в данном случае понимается пиксел, которому поставлен в соответствие некоторый набор атрибутов, таких как цвет, глубина, текстурные координаты. Фрагментный шейдер используется на последней стадии графического конвейера для формирования фрагмента изображения.[править] Потребность в шейдерахВ программных графических движках вся цепочка рендеринга — от определения видимых частей сцены до наложения текстуры — писалась разработчиком игры. В эту цепочку можно было включать собственные нестандартные видеоэффекты. Но с появлением видеоакселераторов разработчик оказался ограничен тем набором эффектов, который заложен в аппаратное обеспечение. Вот два примера. * Попробуйте нырнуть под воду в Quake 2 на программном и на OpenGL-рендеринге — при всём качестве аппаратно ускоренной картинки, вода там — просто синий светофильтр, в то время как в программном есть эффект плеска воды. * В Counter-Strike эффект ослепления от светошумовой гранаты на аппаратном рендеринге — белая вспышка, на программном — белая вспышка и пикселизированный экран.Предшественниками шейдеров были процедурная генерация текстур (широко применявшаяся в Unreal для создания анимированных текстур воды и огня) и мультитекстурирование (на нём был основан язык шейдеров, применявшийся в Quake 3). Но и эти эффекты не обеспечивают такой гибкости, как шейдеры.

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: Подскажите пожалуйста, что такое "ШЕЙДЕР"?
Шейдер на Википедии
Посмотрите статью на википедии про Шейдер
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*