PSX Planet: SONY PlayStation Community  


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

Реклама
Rate This Thread - Модификация шейдера для лучшей графики.
(0)
Thread Rating: 0 votes, average.

Reply
 
Thread Tools
Old 08-05-2020, 13:02   #1
Person Of The Community
 
Join Date: May 2020
Gender: Male Male
Posts: 37
DanilaZabiaka скоро придёт к известности
Хорошо Модификация шейдера для лучшей графики             

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

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


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


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

Click here to see full text







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


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


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


Или вот код

gpuPeteOGL2.slf
Code:
//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
Code:
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 is offline  
Reply With Quote
Реклама

Old 10-05-2020, 18:07   #2
Person Of The Community
 
SlavaVlasov's Avatar
 
Join Date: Aug 2008
Gender: Male Male
Posts: 578
SlavaVlasov репутация неоспоримаSlavaVlasov репутация неоспоримаSlavaVlasov репутация неоспоримаSlavaVlasov репутация неоспоримаSlavaVlasov репутация неоспоримаSlavaVlasov репутация неоспоримаSlavaVlasov репутация неоспоримаSlavaVlasov репутация неоспоримаSlavaVlasov репутация неоспоримаSlavaVlasov репутация неоспоримаSlavaVlasov репутация неоспорима
Default Ответ: Модификация шейдера для лучшей графики             

Скрины зачетные, а текст читать трудно
__________________
Я - геймер с чувством юмора.
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. Собственные сканы. Обновлено: 02.07.2020
SlavaVlasov is offline  
Reply With Quote
Old 03-06-2020, 02:14   #3
Person Of The Community
 
Join Date: May 2020
Gender: Male Male
Posts: 37
DanilaZabiaka скоро придёт к известности
Default Смарите чо могу я всё починил кароч и ретроарч тоже             

После


До





Ещё пример





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


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 is offline  
Reply With Quote
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
4 Лучших Шейдера для видео плагина Pete's OpenGL2 Driver 2.9 + (Настройки) Dj G - Han Обсуждение эмуляции SONY PlayStation 24 03-08-2019 17:31
Сравнение графики эмуляции 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


All times are GMT +3. The time now is 11:44.


Powered by vBulletin® Version 3.7.0
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
© PSX Planet Community 2003-2018

PSX Planet Banner W.M.C. Models Banner