dedecms关闭网站,网站开发南京招聘,常州百度搜索优化,做网站淘汰了以下内容一般基于 GLSL 300 之后
以下某些代码行#xff0c;是“伪代码“#xff0c;绝大部分是renderDoc 逆向产生标准代码
本人OpenlGL零基础#xff0c;也不打算重头学
目录
Clip#xff08;#xff09; 剔除函数 discard;
FS最终颜色输出 out 和最终颜色相加方程…以下内容一般基于 GLSL 300 之后
以下某些代码行是“伪代码“绝大部分是renderDoc 逆向产生标准代码
本人OpenlGL零基础也不打算重头学
目录
Clip 剔除函数 discard;
FS最终颜色输出 out 和最终颜色相加方程 Clip 剔除函数 discard; _21 texture(_7, _14);//................._26 _21.w (-_33._m4);_29 _21.xyz * _33._m3.xyz;_24 _26 0.0;if (_24){discard;}
从 discard; 命令可得知一般通过透明度剔除 _26 color.a
_21.w 刚好对应color.a
显而易见_21 _color; 就是v2f 的颜色
再往上推得知_14 uv FS模块颜色输出 out 和最终颜色相加方程
#if FS
layout(location 0) out vec4 _17;
//因为 —17为最终输出所以通过逆向如下
//关键在于下面的方程式 _125 XXXXXX _XX;
main(){vec3 _125 (_29 * vec3(_26)) _28;_17 vec4(_125.x, _125.y, _125.z, _17.w);_17.w 1.0;//这行代码不重要
}
对于这个方程式求——_125颜色
vec3 _125 (_29 * vec3(_26)) _28;
我们假设是漫反射(diffuse)环境光ambient
所以_28 可能是 diffuse 或者 ambient
因为方程式的前半部分有乘以一个点积dot方向所以前半部分很可能是漫反射
所以_28推断为环境光ambient因为环境光是不需要 _26 dot(_27, _19);
_28 _29 * _33._m1.xyz;// _33.m1 是很奇怪的传入binding1
_29 * _33._m2.xyz;//虽然_33.m2也很奇怪 参考资料-额外
Layout Qualifier (GLSL) - OpenGL Wiki (khronos.org)
opengl - GLSL Uniform layout binding and textures - Stack Overflow
高级GLSL - LearnOpenGL-CN 以上链接分别有wiki技术论坛讨论中文论坛等等资料都是不可多得的一手资料其实也挺烂大街的网上一搜索多如牛毛