Особенности
- **++(+)++** Каскадные тени;
 - **++(+)++** Расчёт освещения в линейном пространстве;
 - **++(+)++** Physically Based Shading;
 - **++(+)++** ACES Tonemapping and Color Grading;
 - **++(+)++** Screen Space Reflections;
 - **++(+)++** Temporal Anti-Aliasing;
 - **++(+)++** Contact Shadows;
 - **++(+)++** Поддержка пользовательских шейдеров для пост-эффектов и моделей;
 - **!!(-)!!** Использование моделей из .obj, .3ds, .dae, .blend файлов;
 - **!!(-)!!** Модификация .mdx/.mdl формата моделей: добавление карт нормалей и .dds/.blp2 формата текстур;
 - **!!(-)!!** Модификация War3 Model Editor;
 - **!!(-)!!** Добавление новых возможностей в World Editor.
 
Баги:
- Некоторые пост-эффекты работают некорректно при ограниченном viewport.
 
Скриншоты
Установка
Требования:
- WarCraft III patch 1.26a;
 - Windows 7 и выше;
 - Microsoft Visual C++ Redistributable for Visual Studio 2017.
 
Распакуйте архив и запустите RenderEdge.exe. Нажмите F7, чтобы показать меню настроек. Изменить настройки также можно в файле RenderEdge.ini (расположен в архиве RenderEdge_exp.mpq).
В редакторе реестра можно включить опцию, позволяющую загружать файл настроек, шейдеры и текстуры из папки с RenderEdge: HKEY_CURRENT_USER\Software\RenderEdge\AllowLocalFiles. Последовательность поиска ресурсов: загруженная карта, папка с RenderEdge, архив RenderEdge_exp.mpq.
Для подключения RenderEdge к Jass New Gen Pack (exp. 2) отредактируйте файл wehack.lua следующим образом:
wehack.lua
-- # begin RenderEdge #
RenderEdgePath = grim.getregpair("HKEY_CURRENT_USER\\Software\\RenderEdge", "InstallPath")
haveRenderEdge = grim.exists(RenderEdgePath .. "\\RenderEdge.exe")
function toggleRenderEdgeDebug(checked)
    if checked then
		grim.setregdword("HKEY_CURRENT_USER\\Software\\RenderEdge", "Debug", 1)
	else
		grim.setregdword("HKEY_CURRENT_USER\\Software\\RenderEdge", "Debug", 0)
	end
end
function toggleRenderEdgeAllowLocalFiles(checked)
    if checked then
		grim.setregdword("HKEY_CURRENT_USER\\Software\\RenderEdge", "AllowLocalFiles", 1)
	else
		grim.setregdword("HKEY_CURRENT_USER\\Software\\RenderEdge", "AllowLocalFiles", 0)
	end
end
if haveRenderEdge then
	RenderEdgeMenu = wehack.addmenu("RenderEdge")
	
	RenderEdgeEnabled = TogMenuEntry:New(RenderEdgeMenu, "Run with RenderEdge", nil, true)
	
	RenderEdgeDebug = TogMenuEntry:New(RenderEdgeMenu, "Debug Mode", 
	    function(self) toggleRenderEdgeDebug(self.checked) end, false)
	if grim.getregpair("HKEY_CURRENT_USER\\Software\\RenderEdge", "Debug") == 1 then
		wehack.checkmenuentry(RenderEdgeMenu, RenderEdgeDebug, 1)
	else
		wehack.checkmenuentry(RenderEdgeMenu, RenderEdgeDebug, 0)
	end
	
	RenderEdgeAllowLocalFiles = TogMenuEntry:New(RenderEdgeMenu, "Allow Local Files", 
	    function(self) toggleRenderEdgeAllowLocalFiles(self.checked) end, false)
	if grim.getregpair("HKEY_CURRENT_USER\\Software\\RenderEdge", "AllowLocalFiles") == 1 then
		wehack.checkmenuentry(RenderEdgeMenu, RenderEdgeAllowLocalFiles, 1)
	else
		wehack.checkmenuentry(RenderEdgeMenu, RenderEdgeAllowLocalFiles, 0)
	end
end
-- # end RenderEdge #
function testmap(cmdline)
	if haveRenderEdge and RenderEdgeEnabled.checked then
		local pos = string.find(cmdline, ".exe")
		cmdline = string.sub(cmdline, 5 + pos)
		cmdline = RenderEdgePath .. "RenderEdge.exe " .. cmdline
	end
	
	if wh_opengl.checked then
		cmdline = cmdline .. " -opengl"
	end
	if wh_window.checked then
		cmdline = cmdline .. " -window"
	end
	wehack.execprocess(cmdline)
