1.一种多功能着色器,其特征在于:所述着色器适用于unity引擎的渲染部分;所述着色器包括,
渲染单元;所述渲染单元内设置有用于控制渲染逻辑的shader文件;
脚本单元;所述脚本单元内设置有用于展示着色器操作界面的editor脚本;
所述着色器操作界面用于接收指令并依据所述指令修改所述shader文件以更改渲染逻辑,还用于实时反馈所述指令的执行结果。
2.根据权利要求1所述的多功能着色器,其特征在于:所述着色器将渲染逻辑中的渲染选项参数化,并由脚本单元展示;通过在操作界面中选择不同渲染选项中的参数,以自定义所述着色器的渲染结果。
3.根据权利要求1所述的多功能着色器,其特征在于:所述渲染单元包括,
混合设置模块;所述混合设置模块用于控制待渲染文件的本次渲染结果与缓存的混合方式;
深度写入模块;所述深度写入模块用于判断待渲染文件的本次渲染是否需要写入深度,并在待渲染文件需要写入深度时,对待渲染文件执行写入深度处理;
面剔除设置模块;所述面剔除设置模块用于确定待渲染文件在本次渲染中的需要被渲染的具体面;
基础纹理模块;所述基础纹理模块内设置有纹理样式,所述基础纹理模块用于根据设定的纹理样式对待渲染文件进行纹理样式的处理;
边缘光模块;所述边缘光模块内存储有边缘光颜色与边缘光衰减强弱值,所述边缘光模块用于判断待渲染文件是否需要使用边缘光效果,并在待渲染文件需要使用边缘光效果时,根据设置的边缘光颜色和边缘光衰减强弱值,对待渲染文件进行边缘光效果处理;
溶解模块;所述溶解模块内存储有溶解使用的uv索引、溶解的边缘色、溶解用的贴图、溶解的透明阈值和溶解流动的倍速,所述溶解模块用于判断待渲染文件是否需要进行溶解处理,并在待渲染文件需要使用溶解处理时,根据设置的溶解使用的uv索引、溶解的边缘色、溶解用的贴图、溶解的透明阈值和溶解流动的倍速,对待渲染文件进行溶解处理;
流动模块;所述流动模块内存储有纹理的流动扰动贴图、纹理流动的倍速、纹理扰动的强度、纹理流动的方向、纹理流动的速度以及纹理整体二层流动uv的缩放权重,所述流动模块用于根据设置的纹理的流动扰动贴图、纹理流动的倍速、纹理扰动的强度、纹理流动的方向、纹理流动的速度以及纹理整体二层流动uv的缩放权重,对待渲染文件进行纹理效果的处理;
顶点扰动模块;所述顶点扰动模块内设置有扰动强度和偏移强弱;所述顶点扰动模块用于根据设定的扰动强度和偏移强弱,控制所述待渲染文件中顶点在法线方向上的位置偏移。
4.根据权利要求3所述的多功能着色器,其特征在于:所述混合设置模块内设置有三种混合模式,分别为alphablend、additiveblend以及custom;alphablend和additiveblend为界面预制的模式,custom可以完全自定义121种不同的混合模式。
5.一种引擎渲染方法,所述引擎安装在计算机内,所述引擎包括至少一个如上述权利要求1至4任一所述的着色器,其特征在于:包括如下步骤,
s1、所述着色器接收待渲染文件;所述脚本单元将所述着色器的操作界面进行展示;
s2、所述混合设置模块接收所述待渲染文件,并对所述待渲染文件进行混合渲染混合设置;
s3、所述深度写入模块接收经步骤s2处理后的待渲染文件,并判断该待渲染文件是否需要写入深度,若是,则对该待渲染文件进行写入深度处理,并执行步骤s4;若否,则直接执行步骤s4;
s4、所述面剔除设置模块接收经所述步骤s3处理后的待渲染文件,并确定该所述待渲染文件中需要渲染的面;
s5、所述顶点扰动模块接收经步骤s4处理后的待渲染文件,并对该待渲染文件中的顶点进行扰动偏移;
s6、所述流动模块接收经步骤s5处理后的待渲染文件,并对该待渲染文件首先进行纹理扰动偏移操作,并设置纹理流动倍速;之后读取基础纹理模块中的纹理样式,对纹理样式进行采样,并根据采样的纹理样式对待渲染文件进行纹理样式处理;
s7、所述边缘光模块接收经步骤s6处理后的待渲染文件,并判断该待渲染文件是否需要进行边缘光处理,若是,则对该待渲染文件进行边缘光处理,并执行步骤s8;若否,则直接执行步骤s8;
s8、所述溶解模块接收经步骤s7处理后的待渲染文件,并判断该待渲染文件是够需要进行溶解处理,若是,则对该待渲染文件进行溶解处理,并执行步骤s9;若否,则直接执行步骤s9;
s9、将经步骤s8处理后的待渲染文件输出到帧缓存,并经引擎统一整合绘制到所述计算机的显示界面上。
6.根据权利要求5所述的引擎渲染方法,其特征在于:将所述shader文件和所述editor脚本放入所述引擎的目录中,所述引擎会自动编译所述shader文件和所述editor脚本,以获取渲染逻辑,并展示所述着色器的操作界面。