在加入光照之前,需要为shader添加一个法线数据,所以扩展了读取obj代码,使得能够处理法线。
刚开始想自己计算法线,但是显示出来之后并不对,仔细想了想发现因为使用的索引绘制,所以每个
顶点只有一个法线,这就麻烦了。所以还是找一个带有法线的obj文件然后解析吧。
解析obj文件时又发现需要将顶点normalize,不然显示起来不好调节摄像头的距离。
显示法线用到了geometry shader,现在需要支持3种shader了,所以将以前固定2种shader的编译代码
改成任意数量的。
用geometry shader显示出读取的normal之后,发现似乎不对,所以又在shader里计算了一下normal,
所以现在,geometry shader有2种显示normal的模式了。
代码也已经更新了。
最后,上个截图