Emulators & FAQ for SONY PlayStation Эмуляторы SONY PlayStation и Руководства по настройке

Реклама
Оцените пожалуйста - Модификация шейдера для лучшей графики.
(0)
Рейтинг темы: голосов - 0, средняя оценка - .

Ответ
 
Опции темы
Старый 08.05.2020, 13:02   #1
Person Of The Community
 
Регистрация: 08.05.2020
Пол: Мужской Мужской
Сообщений: 89
DanilaZabiaka - просто великолепная личностьDanilaZabiaka - просто великолепная личностьDanilaZabiaka - просто великолепная личностьDanilaZabiaka - просто великолепная личностьDanilaZabiaka - просто великолепная личностьDanilaZabiaka - просто великолепная личностьDanilaZabiaka - просто великолепная личность
Хорошо Модификация шейдера для лучшей графики             

Я ещё и автор сборки PotPlayer с охрененными субтитрами, сглаживанием и корректеровкой цвета (кому интересно, могут на рутрекере набрать, NS моя сборка)

В общем с цветами жопа в этих ПК на самом деле. Яркостный диапазон, как известно, 0-255. Так вот, те 0-255, что даёт ЛСД дисплеи и ЭЛТ очень разные. В ЛСД чёрный слишком чёрный, а белый слишком белый


Да и вообще! В реальности объекты имеют текстуру, в ЭЛТ и прочих дисплеях текстура была за счёт матрицы, да и сам аналоговый шум сглаживал даже цифровой сигнал, в итоге всё выглядело лучше


И это исправимо шейдерами, только чото кодеры сосут жопу. И в EPSXE там шейдеры неправильно организованы, их люди не затрагивают, после небольшого изучения я добавил в натуральный, ну и CRT шейдеры корректировку уровней (задать точку чёрного-белого, добавление шума, который текстурирует саму картинку)

Нажмите







https://vk.com/doc593313993_548232492 - кто не в теме, надо положить в папку epsxe\shaders и в настройках плагина Opengl2 поставим галочку на SHADER EFFECTS - можно выбрать шейдерлевел на какой надо


ВАЖНО. Там есть настройка интенсивности шейдера! Когда Delete жмёшь и можно выбрать shader level - он работает с переменной


