about summary refs log tree commit diff stats
path: root/VERSION
Commit message (Collapse)AuthorAgeFilesLines
* Released v0.6.3Star Rauchenberger2024-01-191-1/+1
|
* Released v0.6.2Star Rauchenberger2024-01-121-1/+1
|
* Released v0.6.1Star Rauchenberger2023-11-281-1/+1
|
* Released v0.6.0Star Rauchenberger2023-11-171-1/+1
|
* Released v0.5.7Star Rauchenberger2023-11-101-1/+1
|
* Released v0.5.6Star Rauchenberger2023-11-101-1/+1
|
* Released v0.5.5Star Rauchenberger2023-11-091-1/+1
|
* Added VERSION fileStar Rauchenberger2023-10-191-0/+1
s='oid'>0751446 ^
ed08b67 ^

cd48894 ^
1e8de01 ^
de5a458
1e8de01 ^
de5a458
e3e5a24 ^
1e8de01 ^
e3e5a24 ^
de5a458

0751446 ^
de5a458
e3e5a24 ^
de5a458



e3e5a24 ^
de5a458














783b308 ^


783b308 ^








0751446 ^
783b308 ^
5986041 ^
783b308 ^



cd48894 ^
783b308 ^
224645d ^
de5a458
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75


                 


                   
 
               



                               
                                   
                                 
                                
                                    
                                     

                                              
                                          
                                                
                                     
                                               
 
                        
                        
 

                       
                                                          
  
                                   



                                                               
                                                                               














                                                                                 


                                        








                                                                                
                                       
                                              
                                                  



                                                                
                                                                                
  
                    
 
#version 330 core

in vec2 UV;
in vec3 normIn;
in vec3 camDirIn;
in vec3 lightDirIn;

out vec4 color;

uniform sampler2D rendertex;
uniform sampler2D scanlinestex;

const float Tuning_Overscan = 1.08;
const float Tuning_Dimming = 0.0;
const float Tuning_Satur = 1.13;
const float Tuning_ReflScalar = 0.3;
const float Tuning_Barrel = 0;//0.12;
const float Tuning_Scanline_Brightness = 0.55;
const float Tuning_Scanline_Opacity = 0.55;
const float Tuning_Diff_Brightness = 0.75;
const float Tuning_Spec_Brightness = 0.5;//0.35;
const float Tuning_Spec_Power = 50.0;
const float Tuning_Fres_Brightness = 0.0;//1.0;

uniform vec2 resolution;
uniform vec3 frameColor;

vec4 sampleCRT(vec2 uv)
{
  vec2 CRTMask_Scale = vec2(320.0,200.0) / vec2(2.0, 1.0);
  
  vec2 scanuv = uv * CRTMask_Scale;
  vec3 scantex = texture(scanlinestex, scanuv).rgb;
  scantex += Tuning_Scanline_Brightness;
  scantex = mix(vec3(1,1,1), scantex, Tuning_Scanline_Opacity);
  
  vec2 overscanuv = (uv * Tuning_Overscan) - ((Tuning_Overscan - 1.0f) * 0.5f);
  overscanuv = overscanuv - vec2(0.5, 0.5);
  float rsq = (overscanuv.x*overscanuv.x) + (overscanuv.y*overscanuv.y);
  overscanuv = overscanuv + (overscanuv * (Tuning_Barrel * rsq)) + vec2(0.5,0.5);
  
  vec3 comptex = texture(rendertex, overscanuv).rgb;
  
  vec4 emissive = vec4(comptex * scantex, 1);
  float desat = dot(vec4(0.299, 0.587, 0.114, 0.0), emissive);
  emissive = mix(vec4(desat, desat, desat, 1), emissive, Tuning_Satur);
  
  return emissive;
}

void main()
{
  vec3 norm = normalize(normIn);
  vec3 camDir = normalize(camDirIn);
  vec3 lightDir = normalize(lightDirIn);
  
  float diffuse = clamp(dot(norm, lightDir), 0.0f, 1.0f);
  vec4 colordiff = vec4(0.175, 0.15, 0.2, 1) * diffuse * Tuning_Diff_Brightness;
  
  vec3 halfVec = normalize(lightDir + camDir);
  float spec = clamp(dot(norm, halfVec), 0.0f, 1.0f);
  spec = pow(spec, Tuning_Spec_Power);
  vec4 colorspec = vec4(0.25, 0.25, 0.25, 1) * spec * Tuning_Spec_Brightness;
  
  float fres = 1.0 - dot(camDir, norm);
  fres = (fres*fres) * Tuning_Fres_Brightness;
  vec4 colorfres = vec4(0.45, 0.4, 0.5, 1) * fres;
  
  vec4 emissive = sampleCRT(UV);
  
  vec4 nearfinal = colorfres + colordiff + colorspec + emissive;
  //vec4 final = nearfinal * mix(vec4(1,1,1,1), vec4(0,0,0, 0), Tuning_Dimming);
  
  color = nearfinal;
}