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

собственный software renderer (3 стр)

Страницы: 1 2 3 4 Следующая »
#30
20:28, 26 мая 2015

static_cast
Возьми месу и не мучайся. Или двиг от кваки. Короче, потрать время на что-то полезное:)

#31
21:13, 26 мая 2015

А есть где-нибудь сравнение месы с другими софтрендерами? Меса вроде как это референс - интересно насколько старались его оптимизировать

#32
21:39, 26 мая 2015

На https://msdn.microsoft.com/en-us/library/gg615082.aspx#architecture есть тесты WARP для Direct3D 10 Crysis running at 800x600 .
Вот, кстати, по самой Mesa где-то бенчмарки есть?

#33
22:07, 26 мая 2015

Ghost2
Я собирал под винду, не скажу что шибко быстрый. Правда я шейдеры там мучал :))

#34
0:06, 27 мая 2015

Blew_zc
> Или двиг от кваки
Он будет работать только с картами от кваки. И кому оно туда надо?

#35
18:49, 30 июня 2015

снова вернулся к работе. Какая-то ересь происходит, не хочу ради такого тему создавать. Такой код (схематически):

  void mm( (...) ,   type* in, int s, int n, vec4* out, (...)  )
  {
    for (int i = s; i < s + n; i += 3)
    {
      (...)

      for (int j = 0; j < 3; j++)
      {
        out[ i + j ] = some_fun( in[ i + j ] );

        (...)

        in[ i + j ].some_vec4 = out[ i + j ];
      }

      (...)
    }
  }


(...)


  vec4 some_fun( type&  in )
  {
    mat4 mt(1.f);
    vec4 res = mt * vec4( in.some_vec4, 1 );
    return res;
  }


первые мгновения вроде работает, но затем начинает постепенно тормозить, и так до практически полной остановки.

#36
19:13, 30 июня 2015

static_cast
Тут тормозить нечему. Ну разве что n увеличивается каждый раз.

#37
20:10, 30 июня 2015

тогда вообще не понимаю. Программа не вылетает, не крашится, память не жрёт, тупо виснет. Причём не намертво. Она просто начинает работать всё медленнее. Пффф.

#38
20:29, 30 июня 2015

static_cast
Профайлер?

static_cast
> vec4* out
> out[ i + j ] =
> vec4 some_fun( type& in )
что-то тут не так с типами :) все так %)

ЗЫ. Вообще, код, выдранный из контекста. Ванги в отпуске.

#39
21:35, 30 июня 2015

static_cast
Пауза в главном цикле стоит?

#40
22:20, 30 июня 2015

с типами действительно несогласованность. Коряво перенёс. Теперь исправил.

Причем эта дрянь появляется, когда in.some_vec4 присваиваю out.

#41
22:31, 30 июня 2015

static_cast
Ты при этом что-то рисуешь? А то может у тебя там NaN'ы да Inf'ы вылазят...

#42
22:46, 30 июня 2015

убираю строчку - всё нормально.

А что, NaN и Inf могут такое спровоцировать? Просто и правда похоже, что проблема где-то рядом с этим.

#43
22:59, 30 июня 2015

static_cast
> А что, NaN и Inf могут такое спровоцировать?
Ну, если проверок нет - может быть все что угодно. Когда начнет тормозить - посмотри в дебаггере на свои массивы.

#44
23:29, 30 июня 2015

static_cast
> Причем эта дрянь появляется, когда in.some_vec4 присваиваю out.
Вместо

in.some_vec4[ i + j ] = out[ i + j ];

должно быть

in[ i + j ].some_vec4 = out[ i + j ];

не?

Страницы: 1 2 3 4 Следующая »
ПрограммированиеФорумГрафика

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