我是OpenGL的新手,我从不同的来源读取代码。我不明白用窗口改变对象大小的功能是什么。
代码1 - > http://codepad.org/1kSTAMOF
代码2 - > http://codepad.org/Gs7CeBW2
代码2的math3d标题 - > http://codepad.org/Ptz3XBkp
代码3 - > http://codepad.org/rFMWUktw
例如;代码1和代码2创建三角形,其大小随窗口大小而变化。但是,Code 3创建了行,并且它们的大小不会随着窗口大小的改变而改变。我不明白哪行代码提供了这些属性,我必须做些什么来为代码3提供相同的属性?(我不能将所有链接作为链接格式共享,因为我不被允许)
答案 0 :(得分:0)
问题在于,尽管您放大了多少或更改窗口大小,但线条的宽度不会改变。使用glLineWidth(width)使线宽随窗口大小而变化
答案 1 :(得分:0)
宽度为1.0的行总是光栅化一个像素宽。无论窗口大小如何,使用glLineWidth
都会将绘制的所有线条的宽度更改为相同的大小。
要获得随窗口大小更改(或更准确地说,视口大小)而缩放的行,您需要将它们渲染为填充的基元(即GL_TRIANGLES或OpenGL或OpenGL ES中的GL_TRIANGLE_STRIP)。描述了问题的解决方案here。它有点先进,但希望它对你有意义。