endРедактирование шейдеров
Если вы хотите отредактировать шейдеры, то скачайте архив, распакуйте шейдеры, скомпилируйте и поместите их в папку Shaders. Эту папку вы можете импортировать в карту, разместить в папке RenderEdge или в архиве RenderEdge_exp.mpq.
Скачать шейдеры и fxc.exe.
Скачать шейдеры и fxc.exe.
Компиляция из Visual Studio
Добавьте шейдеры в проект, в его свойствах настройте HLSL Compiler следующим образом:
Компиляция с помощью fxc.exe
@echo off
fxc.exe /T fx_2_0 /Fo Standard.cso Shaders\Standard.fx /nologo
fxc.exe /T fx_2_0 /Fo Shadows.cso Shaders\Shadows.fx /nologo
fxc.exe /T fx_2_0 /Fo PostProcess.cso Shaders\PostProcess.fx /nologo
fxc.exe /T fx_2_0 /Fo Skybox.cso Shaders\Skybox.fx /nologo
pause
Изменения
Следите за разработкой RenderEdge на Trello.
v0.1.3a
  * Добавлена возможность включать/отключать рендеринг различных типов объектов;
  * Добавлена поддержка Индикаторов;
  * Добавлена поддержка Occlusion Mask;
  * Добавлена поддержка Молний;
  * Добавлена поддержка Плавающего текста;
  * Добавлена возможность выбора единиц измерения интенсивности точечных источников света;
  * Добавлены настройки Тумана войны;
  * Добавлена возможность отключать стандартные тени зданий;
  * INIReader: добавлена возможность записи комментариев в одной строке со значением типа string;
  * INIReader: добавлена возможность скрыть игровой интерфейс;
  * Удалены пределы свободной камеры движения;
  * Tonemapper: Blue Correction, Expand Gamut;
  * Изменена интенсивность Bloom на более корректную;
  * Добавлен параметр Calibration Constant для Auto Exposure;
  * Добавлен новый Height Based туман;
  * Сохранение положения камеры после отключения режима Free Camera;
  * Улучшен Screen Space Reflections;
  * Параметр Default Projection Matrix переименован в Constant Vertical FoV;
  * Оптимизирован Auto Exposure;
  * Добавлена возможность приостановить игру (приводит к дисконекту при включении в игре по сети);
  * Улучшена блокировка ввода в режиме Free Camera;
  * Добавлена возможность сделать скриншот;
  * Изменена модель освещения при включенном PBS (может быть изменена обратно в следующей версии);
  * Исправлена ошибка, при которой один из чанков ландшафта не отбрасывал тени;
  * Исправлены некорректный цвет и интенсивность точечных и направленных источников света;
  * Исправлено освещение скайбокса;
  * Исправлен некорректный перехват параметров камеры с нестандартной ближней плоскостью отсечения;
  * Исправлена некорректная работа Contact Shadows с нестандартными плоскостями отсечения камеры;
  * Исправлен эффект параметра Unshaded Materials;
  * Исправлен рендеринг пост-эффектов в главном меню;
  * Исправлено влияние пользовательского интерфейса и направления камеры на Contact Shadows;
  * Исправлено появление черных рамок при отключении параметра User Interface, если они изначально были скрыты;
  * Исправлена работа Screen Space Reflections с включенным Temporal AA;
  * Исправлены графические артефакты при включении и выключении HDR;
  * Исправлена матрица проекции;
  * Исправлено некорректное размытие SSAO с включенным параметром Downsampling
  * Исправлены вылеты при переключении режима V-Sync;
  * Исправлена перезагрузка шейдеров и настроек при загрузке защищенных карт;
  * Исправлен рендеринг теней в главном меню;
  * Исправлена утечка памяти;
  * Исправлены вылеты при смене разрешения экрана;
  * Исправлены вылеты при воспроизведении роликов;
  * Исправлена загрузка ресурсов из RenderEdge_exp.mpq;
  * Исправлены неправильные пути текстур в RenderEdge.ini.
