真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

二維圖像到二維屏幕的投影用例

說明

專注于為中小企業(yè)提供網(wǎng)站建設(shè)、成都網(wǎng)站制作服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)海拉爾免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了近1000家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

在默認(rèn)的2D渲染中,渲染的X,Y軸的范圍都是從[-1, 1],屏幕的中心點(diǎn)(0,0),所以鼠標(biāo)點(diǎn)擊的坐標(biāo),必須轉(zhuǎn)換成世界地理坐標(biāo)系,在2D環(huán)境下,默認(rèn)Z軸坐標(biāo)為0.0

假設(shè)屏幕寬800,高4800

屏幕坐標(biāo)地理坐標(biāo)

左上角0,0 -1,1

左下角  0,480 -1,-1

右上角  800,0           1,1

右下角  800,480         1,-1

  

現(xiàn)在通過gluOrtho2D函數(shù)將二維圖像到二維屏幕上的投影,將坐標(biāo)移動(dòng)到左下角,方向剛好和屏幕坐標(biāo)的Y軸相反

 

代碼

#include

#include

#define WINDOWHEIGHT 480

#define WINDOWWIDTH  800

void myInit()

{

  glClearColor(1.0,1.0,1.0,0.0);

  glLineWidth(3.0);

  glMatrixMode(GL_PROJECTION);

  glLoadIdentity();

  gluOrtho2D(0.0, WINDOWWIDTH, 0.0, WINDOWHEIGHT);

}

void myDisplay(void)

{

  glClearColor(1.0f, 1.0f, 1.0f, 0.0f);

  glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

  glFlush();

}

void myMouse(int button,int state,int x,int y)

{

  if(state==GLUT_DOWN)

  {

    glPointSize(10);

      glBegin(GL_POINTS);

        glColor3f(1.0f, 0.0f, 0.0f);

        glVertex2f(x, WINDOWHEIGHT - y);

      glEnd();

    glFlush();

  }

}

int main(int argc, char* argv[])

{

  glutInit(&argc, argv);

  glutInitDisplayMode(GLUT_RGBA | GLUT_SINGLE);

  glutInitWindowSize(WINDOWWIDTH, WINDOWHEIGHT);

  glutInitWindowPosition(100,150);

  glutCreateWindow("OpenGL 窗口1");

  glutDisplayFunc(&myDisplay);

  glutMouseFunc(&myMouse);

  myInit();

  glutMainLoop();

  return 0;

}


當(dāng)前名稱:二維圖像到二維屏幕的投影用例
本文網(wǎng)址:http://weahome.cn/article/ggeshd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部