问题一:OpenGL画点,为什么点的坐标值超出[-1,1]范围就显示不了?
问题二:我的obj文件中的顶点坐标都超出了这个范围,有100多的,怎么导入?
问题三:我的obj文件中的Face(面)有些是3个顶点的,有些是4个顶点的,请问
应该用TRIANGLES还是POLYGON??
多谢大侠们指教
OpenGL工作在一个叫做NDC(Normalized Device Coordinates)的坐标系统下,在这个坐标系统中,x、y和z的值全部都坐落在[-1, +1]范围内,超出这个范围的点会被OpenGL忽略。因为我们直接使用OpenGL的NDC坐标系统,所以顶点坐标的值在-1到+1之间。
设置投影模式,这样坐标就可以是超过-1到1了。Opengl的坐标是可以无限大的,通过设定视场大小来确定显示的范围,只有在视场范围内的坐标才能被看见,在视场之外的看不到。视场是可以用函数设定的。具体你要看看投影模式怎么回事。我很久没弄opengl了,具体也不太了解。
polygon是多边形的意思,顶点要多于三点,三个顶点是画不出来的。triangles是画多个三角形,根据点的顺序,每三个点画一个三角形,四个点画两个三角形。