Войти
Urho3DФорумЗАДАВАЙТЕ ВОПРОСЫ

[АРХИВ] Шейдеры, техники, rendering path'ы (24 стр)

Страницы: 119 20 21 22 23 24
#345
17:05, 28 фев. 2016

>на этом этапе у нас уже нету отдельных материалов
ok, уговорил)

>Этот шейдер проще чем ваши или сложнее?
шейдер который использую : http://urho3d.prophpbb.com/topic1207.html
имена некоторых параметров похожи, мб есть какое-то сходство


#346
16:12, 1 авг. 2016

%rt_name%InvSize только для  редер пассов кидается в шейдер так?

а в обычном шейдере материала как узнать размер текстуры которая сидит в sDiffMap? sNormalMap... ?

хочу средний цвет посчитать для 4х пикселей из каждой такой текстуры

#347
17:54, 1 авг. 2016

Ну равзе только как параметр в материале передавать

#348
19:58, 1 авг. 2016

и правда, с какой стати такое передавать каждому стандартному шейдеру

делов-то...

  outputModel->SetMaterial(0, outputMaterial);
  Vector2 v1(outputTexture[YUV_PLANE_Y]->GetWidth(), outputTexture[YUV_PLANE_Y]->GetHeight());
  outputModel->GetMaterial(0)->SetShaderParameter("cDiffInvSize", Variant(Vector2(1.0, 1.0) / v1));
  Vector2 v2(outputTexture[YUV_PLANE_U]->GetWidth(), outputTexture[YUV_PLANE_U]->GetHeight());
  outputModel->GetMaterial(0)->SetShaderParameter("cSpecInvSize", Variant(Vector2(1.0, 1.0) / v2));
  Vector2 v3(outputTexture[YUV_PLANE_V]->GetWidth(), outputTexture[YUV_PLANE_V]->GetHeight());
  outputModel->GetMaterial(0)->SetShaderParameter("cNormalInvSize", Variant(Vector2(1.0, 1.0) / v3));

#ifdef COMPILEPS
uniform vec2 cDiffInvSize;
uniform vec2 cSpecInvSize;
uniform vec2 cNormalInvSize;
#endif

void PS()
{

    float y = texture2D(sDiffMap, vTexCoord.xy).r +
              texture2D(sDiffMap, vTexCoord.xy + cDiffInvSize).r +
              texture2D(sDiffMap, vTexCoord.xy - cDiffInvSize).r +
              texture2D(sDiffMap, vTexCoord.xy + vec2(-cDiffInvSize.x, cDiffInvSize.y)).r +
              texture2D(sDiffMap, vTexCoord.xy + vec2(cDiffInvSize.x, -cDiffInvSize.y)).r;
              
              y *= 0.20;

Страницы: 119 20 21 22 23 24
Urho3DФорумЗАДАВАЙТЕ ВОПРОСЫ

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