关于OpenGL ES 3D 光晕如何产生的自我理解

星空图的自我理解:可以看作一个透明的半径很大的天球,然后在其表面上绘制大小不一的点,这样便可以够成星空图。

如何产生光晕的自我理解:当星空布置好了以后,然后放上去一个纹理矩形,好了现在的关键在于明明是纹理矩形但是实际的效果是一个圆,因此必须要进行混合才能出现想要的效果。这里目标因子是(虚拟的)透明的天球体,而源因子是纹理矩形。此时的这个系统我可以等效为:一个非常小的圆孔和一个半径非常大的透明球面。由于启用了混合,而且目标因子是透明的所以和纹理矩形混合后的颜色应该为纹理矩形的颜色这点是毋庸置疑的,接下来是要分析为什么2者混合后的效果的形状会是一个圆。前面已经将该系统进行了等价的模型转换,那么2者混合类似与小孔成像的机理,又由于位于纹理矩形的后面的目标因子是3维的投射到与纹理矩形平行的的平面上就是圆面,这样最终的效果就是圆面,而且也可以解释为什么圆面的颜色会出现由浅到深的均匀递变,因为离越远的球面上的就会远暗,而且产生的光晕效果也会随着纹理矩形的变大尔变大

 

以上就是我对光晕如何产生的理解,勉强能够解决由现象产生的问题。如果有错误请指导下 。

 

 

你可能感兴趣的:(关于OpenGL ES 3D 光晕如何产生的自我理解)