//pixelcolour with ambient
//pixelcolour = vec4(textureshade*shadescale + ambient* textureshade+ textureshade*diffuseshadescale, 1.0);
//ambient
pixelcolour += vec4(ambient*textureshade,1.0);
//diffuse
//pixelcolour += vec4(textureshade*diffuseshadescale, 1.0);
//ambient && diffuse
//pixelcolour += vec4(ambient* textureshade+ textureshade*diffuseshadescale, 1.0);
//ambient && specular
//shadescale= pow(dot(h,nn),shinyness);
//pixelcolour += vec4 (textureshade*shadescale + ambient* textureshade, 1.0);
//specular && diffuse
//shadescale= pow(dot(h,nn),shinyness);
//pixelcolour += vec4 (textureshade*shadescale + textureshade*diffuseshadescale , 1.0);
//ambient && specular && diffuse
//shadescale= pow(dot(h,nn),shinyness);
//pixelcolour += vec4 (textureshade*shadescale + textureshade*diffuseshadescale + ambient*textureshade, 1.0);
上面代碼使用不同的計算來顯示照明,在像素着色器文件I有。我需要從鍵盤控制這個,需要在main中聲明,例如,VK_A將循環使用我擁有的不同模式。我如何去實現這個?鍵盤輸入來控制像素着色器
你們通常如何增加鍵盤控制來改變這個?謝謝
在現代GLSL中,可以使用[着色器子程序](https://www.khronos.org/opengl/wiki/Shader_Subroutine)來選擇程序變化。 – Rabbid76 2017-07-03 19:55:54