Кстати, шейдером можно управлять вручную (кроме иненсивности, для этого шатаем переменны #defines эмуль на паузу ставим и можно уровень шума, белого чёрного и тд задать. После возобновления шейдер подхватится


Или вот код

gpuPeteOGL2.slf
Код:
//patched by Danila Zabiaka - white black noise
#define white 236.0
#define black 10.0
#define noise 10.0
#define offset -25.0
float pseudoNoise(vec2 co)
{
return fract(sin(dot(co.xy ,vec2(12.9898,78.233))) * 43758.5453)*fract(sin(dot(co.xy ,vec2(12.9898,78.233)*2.0)) * 43758.5453); //pseudo random number generator
}


uniform sampler2D OGL2Texture;


const vec3 RGBtoY = vec3(0.299, 0.587, 0.114);
const vec3 RGBtoI = vec3(0.596,-0.275,-0.321);
const vec3 RGBtoQ = vec3(0.212,-0.523, 0.311);
const vec3 YIQtoR = vec3(1.0, 0.95568806036115671171, 0.61985809445637075388);
const vec3 YIQtoG = vec3(1.0,-0.27158179694405859326,-0.64687381613840131330);
const vec3 YIQtoB = vec3(1.0,-1.10817732668266195230, 1.70506455991918171490);


void main()
{
	vec3 c0, c1;


	c0 = (texture2D(OGL2Texture,gl_TexCoord[0].xy).rgb +
         (texture2D(OGL2Texture,gl_TexCoord[0].zy).rgb) * 0.25 +
         (texture2D(OGL2Texture,gl_TexCoord[0].xw).rgb) * 0.25 +
         texture2D(OGL2Texture,gl_TexCoord[1].xy).rgb +
         (texture2D(OGL2Texture,gl_TexCoord[1].zy).rgb) * 0.25 +
         (texture2D(OGL2Texture,gl_TexCoord[1].xw).rgb) * 0.25 +
         texture2D(OGL2Texture,gl_TexCoord[2].xy).rgb +
         (texture2D(OGL2Texture,gl_TexCoord[2].zy).rgb) * 0.25 +
         (texture2D(OGL2Texture,gl_TexCoord[2].xw).rgb) * 0.25 +
         texture2D(OGL2Texture,gl_TexCoord[3].xy).rgb +
         (texture2D(OGL2Texture,gl_TexCoord[3].zy).rgb) * 0.25 +
         (texture2D(OGL2Texture,gl_TexCoord[3].xw).rgb) * 0.25 ) / 6.0;


	c1 = vec3(pow(dot(c0, RGBtoY), 1.2), dot(c0, RGBtoI) * 1.2, dot(c0, RGBtoQ) * 1.2);


	gl_FragColor = vec4(dot(c1, YIQtoR), dot(c1, YIQtoG), dot(c1, YIQtoB), 0.0);
	gl_FragColor = gl_FragColor *white/255.0+black/255.0-gl_FragColor*black/255.0+(pseudoNoise(gl_TexCoord[0].xy)+offset/100.0)*noise/100.0;
}


gpuPeteOGL2.slv
Код:
uniform vec4 OGL2Param;


void main()
{
	gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;


	gl_TexCoord[0]=gl_MultiTexCoord0.xyxy+vec4(-0.5,-0.5,-1.5,-1.5) * OGL2Param.xyxy*2;
	gl_TexCoord[1]=gl_MultiTexCoord0.xyxy+vec4( 0.5,-0.5, 1.5,-1.5) * OGL2Param.xyxy*2;
	gl_TexCoord[2]=gl_MultiTexCoord0.xyxy+vec4(-0.5, 0.5,-1.5, 1.5) * OGL2Param.xyxy*2;
	gl_TexCoord[3]=gl_MultiTexCoord0.xyxy+vec4( 0.5, 0.5, 1.5, 1.5) * OGL2Param.xyxy*2;
}
DanilaZabiaka вне форума  
Ответить с цитированием
Эти 5 пользователи сказали Спасибо DanilaZabiaka за это сообщение:
Реклама

Старый 10.05.2020, 18:07   #2
PSX Planet Elite Supporter
 
Аватар для SlavaVlasov
 
Регистрация: 08.08.2008
Пол: Мужской Мужской
Сообщений: 1,272
SlavaVlasov репутация неоспоримаSlavaVlasov репутация неоспоримаSlavaVlasov репутация неоспоримаSlavaVlasov репутация неоспоримаSlavaVlasov репутация неоспоримаSlavaVlasov репутация неоспоримаSlavaVlasov репутация неоспоримаSlavaVlasov репутация неоспоримаSlavaVlasov репутация неоспоримаSlavaVlasov репутация неоспоримаSlavaVlasov репутация неоспорима
По умолчанию Ответ: Модификация шейдера для лучшей графики             

Скрины зачетные, а текст читать трудно
__________________
Я - геймер с чувством юмора.
P.S.: C2 EE F2 20 F2 E0 Ea E0 FF 20 F3 20 EC E5 ED FF 20 EF EE E4 EF E8 F1 FC 20 3D 29

Русские и английские обложки PS1. Собственные сканы. Обновлено: 15.03.2024 =)
Список фанатских переводов PS1
SCPH-5502 C
SlavaVlasov вне форума  
Ответить с цитированием
Старый 03.06.2020, 02:14   #3
Person Of The Community
 
Регистрация: 08.05.2020
Пол: Мужской Мужской
Сообщений: 89
DanilaZabiaka - просто великолепная личностьDanilaZabiaka - просто великолепная личностьDanilaZabiaka - просто великолепная личностьDanilaZabiaka - просто великолепная личностьDanilaZabiaka - просто великолепная личностьDanilaZabiaka - просто великолепная личностьDanilaZabiaka - просто великолепная личность
По умолчанию Смарите чо могу я всё починил кароч и ретроарч тоже             

После


До





Ещё пример





Ретроарч уже настроен, шейдер управляется легко, управление выглядит так


WASD- стрелки
QE - start/select . В самом эмуляторе Select показывает справку о команде, Start сбрасывает параметр в значение по умолчанию

IO-/\O
KL-[]X
JU-L1L2
;P-R1R2
F - fullscreen
esc - меню


Эмулятор вот так






Шейдер







Скачать торрентом https://vk.com/doc275347426_554274180


Ну или с гитхаба напрямую, это не то что исходник, а чисто папка с эмулятором какой пользуюсь такую и залил


https://github.com/noiseshaade/RetroArch-vape
DanilaZabiaka вне форума  
Ответить с цитированием
Эти 2 пользователи сказали Спасибо DanilaZabiaka за это сообщение:
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
4 Лучших Шейдера для видео плагина Pete's OpenGL2 Driver 2.9 + (Настройки) Dj G - Han Обсуждение эмуляции SONY PlayStation 30 22.08.2022 15:17
Сравнение графики эмуляции ps3 и ps2 Dohorox Игры 0 23.05.2015 22:38
Nintendo: геймплей важнее графики Allleks Game World News 2 05.04.2012 21:10
Crysis 2 превзойдет уровень графики Uncharted 2 TylerDurden Game World News 3 11.02.2010 14:51
У Playstation 4 будет невероятный уровень графики TylerDurden Game World News 27 27.11.2009 15:27


Часовой пояс GMT +3, время: 11:26.


© PSX Planet Community 2003-2023

PSX Planet Banner W.M.C. Models Banner