Yuav Ua Li Cas Nruab Mesa (OpenGL) ntawm Linux Mint: 6 Cov Kauj Ruam

Cov txheej txheem:

Yuav Ua Li Cas Nruab Mesa (OpenGL) ntawm Linux Mint: 6 Cov Kauj Ruam
Yuav Ua Li Cas Nruab Mesa (OpenGL) ntawm Linux Mint: 6 Cov Kauj Ruam

Video: Yuav Ua Li Cas Nruab Mesa (OpenGL) ntawm Linux Mint: 6 Cov Kauj Ruam

Video: Yuav Ua Li Cas Nruab Mesa (OpenGL) ntawm Linux Mint: 6 Cov Kauj Ruam
Video: Tshuaj theem vim li cas thiaj tau nqi ?/ Siv kho mob dab tsi?/paris polyphylla use for? 2024, Tej zaum
Anonim

Mesa yog qhov qhib -qhov ua tiav ntawm OpenGL qhov tshwj xeeb - lub kaw lus rau kev sib tham sib duab 3D. Kev siv tshuab, OpenGL tsuas yog qhov tshwj xeeb, ua los ntawm koj tus tsav tsheb duab. Tsis muaj ib yam zoo li OpenGL SDK lub tsev qiv ntawv. Muaj xwb libGL.so uas los nrog koj tus tsav tsheb. Txhawm rau siv nws, koj xav tau kev khi rau koj cov lus programming uas xaiv. Yog tias yog C, "kev khi" suav nrog tsuas yog cov ntawv header. Txawm li cas los xij koj yuav tseem xav siv OpenGL txuas ntxiv, uas yooj yim siv GLEW.

Ntau yam ntawm cov cuab yeej tsav tsheb tso cai rau Mesa siv hauv ntau qhov chaw sib txawv xws li los ntawm kev siv software kom ua tiav kho vajtse nrawm rau GPUs niaj hnub no. Mesa txuas rau ntau lwm qhov haujlwm qhib: Qhov Ncaj Ncees Ncaj Ncees thiab X.org los muab OpenGL txhawb rau cov neeg siv X ntawm Linux, FreeBSD thiab lwm yam kev ua haujlwm.

Cov kauj ruam

Ntu 1 ntawm 3: Npaj Koj Li Linux Mint Operating System rau OpenGL Kev Txhim Kho

Nruab Mesa (OpenGL) ntawm Linux Mint Kauj Ruam 1
Nruab Mesa (OpenGL) ntawm Linux Mint Kauj Ruam 1

Kauj Ruam 1. Qhib lub davhlau ya nyob twg thiab nkag mus rau cov lus txib hauv qab no txhawm rau txhim kho cov tsev qiv ntawv tsim nyog rau OpenGL kev txhim kho:

  • Nkag mus sudo apt-tau hloov tshiab
  • Nkag mus sudo apt-tau nruab freeglut3
  • Nkag mus sudo apt-tau nruab freeglut3-dev
  • Nkag mus sudo apt-tau nruab binutils-kub
  • Nkag mus sudo apt-tau nruab g ++ cmake
  • Nkag mus sudo apt-tau nruab libglew-dev
  • Nkag mus sudo apt-tau nruab g ++
  • Nkag mus sudo apt-tau nruab mesa-common-dev
  • Nkag mus sudo apt-tau nruab tsim-qhov tseem ceeb
  • Nkag mus sudo apt-tau nruab libglew1.5-dev libglm-dev
Nruab Mesa (OpenGL) ntawm Linux Mint Kauj Ruam 2
Nruab Mesa (OpenGL) ntawm Linux Mint Kauj Ruam 2

Kauj Ruam 2. Tau txais cov ntaub ntawv hais txog OpenGL thiab GLX kev teeb tsa ua haujlwm ntawm X muab

Txhawm rau ua qhov no, nkag mus glxinfo.

Ntu 2 ntawm 3: Tsim Koj Thawj Qhov Kev Kawm OpenGL

Nruab Mesa (OpenGL) ntawm Linux Mint Kauj Ruam 3
Nruab Mesa (OpenGL) ntawm Linux Mint Kauj Ruam 3

Kauj Ruam 1. Qhib lub davhlau ya nyob twg

Ua cov npe, hloov mus rau hauv phau ntawv teev npe thiab siv koj cov ntawv sau uas koj nyiam xws li nano lossis gedit los tsim koj li OpenGL qhov chaws. Nkag mus rau cov lus txib hauv qab no.

  • Nkag mus rau mkdir Qauv-OpenGL-Cov Haujlwm

    Qhov no yuav tsim cov npe los tuav koj cov haujlwm OpenGL

  • Sau cd Qauv-OpenGL-Cov Kev Pabcuam

    Qhov no yuav hloov koj mus rau hauv koj phau ntawv teev npe

  • Nkag mus nano main.c LOSSIS gedit main.c

Kauj Ruam 2. Luam thiab paste LOSSIS ntaus tus lej:

    #include #include void renderFunction () {glClearColor (0.0, 0.0, 0.0, 0.0, 0.0); glClear (GL_COLOR_BUFFER_BIT); glColor3f (1.0, 1.0, 1.0); glOrtho (-1.0, 1.0, -1.0, 1.0, -1.0, 1.0); glBegin (GL_POLYGON); glVertex2f (-0.5, -0.5); glVertex2f (-0.5, 0.5); glVertex2f (0.5, 0.5); glVertex2f (0.5, -0.5); glEnd (); glFlush (); } int lub ntsiab (int argc, char ** argv) {glutInit (& argc, argv); glutInitDisplayMode (GLUT_SINGLE); glutInitWindowSize (500, 500); glutInitWindowPosition (100, 100); glutCreateWindow ("OpenGL - Thawj lub qhov rai demo"); glutDisplayFunc (renderFunction); glutMainLoop (); rov 0; }

Nruab Mesa (OpenGL) ntawm Linux Mint Kauj Ruam 4
Nruab Mesa (OpenGL) ntawm Linux Mint Kauj Ruam 4

Kauj Ruam 3. Txuag cov ntawv thiab tawm mus

Ntu 3 ntawm 3: Ua Ke thiab Khiav Koj Daim Ntawv Thov OpenGL

Nruab Mesa (OpenGL) ntawm Linux Mint Kauj Ruam 5
Nruab Mesa (OpenGL) ntawm Linux Mint Kauj Ruam 5

Kauj Ruam 1. Sau Tus Qauv-OpenGL-Cov Ntawv Qhia

Thaum nyob ntawd, khiav cov lus txib hauv qab no:

  • g ++ main.c -lglut -lGL -lGLEW -lGLU -o OpenGLExample

    Cov lus txib no yuav suav thiab txuas koj lub tsev qiv ntawv OpenGL

Nruab Mesa (OpenGL) ntawm Linux Mint Kauj Ruam 6
Nruab Mesa (OpenGL) ntawm Linux Mint Kauj Ruam 6

Kauj ruam 2. Khiav qhov program

Txhawm rau ua qhov no, ntaus cov hauv qab no:

Sau./OpenGLExample

OpenGL thawj qhov rai raug qhov tshwm sim
OpenGL thawj qhov rai raug qhov tshwm sim

Kauj Ruam 3. Tos rau qhov tshwm sim

Yog tias koj ua txhua yam kom raug, lub qhov rai yuav qhib. Nws yuav qhia lub xwmfab dawb ntawm cov keeb kwm dub. Lub qhov rais yuav muaj lub npe "OpenGL - Thawj qhov kev nthuav qhia qhov rai".

Pom zoo: