Select Language
Суббота, 20.04.2024, 14:46
С какой целью вы посещаете сайт?
Всего ответов: 300


Xors3D имплементируют Deferred Shading, Material'ы и Log'и
19.05.2009, 12:12
Во первых хочу заметить, что данный ресурс достиг отметки колличества кликов в 100 000! Очень приятно видеть весьма большую циферку, в статистике, спасибо большое всем кто посещает этот ресурс, и комментирует материалы, ведь комментарии значат весьма не мало, даже самые простые..
Большое Спасибо!
 
Кратко о Deferred Shading - эта технология используя иной подход к рендерингу, позволяет создавать неограниченное колличество источников, колличество которых снижают производительность не в геометрической прогрессии, а лишь в математической. Главный фактор скорости данного подхода к рендерингу - это просчёт пикселей только в Screen Space.
При Forward Rendering'е, просчитываются все пиксели которые поподают во фруструм камеры (кроме BackFace'ов), а в DS (Deferred Shading), сперва снимаются минимальные данные (Diffuse, Position, Normal), а затем уже на уровне пост обработки реализуются эффекты. Такой подход даёт возможность избежать огромного колличества лишних обработок пикселей. Но учитывая MRT, который является одной из ключевых техник для Deferred Shading.
MRT (Multi Rendering Targets), позволяет за один Render проход записывать информацию сразу в несколько текстур. Естественно данная техника должна потдерживаться разными видеокартами, приблезительно это видеокарты начиная с потдержки шейдеров 2.0.
Также в Deferred Shading используются Floating Point текстуры, и они также должны потдерживаться видеокартами.
В итоге, данная техника к рендерингу доступна только видеокартам выше поколения GeForce 6xxx и примерного её конкурента Radeon 9500, и выше.
 
Вот статистика о производительности Deferred Shading'а, на моммент написания данного материала:
 
Также в Xors3D, были проведены улучшения xScript, теперь есть возможность как посылать аргументы (int,float,str), так и получать (возвращаемые функцией скрипта).
 
Log система, теперь работает, но для того чтобы прописать каждую функцию, потребуется немало времени.
 
Материалы, теперь есть возможность прописать в шейдере семантики. Что это такое? Это небольшая приставка к переменной, например:
float4x4 mWorldViewProj;   - это будет просто переменная. По имени понятно что мы пошлём в неё матрицу трансформации объекта. Но нам это нужно делать самостоятельно.
Теперь если прописать таким образом:
float4x4 mWorldViewProj : MATRIX_WORLDVIEWPROJ;
То матрица будет посылаться автоматически, таким образом избавляя нас от лишней работы.
 
Вот список возможных семантик:
  • Matrices:
  •   MATRIX_[semantic] // semantic is a semantic like WORLD, VIEW etc (float4x4)
  • Textures:
  •   TEXTURE_[n] // n is a number of texture layer
  • Light Sources:
  •   LIGHT[n]_POSITION // n is a number of light source (float4)
  •   LIGHT[n]_DIRECTION // n is a number of light source (float4)
  •   LIGHT[n]_RANGE // n is a number of light source (float4)
  •   LIGHT[n]_INNER // n is a number of light source (float4)
  •   LIGHT[n]_OUTER // n is a number of light source (float4)
  •   LIGHT[n]_COLOR // n is a number of light source (float4)
  • Surface Material:
  •   COLOR_DIFFUSE // A-component contains alpha value of surface (float4)
  •   COLOR_SPECULAR // (float4)
  •   SPECULAR_POWER // (float)
  • Global:
  •   COLOR_AMBIENT // (float4)
И небольшое видео напоследок:
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
«  Май 2009  »
ПнВтСрЧтПтСбВс
    123
45678910
11121314151617
18192021222324
25262728293031

Xors3D
Оффициальный сайт Xors3D
Русскоязычный форум
И многое другое!

Locations of visitors to this page


Онлайн: 1
Гостей: 1
Пользователей: 0
© MoKa 2024
Karnao.ru Rubux Software - PhysX Wrapper & Xors3D Blitz3D.at.ua Blitz Et Cetera Boolean Community