OpenGL - 使用对象更改窗口大小

时间:2013-01-24 22:42:09

标签: opengl

我是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提供相同的属性?(我不能将所有链接作为链接格式共享,因为我不被允许)

2 个答案:

答案 0 :(得分:0)

问题在于,尽管您放大了多少或更改窗口大小,但线条的宽度不会改变。使用glLineWidth(width)使线宽随窗口大小而变化

答案 1 :(得分:0)

宽度为1.0的行总是光栅化一个像素宽。无论窗口大小如何,使用glLineWidth都会将绘制的所有线条的宽度更改为相同的大小。

要获得随窗口大小更改(或更准确地说,视口大小)而缩放的行,您需要将它们渲染为填充的基元(即GL_TRIANGLES或OpenGL或OpenGL ES中的GL_TRIANGLE_STRIP)。描述了问题的解决方案here。它有点先进,但希望它对你有意义。