v0.1.2a
  * Добавлена возможность выбора температуры направленного источника света;
  * Добавлена обработка стандартных теней юнитов на воде;
  * Добавлена возможность выбрать единицу измерения интенсивности точечных источников света;
  * Добавлена возможность использовать улучшенную матрицу проекции;
  * Добавлена возможность загрузки текстур и шейдеров из папки с RenderEdge (AllowLocalFiles в реестре);
  * Добавлена возможность загрузки шейдеров из карты;
  * Добавлена опция, позволяющая исправить дрожание скайбокса при перемещении камеры;
  * Чтение настроек из RenderEdge.ini (поиск файла в карте, в папке с RenderEdge (при включенном AllowLocalFiles), в .mpq архивах);
  * Теперь опция Disable Unit Shadows отключает тени юнитов и на земле, и на воде;
  * Уменьшено потребление оперативной памяти при использовании каскадных теней;
  * Снято ограничение на количество объектов, способных одновременно откидывать тени;
  * Улучшено качество теней;
  * Улучшен интерфейс настроек;
  * Улучшен режим свободной камеры: камера от первого лица, нет зависимости от высоты ландшафта;
  * Отключены мягкие тени (можно включить, отредактировав шейдер ShadowCommon.fxh);
  * Тени не рендерятся если игра на паузе;
  * Отображение версии RenderEdge в главном меню игры в правом нижнем углу;
  * Оптимизация Debug Screen;
  * Исправлен баг: модель основания здания имела освещение юнитов вместо ландшафта, и откидывала тени;
  * Исправлена некорректная интенсивность точечных источников света;
  * Игра больше не вылетает при использовании теней;
  * Исправлено периодическое исчезание теней при перемещении и вращении камеры;
  * Тени ландшафта снова работают корректно.
v0.1.1a
  * Добавлены контактные тени (Screen Space Ray-Traced Shadows);
  * Добавлена поддержка погодных эффектов;
  * Добавлен туман для скайбокса;
  * Улучшен Color Grading: добавлена отдельная настройка Shadows, Midtones и Highlights;
  * Добавлена возможность вручную задать гамму монитора: Output Device -  Explicit gamma mapping (LDR);
  * Добавлена возможность выбрать размер текстуры теней;
  * Добавлены расширенные настройки Ambient Occlusion;
  * Добавлена возможность скрыть интерфейс, отключить туман войны и тени юнитов в режиме Default Renderer;
  * Улучшен режим Debug Screen: отображение на весь экран;
  * Оптимизация Auto Exposure;
  * Оптимизация Rendering Pipeline;
  * Добавлены описания exe и dll файлов;
  * Исправлен баг: модели зданий при выборе места строительства не обрабатываются;
  * Исправлена некорректная работа Auto Exposure при ограниченном viewport;
  * Исправлена некорректная работа SSR при включенном Temporal AA;
  * Исправлена некорректная работа пост-эффектов при нестандартных настройках плоскостей отсечения камеры;
  * Исправлено влияние режима свободной камеры на отображение портрета;
  * Исправлено некорректное размытие SSAO при включённом downsampling;
  * Исправлены баги в JassAPI (конвертация real <=> float);
  * Исправлен сдвиг камеры при включении режима свободной камеры;
  * Исправлено влияние высоты ландшафта на высоту свободной камеры.
