1
我有我的窗口座標,我需要在這裏繪製文本。如何將窗口座標轉換爲標準化的設備座標?
我用這個函數:
void displayText(std::string const& text, float x, float y)
{
int j = text.size();
glColor3f(1, 1, 1);
// std::cout << x << " " << y << std::endl;
// std::cout << (x/900) * (2.0 - 1.0) <<" " <<(y/900) * (2.0 - 1.0) << std::endl;
x = x/(float)900; //900 is my window size
y = y/(float)900;
x-=0.5f;
y-=0.5f;// std::cout << x << " "<<y << std::endl;
glRasterPos2f(x, y);
for(int i = 0; i < j; i++)
glutBitmapCharacter(GLUT_BITMAP_TIMES_ROMAN_24, text[i]);
}
,但它在錯誤的繪製文本協調,上下顛倒,有什麼想法?
什麼是「錯誤座標」?它與你期望的有什麼不同? – Carcigenicate
我有多個文字繪製,位於窗口周圍,但所有文字都繪製在同一個點上。 –