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

Тестирование софт рендера Quake. (3 стр)

Страницы: 1 2 3 4 521 Следующая »
#30
12:04, 5 сен. 2016

Truthfinder
С качеством картинки вроде все ок, ошибок не увидел)
Билинейка будет?)


#31
12:33, 5 сен. 2016

barnes

> С качеством картинки вроде все ок, ошибок не увидел)

Они есть, если знать куда смотреть. Но уже несущественные.

> Билинейка будет?)

Планируется. Но не на текущей реализации. Я переделываю цвет из float4 в byte4. Текущий вариант итак не шустрый, а это просто линейка, а билинейка ударит ещё раза в два сильнее. (При этом трилинейка от билинейки уже не будет так критично отличаться). Даже частичный переход на byte4 позволит обрабатывать по 2-4 пикселя за раз, вместо 1 при формате float4.

Линейка тоже станет существенно шустрее, если считывать по 2 текселя за раз. Но это уже оптимизация. А оптимизировать float4 дальше считаю тратой времени.

#32
19:56, 5 сен. 2016

Ага, я понял. А то что намутил Хавок в даркплейсиз вы видели? Он помнится даже шейдера софтово выводил

#33
20:49, 5 сен. 2016

barnes
> Ага, я понял. А то что намутил Хавок в даркплейсиз вы видели? Он помнится даже
> шейдера софтово выводил

Мне бы столько времени и энергии ;) Я пока даже вещи попроще не успеваю.

Я в игру вообще не лезу.  Я пишу внешнюю dll. А он походу залез и наменял куда больше.
Там и эффекты новые. И графика получше оригинала.

Я же по факту пытаюсь реализовать opengl32.dll настолько, насколько мне не надоест. Изначально я в это влез просто ради интереса, насколько SSE - AVX в состоянии ускорить рендеринг 3D графики.

#34
20:53, 5 сен. 2016

Как человек, кучу времени проигравший в квейка, скажу что в динамике рендер от оригинала малоотличим. Только притормаживает.

+ Показать
+ Показать
+ Показать
+ Показать
#35
23:06, 5 сен. 2016

Truthfinder
> Только притормаживает.
А у тебя вот этот рендер вырос из конкурсного, или с нуля делал?
И как там у тебя по многопоточности? Сегодня считать в один поток наверное совсем было бы зря.

#36
23:38, 5 сен. 2016

Truthfinder
> Что интересно для статистики
На i7 4770 в окне 1024х768 дает вполне играбельные 31 фпс. Замерено по timedemo demo1.

#37
3:26, 6 сен. 2016

Truthfinder
> Как человек, кучу времени проигравший в квейка, скажу что в динамике рендер от оригинала малоотличим. Только притормаживает.

+ Показать

баг с освещением на nailgun-е хорошо виден, и у воды какие-то точки непонятные :)
но итог явно лучше софтверного рендерера

Truthfinder
> Даже частичный переход на byte4 позволит обрабатывать по 2-4 пикселя за раз,
> вместо 1 при формате float4
хм, а разве SSE инструкции не для массовой обработки float-ов?

#38
6:02, 6 сен. 2016

Truthfinder
Чё-то с альфой на воде не так, как надо.

Кстати, лучше прозрачность не включать, т. к. чтобы она работала, надо r_novis 1 делать. А это даст дополнительные просадки fps.

#39
6:17, 6 сен. 2016

122
> А у тебя вот этот рендер вырос из конкурсного, или с нуля делал?

Я накидал библиотеку opengl32.dll, и вставил в неё отточенную из конкурса отрисовку треугольника на SIMD floar4. Понятно что в конкурсе я не использовал depth, alpha, blend, mipmap, bilinear. Всё уже дописывал.

> И как там у тебя по многопоточности? Сегодня считать в один поток наверное
> совсем было бы зря.

Руки не дошли. Должна быть. Скорее всего построчная % 8.

#40
6:19, 6 сен. 2016

Panur
> А чем твой вариант софт рендера отличается от тогоже qbism Super8 ?

Не знаю. Я сравниваю только с тем, что вижу при запуске с удалённой рукописной opengl32.dll (то есть с рендерингом видеокартой).

#41
6:28, 6 сен. 2016

skalogryz
> баг с освещением на nailgun-е хорошо виден,

Да, действительно. Надо будет исправить.


> хм, а разве SSE инструкции не для массовой обработки float-ов?

Не то слово. Начиная с SSE2 там очень полезный функционал на целочисленных операций. Например одна из мощных инструкций psadbw.

FOR j := 0 to 15
  i := j*8
  tmp[i+7:i] := ABS(a[i+7:i] - b[i+7:i])
ENDFOR
FOR j := 0 to 1
  i := j*64
  dst[i+15:i] := tmp[i+7:i] + tmp[i+15:i+8] + tmp[i+23:i+16] + tmp[i+31:i+24] + tmp[i+39:i+32] + tmp[i+47:i+40] + tmp[i+55:i+48] + tmp[i+63:i+56]
  dst[i+63:i+16] := 0
ENDFOR

И вот это всё за 1 инструкцию.

skalogryz
> и у воды какие-то точки непонятные
Panzerschrek[CN]
> Чё-то с альфой на воде не так, как надо.

paint.net очень странно сохраняет поверхности с альфой. В реале там всё правильно выглядит. Косячат на скринах прозрачная вода, лава, порталы.

На скрине с отключенной прозрачностью видно что всё нормально. Ну и z-fighting у платформы в воде.

+ Показать

#42
6:30, 6 сен. 2016

Panzerschrek[CN]
> Кстати, лучше прозрачность не включать, т. к. чтобы она работала, надо r_novis
> 1 делать. А это даст дополнительные просадки fps.

Ну отключи в настройках.  Мне это надо чтобы скорость блендинга учитывалась при тестировании.

#43
17:06, 6 сен. 2016

Panur
> Покрайней мере на него можно ровняться, или просто попускать слюни:

Я не работаю с геометрией. Только на уровне треугольников. И контентом по сути не управляю.

#44
9:13, 7 сен. 2016

Кто в курсе как работает glTexEnv? В каких случаях GL_TEXTURE_ENV_MODE должно сбрасывается на дефолтное?

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