Перейти к контенту

_ХоЗаР_

Проверенные
  • Число публикаций

    118
  • Регистрация

  • Последнее посещение

  • AMKoin

    4,928 [Подарить AMKoin]

Сообщения опубликованы _ХоЗаР_

  1. @Cornholio Оптимизация GBufer`a делалась после переезда на DX10 (Вполне вероятно что разработчики забили на существование Z-buffera) Оптимизация проводится исходя из того что записать 2 RT намного проще (По производительности), чем 3 RT. Декодирование нормалей, применяемое ПЫС не ест много инструкций, и по факту оказывается дешевле чем просто загрузка еще одной текстуры (Но тут точно не скажу, ибо на встройке это действительно так у меня и было, но вот на видеокарте я разницы практически то и не чувствую). Вообще вопрос хороший. В свое время товарищ @Zagolski писал (Возможно это было не на АМК) что более производительной является распаковка позиции из Z-buffer`a. У него знаний, наверняка, побольше чем у меня.

    12 часов назад, Cornholio сказал:

    Я не программист

    У меня все так же

    • Нравится 1
  2. 05.09.2021 в 04:47, Cornholio сказал:

    А самое плохое - что для честного PBR надо перерисовывать все текстуры

    Честный PBR на пыс текстуры не нужен. Первое время глоссы можно использывать для расчета шероховатости. Для упаковки всех BW карт хватает и двух пыс текстур технических. Карты самосвечения и SSS используются, как правило, не так часто, и не в каждом движке вообще. С некоторыми упущениями правка рендера заключается лишь в передаче цвета (color) в шейдры освещения, и замену типа фильтрации у текстур окружения для просчета IBL (иначе не будет доступа к мип уровням (Для префильтрации можно использывать разные тулзы, я использую модификацию программы от АМД (CubeMapGen вроде)).

     

    05.09.2021 в 04:47, Cornholio сказал:

    выдирай код из Unreal, Unity, Filament

    Ну или еще проще - просто взять и стянуть все с условного репо на гитхабе, там много реализаций PBS. Многие сделаны на статье от Learn OGL. (Самое главное при реализации IBL на рентгене - не забывать учитывать затенение от окружения (У GSC в GBuffer`e оно называется hemi), ну или реализовывать систему проб отражений (что тоже не сложно, на базовом уровне).

     

    05.09.2021 в 04:47, Cornholio сказал:

    некое приближение к физическому отображению свойств света

    Да. Рекомендую почитать статейку Олеся о реализации рендера сталкера. Там есть несколько полезная информация.

    • Согласен 1
  3. 11.06.2021 в 23:47, НаноБот сказал(а):

    Кто знает, как быстро создать CGameObject без создания серверной части

    Насчет без серверной части ничего не могу сказать, но думаю стоит копнуть в сторону спавна в персонажа. Как правило, объекты которые спавнятся в персонажей намного быстрее переходят в онлайн. Еще замечал такую штуку. В мультиплеере, если спавнить предмет в персонажа, у него не возможно получить серверную часть по alife():object(obj:id()). Возможно стоит в ту сторону копать.

  4. @hetrikWHY В ЗП есть метод active_detector. Используется аналогично методу active_item. Думаю он есть и в ЧН.@Norman Eisenherz Давным - давно, (может пол года назад) Когда я переносил сортировку инвентаря из DMX мода на ЗП (Используя только оригинальный движкок, аля челенж такой). Я делал так. Окно на рендер отправлял в текущем вызове. В основном XML инвентаря убирал фон, и рендерил его из фейкового окна. 

  5. 8 минут назад, Cornholio сказал(а):

    я сейчас вот это читаю и осмысливаю

    Прикольная тема. Неплохо показывает себя на плоских поверхностях, да и затрат в производительности почти нет. Не сравниться конечно с настоящими планарами, ибо потери информации тут примерно такие же как и у простых скринспейсов. Вот как выглядят настоящие планары на иксрее. Если позволяют ресурсы, можете их реализовать.

  6. 15 минут назад, Cornholio сказал(а):

    просто заменить на Screen Space Refection

    Можно использывать "перевернутый бекбуфер" как вариант. С мягкой водой его как правило можно не пугаться. Да он не сильно корректный, но в отличии от других скринспейсовых техник, не "дырявый". Вот моя реализация такова вида отражений

    float4 ScreenSpaceLocalReflections (float3 vspos, float3 vsnorm) //Initial beam length
    {
    	float3 refl_vec = normalize(reflect(normalize(vspos), normalize(vsnorm)));
    	float2 reflPos = saturate(position_get_tc(refl_vec)); // We get the pixel position in Screen Space of the reflected geometry
    	
    	float canrefl = refl_vec.z > 0.0 ? 1.0 : 0.0;
    	
    	float4 hit_pos = gbuffer_load_position(reflPos, 1e3); // Sample s_position
    		 
    	canrefl *= smoothstep(length(vspos), length(vspos) * 1.15, length(hit_pos));
    	
    	float borderAtten = GetBorderAtten(reflPos, 0.035f); // Grease the edges of the reflections for a smoother transition
    	
    	float3 color; // Sample Color
    	
    	#ifdef USE_DX9_LOAD
    		color = tex2D(s_image, reflPos);
    	#else
    		color = s_image.Sample(smp_nofilter, reflPos);
    	#endif
    	
    	return float4(color, borderAtten * canrefl);
    }

     

    • Спасибо 1
    • Полезно 1
  7. 27.03.2021 в 00:38, Biblia сказал(а):

    только при условии включенно ПНВ

    Возможно. Проверяете включен ли пнв при отправки модели на конвеер рендера. Рекомендую курить функции связаные с рендером в XrGame.

  8. @ARTLantist, вот что я васянил по этому поводу для Выбора. UIActorMenu_action.cpp

    	{
    	Ivector2 it_cell_pos				= new_owner->PickCell(GetUICursor().GetCursorPosition());
    	CUICellItem* cell = (it_cell_pos.x > -1 && it_cell_pos.y > -1)?new_owner->GetCellAt(it_cell_pos).m_item:NULL;
    	PIItem niitem	= cell ? (PIItem)cell->m_pData : NULL;
    	luabind::functor<void> StackCalback;
    	if (niitem && ai().script_engine().functor("_a.stack_script_calback", StackCalback))
    	StackCalback(CurrentIItem()->object().ID(), niitem->object().ID());
    	}
    
    	if ( old_owner==new_owner)
    	{
    		return false;
    	}

    В _a.stack_script_calback в данном случае идет передача ID объектов, но можно делать напрямую тут, ну или вызывать функцию какую. Это были мои первые потуги в двигоправке, так что может быть быдлокодом.

  9. 14 минут назад, Марка демченков сказал(а):

    Так вопрос - какого хрена он идет как решение Visual studio

    Он не идет как решение VS. Он просто идет в комплекте с Исходным кодом движка, и связан с ним.

     

    15 минут назад, Марка демченков сказал(а):

    что код для С++ Билдера

    Да. 6го или 7го. Точно не помню. Вообще инструкция по сборке есть в сети. Кажется на сайте gameru в сталкерском форуме. Если найду ссылочку прикреплю. 

     

    16 минут назад, Марка демченков сказал(а):

    он компилился в VS

    Собирается он полностью (на самом деле нет, проекты сломаны частично) в билдере.

    • Полезно 1
  10. 1 час назад, XinnogeN XinnogeN сказал(а):

    your video card doesn't meet game requirements try to lower game settings.

    Классический тролинг от разработчиков. Смотрите файл лога. Там будут шейдры, на которые агрится игра. Думаю следует пахать от них.

    • Полезно 2
  11. Только что, XinnogeN XinnogeN сказал(а):

    Т.е. дописать функцию all() будет правильней ?

    В ЗП так вроде так и сделали. По идее этот шейдр влияет на atoc. Сглаживание альфатеста с MSAA. Сам msaa может не работать, а вот эта штука работать должна.

    • Нравится 1
  12. 6 часов назад, XinnogeN XinnogeN сказал(а):

    P == P0 && N == N0

    Недоделка оригинала. Компилятор не может сравнивать трехмерные вектора. Если правильно помню, функция all() выполняет действия по осям.

    Если правильно помню, то этот шейдр включается в расширенных настройках. Там еще строка не зарегистрирована в тексте.

    • Нравится 1
  13. 20.12.2020 в 04:42, Cornholio сказал:

    все хвосты от статики вырезать

    Главное лайтмапы непрямого освещения не вырезайте, без них уж все очень плохо становится.

    20.12.2020 в 04:42, Cornholio сказал:

    а вот при игре - я б выключал

    Согласен

  14. 27.10.2020 в 02:52, Марка демченков сказал:

    чем от друг-друга отличаются рендеры

    Статическое освещение - DX9 рендеринг, используется в основном предпросчитаное освещение.

    Динам. освещение объектов - DX9 отключены большенство пост процесс шейдров, отложенное динамическое освещение (Тень от солнца запечена)

    Полное динамическое освещение - Улучшенное полное освещение - DX9 Полная динамика, из предрасчитаного только затенение  + есть возможность включить SSAO (И аналоги)

    Ул. полное освещение (DX10) - DX10 рендеринг, отличается синтаксис языка шейдров, добавлено намкание и объемный дым, +- технические правки.

    Ул. полное освещение (DX11) - DX11 рендеринг, сломан объемный дым, сломаны шрифты, сломан свет от кастров, появилась тесселяция.

    • Нравится 1
    • Полезно 2

AMK-Team.ru

×
×
  • Создать...