Просмотр исходного кода

setup menu: added a lot of parameters and reorganized some

master
rez Sam Hocevar <sam@hocevar.net> 12 лет назад
Родитель
Сommit
f345590a7b
1 измененных файлов: 67 добавлений и 15 удалений
  1. +67
    -15
      neercs/video/render.cpp

+ 67
- 15
neercs/video/render.cpp Просмотреть файл

@@ -122,7 +122,7 @@ char const *setup_text[] = {
"small corner", "small corner",
"", "",
"blur", "blur",
"blur enable", "enable",
"blur center", "blur center",
"blur corner", "blur corner",
"", "",
@@ -131,6 +131,7 @@ char const *setup_text[] = {
"", "",
"", "",
"color", "color",
"postfx enable",
"filter red", "filter red",
"filter green", "filter green",
"filter blue", "filter blue",
@@ -138,16 +139,24 @@ char const *setup_text[] = {
"contrast", "contrast",
"grayscale", "grayscale",
"", "",
"",
"modifier", "modifier",
"deform ratio", "deform ratio",
"retrace color", "retrace strength",
"retrace length", "retrace length",
"retrace speed", "retrace speed",
"",
"",
"",
"",
"noise",
"offset h", "offset h",
"offset v", "offset v",
"noise", "noise",
"aberration", "aberration",
"",
"",
"",
"",
"moire", "moire",
"h base", "h base",
"h variable", "h variable",
@@ -175,15 +184,15 @@ vec2 remanency(0.3f,0.7f); // remanency [source mix,buffer mix]
vec2 glow_mix(0.5f,0.5f); // glow mix [source mix,glow mix] vec2 glow_mix(0.5f,0.5f); // glow mix [source mix,glow mix]
vec2 glow_large(2.0f,2.0f); // large glow radius [center,corner] vec2 glow_large(2.0f,2.0f); // large glow radius [center,corner]
vec2 glow_small(1.0f,1.0f); // small glow radius [center,corner] vec2 glow_small(1.0f,1.0f); // small glow radius [center,corner]
vec2 blur(0.25f,0.75f); // glow radius [center,corner] vec2 blur(0.25f,0.5f); // glow radius [center,corner]
//vec3 radial(2.0f,0.8f,0); // radial [mix,strength,color mode] //vec3 radial(2.0f,0.8f,0); // radial [mix,strength,color mode]
//------------------------------// [IDEAS] http://www.youtube.com/watch?v=d1qEP2vMe-I //------------------------------// [IDEAS] http://www.youtube.com/watch?v=d1qEP2vMe-I
float postfx_deform = 0.625f; // deformation ratio float postfx_deform = 0.7f; // deformation ratio
vec3 postfx_filter(0.875f,0.75f,1.0f);// color filter [red,green,blue] vec3 postfx_filter(0.8f,0.9f,0.4f);// color filter [red,green,blue]
vec3 postfx_color(1.8f,1.8f,0.5f); // color modifier [brightness,contrast,grayscale] vec3 postfx_color(1.8f,1.8f,0.5f); // color modifier [brightness,contrast,grayscale]
vec3 postfx_retrace(0.04f,2.0f,4.0f); // retrace [color,length,speed] vec3 postfx_retrace(0.05f,2.0f,4.0f); // retrace [strength,length,speed]
vec2 postfx_offset(3.0f,3.0f); // random line [horizontal,vertical] vec2 postfx_offset(3.0f,3.0f); // random line [horizontal,vertical]
float postfx_noise = 0.125f; // noise float postfx_noise = 0.15f; // noise
float postfx_aberration = 3.0f; // chromatic aberration float postfx_aberration = 3.0f; // chromatic aberration
bool postfx_moire = true; // moire bool postfx_moire = true; // moire
vec4 postfx_moire_h(0.75f,-0.25f,0.0f,1.0f); vec4 postfx_moire_h(0.75f,-0.25f,0.0f,1.0f);
@@ -206,16 +215,48 @@ vec4 setup_var[]={
vec4(0, 1, 1, 0), vec4(0, 1, 1, 0),
vec4(0.0f, 1.0f, 0.1f, glow_mix.x), vec4(0.0f, 1.0f, 0.1f, glow_mix.x),
vec4(0.0f, 1.0f, 0.1f, glow_mix.y), vec4(0.0f, 1.0f, 0.1f, glow_mix.y),
vec4(0.0f, 4.0f, 0.05f, glow_large.x), vec4(0.0f, 4.0f, 0.1f, glow_large.x),
vec4(0.0f, 4.0f, 0.05f, glow_large.y), vec4(0.0f, 4.0f, 0.1f, glow_large.y),
vec4(0.0f, 2.0f, 0.05f, glow_small.x), vec4(0.0f, 2.0f, 0.1f, glow_small.x),
vec4(0.0f, 2.0f, 0.05f, glow_small.y), vec4(0.0f, 2.0f, 0.1f, glow_small.y),
vec4(0), vec4(0),
vec4(0), /* blur */ vec4(0), /* blur */
vec4(0, 1, 1, 0), vec4(0, 1, 1, 0),
vec4(0.0f, 2.0f, 0.05f, blur.x), vec4(0.0f, 2.0f, 0.1f, blur.x),
vec4(0.0f, 2.0f, 0.05f, blur.y), vec4(0.0f, 2.0f, 0.1f, blur.y),
vec4(0) /* color */ vec4(0),
vec4(0),
vec4(0),
vec4(0),
vec4(0),
vec4(0), /* color */
vec4(0, 1, 1, 0),
vec4(0.0f, 1.0f, 0.1f, postfx_filter.x),
vec4(0.0f, 1.0f, 0.1f, postfx_filter.y),
vec4(0.0f, 1.0f, 0.1f, postfx_filter.z),
vec4(0.0f, 4.0f, 0.1f, postfx_color.x),
vec4(0.0f, 4.0f, 0.1f, postfx_color.y),
vec4(0.0f, 1.5f, 0.1f, postfx_color.z),
vec4(0),
vec4(0), /* modifier */
vec4(0.0f, 1.0f, 0.05f, postfx_deform),
vec4(0.0f, 1.0f, 0.05f, postfx_retrace.x),
vec4(0.0f, 8.0f, 1.0f, postfx_retrace.y),
vec4(0.0f, 8.0f, 1.0f, postfx_retrace.z),
vec4(0),
vec4(0),
vec4(0),
vec4(0),
vec4(0), /* noise */
vec4(0.0f, 4.0f, 0.5f, postfx_offset.x),
vec4(0.0f, 4.0f, 0.5f, postfx_offset.y),
vec4(0.0f, 1.0f, 0.05f, postfx_noise),
vec4(0.0f, 5.0f, 0.5f, postfx_aberration),
vec4(0),
vec4(0),
vec4(0),
vec4(0),
vec4(0)
}; };


void Render::UpdateVar() void Render::UpdateVar()
@@ -233,6 +274,17 @@ void Render::UpdateVar()
m_shader_blur = (setup_var[k].w == 1) ? true : false; k++; m_shader_blur = (setup_var[k].w == 1) ? true : false; k++;
blur = vec2(setup_var[k].w, setup_var[k + 1].w); k += 2; blur = vec2(setup_var[k].w, setup_var[k + 1].w); k += 2;
k += 6; k += 6;
m_shader_postfx = (setup_var[k].w == 1) ? true : false; k++;
postfx_filter = vec3(setup_var[k].w, setup_var[k + 1].w, setup_var[k + 2].w); k += 3;
postfx_color = vec3(setup_var[k].w, setup_var[k + 1].w, setup_var[k + 2].w); k += 3;
k += 2;
postfx_deform = setup_var[k].w; k++;
postfx_retrace = vec3(setup_var[k].w, setup_var[k + 1].w, setup_var[k + 2].w); k += 3;
k += 5;
postfx_offset = vec2(setup_var[k].w, setup_var[k + 1].w); k += 2;
postfx_noise = setup_var[k].w; k++;
postfx_aberration = setup_var[k].w; k++;
k += 5;
} }


Shader *shader_simple; Shader *shader_simple;


||||||
x
 
000:0
Загрузка…
Отмена
Сохранить