我所试图做的是,当我画的每一个对象,我检查,看它是否被标记,如果标记,写物体附近的一些文字,使用glRasterPos2f /我在屏幕上设置的位置,然后是glutBitmapCharacter。glRasterPos单位glutBitmapCharacter
对于glRasterPos2,我看到很多的实例与像素坐标作为参数(例如:100,100)通过。像素坐标对我来说不起作用,而我必须翻译成[-1.0 1.0]比例的坐标。 [-1 -1]是屏幕的左下角,[1 1]是右上角。我的例子已经注意到
一件事是改变的正投影。这是我的问题的原因吗?
我有gluPerspective();在开始时设置一次,并且不会改变(现在)。如果每次我想在像素坐标处写文本时都必须更改为gluOrtho,则看起来很乱。对于每个对象,我从gluPerspective()开始,然后根据需要更改gluOrtho(),然后再返回。
我曾经想过另一种选择,是因为事情似乎在[-1.0 1.0]范围内工作,我可以手动转换屏幕坐标到规模。但是这对于性能来说似乎也是混乱和不好的。
有关如何进行的任何建议?
你有什么问题?您询问“我的问题的原因”,但我没有看到任何描述问题的内容。 –
我的问题是,如果我使用glRasterPos2f(4.0,4.0);作为一个例子,随后对glutBitmapCharacter的调用不会显示在屏幕上。在这一点上,我看到了不同的行为与我见过的一些例子。但是,如果我使用glRasterPos2f(x/windowWidth * 2-1,y/windowHeight * 2-1),我会在屏幕上显示x,y位置处的文本。 –