網上很多文章都談過窗口,視口,裁剪區域這些概念,但感覺看了還是不很明白。下面是我個人實踐過后的一些看法:
1.窗口:這就不用解釋了吧
2.視口:就是窗口中用來顯示圖形的一塊矩形區域,它可以和窗口等大,也可以比窗口大或者小。只有繪制在視口區域中的圖形才能被顯示,如果圖形有一部分超出了視口區域,那么那一部分是看不到的。通過glViewport()函數設置。如下圖所示:
圖1. 不同大小的視口
3.裁剪區域(平行投影):就是視口矩形區域的最小最大x坐標(left,right)和最小最大y坐標(bottom,top),而不是窗口的最小最大x坐標和y坐標。通過glOrtho()函數設置,這個函數還需指定最近最遠z坐標,形成一個立體的裁剪區域。