導航:首頁 > 源碼編譯 > opengl畫圓演算法

opengl畫圓演算法

發布時間:2024-12-04 22:39:02

『壹』 用OpenGL中的函數glutSolidSphere畫圓為何結果只顯示了四分之一個圓

#pragma comment( linker,"/subsystem:\"windows\" /entry:\"mainCRTStartup\"" )
#include<gl/glut.h>

void Initial()
{
//glEnable(GL_DEPTH_TEST);//啟用深度測試,根據坐標的遠近自動隱藏被遮住的圖形
glClearColor(1.0f,1.0f,1.0f,0.0f);
}
void ChangeSize(int w,int h)
{
GLfloat aspect;
aspect=(float)w/(float)h;
glViewport(w/2,h/2,w,h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
if(w<=h)
{
glOrtho(0.0f,500.0f,0.0f,500.0f*h/w,1.0f,-1.0f);

}
else
{
glOrtho(0.0f,500.0f*w/h,0.0f,500.0f,1.0f,-1.0f);

}
gluPerspective(90,aspect,1.0,5000000.0);

glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
}
void Display()
{
glEnable(GL_DEPTH_TEST);
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);//清除顏色緩沖以及深度緩沖
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glColor3f(1.0f,0.0f,0.0f);//繪圖色
//該函數用於渲染一個球體。球體球心位於原點,參數分別為:
glutSolidSphere(50.0,90.0,90.0);
//半徑,以Z軸上線段為直徑分布的圓周線的條數(將Z軸看成地球的地軸,類似於經線),圍繞在Z軸周圍的線的條數(類似於地球上緯線)
glFlush();

}

void main(void)
{

glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE );

glutCreateWindow("球體");
glutReshapeFunc(ChangeSize);
glutDisplayFunc(Display);
Initial();
glutMainLoop();
}

結果是這樣:
希採納

閱讀全文

與opengl畫圓演算法相關的資料

熱點內容
勁舞團輔助源碼論壇 瀏覽:277
春運在哪個app買機票便宜 瀏覽:686
南京程序員借錢 瀏覽:26
android拍照獲取圖片路徑 瀏覽:556
pdf文件轉換excel 瀏覽:546
湖南伺服器安全雲空間 瀏覽:607
文件夾是只讀怎麼辦 瀏覽:895
linuxtelnet退出命令 瀏覽:248
稅務局預交2演算法 瀏覽:533
前饋pid演算法 瀏覽:147
安卓怎麼使用投影儀 瀏覽:940
雲計算伺服器貴州雲主機 瀏覽:393
淘米APP是哪個公司 瀏覽:454
程序員玩車 瀏覽:476
安卓騰訊手游換成蘋果手機怎麼辦 瀏覽:528
主播皮克桃玩的什麼安卓區 瀏覽:567
linux單詞統計 瀏覽:909
小朋友參加密室大逃脫 瀏覽:218
程序員的三大忌 瀏覽:286
空調壓縮機機頭 瀏覽:767