v0.1.0a
  * Добавлена поддержка анимированных текстур;
  * Добавлена поддержка полупрозрачных моделей;
  * Добавлена поддержка Unshaded материалов;
  * Добавлена поддержка Vertex Color;
  * Добавлена поддержка освещения скайбокса;
  * Добавлена поддержка текстур, размер которых не кратнен степени 2;
  * Улучшена функция скрытия интерфейса;
  * Улучшен Sky Light: добавлен параметр Blend Factor;
  * Улучшен Debug Point Light: добавлена возможность вручную задать координаты;
  * Улучшен Image Based Lighting;
  * Использование пиксельных отражений;
  * Добавлен параметр Culling Mode для теней;
  * Добавлена возможность выбрать формат и цветовое пространство монитора;
  * Добавлен Temporal Anti-Aliasing;
  * Добавлен эффект Screen Space Reflections;
  * Добавлен эффект Auto Exposure (UE4);
  * Улучшен Chromatic Aberration;
  * Обновлён SSAO: заменён на Scalable Ambient Obscurance;
  * Улучшен Bloom (увеличен максимальный радиус, добавлена возможность растянуть по   * горизонтали или вертикали);
  * Сохранение пропорций Lens Dirt текстуры при любом соотношении сторон экрана;
  * Сглаживание теперь применяется до остальных пост-эффектов;
  * Оптимизация Color Grading (запекание в LUT текстуру);
  * Отображение пост-эффектов только в пределах viewport;
  * Убрана возможность использовать Irradiance текстуру в качестве источника ambient освещения;
  * Убрана возможность включить улучшенную воду;
  * Загрузка и создание текстур и эффектов только по мере необходимости;
  * Обновлен конвертер d3d8 в d3d9;
  * Исправлен баг, при котором для юнитов и ландшафта использовался один и тот же направленный источник освещения;
  * Исправлены вылеты при рубке деревьев с включенными тенями;
  * Исправлены вылеты при сворачивании игры с включенными тенями;
  * Исправлены вылеты при включении режима свободной камеры;
  * Исправлены вылеты при установке маленького радиуса в эффекте Bloom;
  * Исправлено сворачивание запущенной в полноэкранном режиме игры при переключении режима вертикальной синхронизации;
  * Исправлено растягивание экрана при включенном интерфейсе и тенях;
  * Исправлена утечка памяти при включенном интерфейсе и пост эффектах;
  * Исправлено некорректное отображение SSAO при включённом режиме свободной камеры;
  * Исправлена функция проекции SSAO и SSR текстур на экран;
  * Исправлена некорректная гамма коррекция скайбокса при включенной пост-обработке;
  * Исправлена некорректная работа Dithering;
  * Исправлен некорректный цвет стандартных точечных источников света;
  * Запрет на отключение интерфейса и включение режима свободной камеры в главном меню игры и во время загрузки карты;
  * Динамическая очистка неиспользуемой памяти, занимаемой тенями;
  * Исправлено некорректное значение параметров Height и Density при использовании тумана;
  * Исправлена загрузка текстур из .mpq архивов;
  * Исправлена некорректная яркость точечных источников света.
v0.0.2a
  * Новый пост-эффект Bloom;
  * Добавлены настройки Lens Dirt;
  * Добавлена возможность протестировать самосветящиеся материалы (см. вкладку Material);
  * Unshaded материалы выключены по умолчанию, их можно включить на вкладке Material;
  * Исправлены проблемы с конвертацией цвета стандартных источников света/тумана в линейное пространство;
  * Исправлена проблема, при которой нельзя было менять освещение в картах, где была вызваны функция SetDayNightModels("", "");
  * Добавлен счётчик памяти, используемой варкрафтом;
  * Debug Screens теперь работают.
v0.0.1a
  * Первая стабильная сборка.
                                RENDEREDGE
                            

































                            
                            
                            
                            
                            
Ред. ENAleksey
Цветофильтры не обрабатываются у ещё не созданных игроком объектов (когда мышкой выбираешь на каком месте будет стоять здание здание), а так же в некоторых анимациях у юнитов или при клике на юнита (например у древа ветров)
Не работают пост эффекты на миникарту и иной интерфейс, а хотелось бы. Или хотя бы на лицевую-модель юнита.
А, все, господа. Я понял о каком фпсе вы говорите.
Ред. ENAleksey
DemonoiD:
DemonoiD:
DemonoiD:
DemonoiD:
DemonoiD:
WIP: Contact Shadows
- 
                                    
                                        
                                        cs13.png
                                    
                                
 
                            
                        
                            
                                - 
                                    
                                        
                                        cs12.png
                                    
                                
 
                            
                        
                            
                                - 
                                    
                                        
                                        cs11.png
                                    
                                
 
                            
                        
                            
                                - 
                                    
                                        
                                        cs.png
                                    
                                
 
                            
                        
                    
Полный списокРед. ENAleksey
При наличии огромного числа анимированных теней, можно просто снижать их качество. Так же как делают с текстурами в любой современной игре.
Ред. ENAleksey
А про низкий фпс я писал в начале предыдущей страницы.
DemonoiD:
Ред. DemonoiD
С такой стилистикой, но если изменить голубой на черный, черный на белый и добавить какой-то яркий цвет от эффектов типа синего или красного, можно создавать карты про слепых персонажей (и в будущем игроков, играющих с такой цветокорекцией)
Возможно ли при включении теней в RE, выключать автоматически стандартные тени war3?
Возможно ли при огромном количестве объектов сцены, убирать с просчета лишние тени по приоритету? (Зачем мне тень маленьких светлячков древа долголетия, если все лагает?)
Disable Fog of War - отключает стандартные тени зданий, но ещё и туман войны. Отключить только тени пока нельзя.
Ред. ENAleksey
Вот функция, которая исправляет зависимость высоты камеры от высоты ландшафта: