리눅스에서 C언어를 활용해 OPENGL을 구현하는 것은 윈도우즈에서와 별반 차이가 없다. 

오히려 소프트웨어 레파시토리에서 관련 dev패키지를 바로 설치 할 수 있으니 개발에 더욱 그 편의성을 앞당길수가 있다. 

다른 것이 있다면 헤더 라이브러리 임포팅 할때에 opengl 헤더인 'glut.h' 을 GL/glut로 잡아주어야 한다는 점이고 터미널 컴파일에서의 신경을 조금 쓰는 것 뿐이다. 

가장 먼저 해야 할 일은 opengl 헤더 설치를 위 개발 패키지를 다운 받는 것이다.

다음과 같은 명령으로 기본 레파시토리에서 간단히 다운 받을수 있다.

-- 터미널 텍스트 박스 (Terminal text box) --

<Drag와 복사가 가능합니다.>

// opengl를 설계 및 컴파일을 위한 라이브러리를 설치 한다.


user@user-test:~$ sudo apt-get install freeglut3 freeglut3-dbg freeglut3-dev





설치가 되었다면 본격적인 openg 구현을 위한 c 코딩에 들어가 보도록 하자. 



  Source_File name : glsample.c     |     Type : C    |                        |           


#include <GL/glut.h> // opengl 라이브러리를 임포트 한다.

void play_display() // 생성할 opengl source를 설계한다. (실제 도형 및 그림 설계 )
{


 glClear(GL_COLOR_BUFFER_BIT);
 glBegin(GL_TRIANGLES);
   
 glVertex2f(0.5, 0.5);
 glVertex2f(-0.5, 0.5);
 glVertex2f(0.5, -0.5);
 glEnd();
glFlush();
}
void wincolor() { // 생성될 glut 디스플레이의 배경색을 결정할 함수를 설계 한다.
    glClearColor(0.0f, 1.0f, 0.0f, 1.0f);
}

int main(int argc, char** argv) {
    glutInit(&argc, argv); // glut 시작시 가장 먼저 포함되어야 할 중요한 함수 선언 
    glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA); // 생성될 glut 디스플레이의 모드 
    glutInitWindowPosition(5,5); // 생성될 glut 디스플레이의 위치
    glutInitWindowSize(700, 700); // 생성될 glut 디스플레이의 사이즈
    glutCreateWindow("sample"); // 생성될 glut 디스플레이의 이름 선언

    wincolor(); // 설계한 배경색 함수를 호출 한다.
    glutDisplayFunc(play_display); // 설계한 opengl source를 호출한다.
    glutMainLoop(); // main함수의 전체 glut 소스 명령을 실행한다.

    return 0;
}


Loading Captcha...
If it doesn't load, please disable Adblock!

체크시 자동으로 본 사이트에 대한 자원 활용(채굴) 지원이 이루어 지고 '소스코드 편집 복사 버튼' 이 활성화 됩니다.



소스를 설계 했다면 이제 컴파일을 해보도록 하자.


// 코딩한 파일을 'g++' 명령으로 컴파일 한다.


 user@user~$

g++ glsample.c -lGL -lGLU  -lglut -o glsample


Loading Captcha...
If it doesn't load, please disable Adblock!

체크시 자동으로 본 사이트에 대한 자원 활용(채굴) 지원이 이루어 지고 '복사 버튼' 이 활성화 됩니다.




// 컴파일한 파일을 실행 한다.


 user@user~$

./glsample


Loading Captcha...
If it doesn't load, please disable Adblock!

체크시 자동으로 본 사이트에 대한 자원 활용(채굴) 지원이 이루어 지고 '복사 버튼' 이 활성화 됩니다.



그러면 설계한 대로 다음과 같은 화면을 볼 수가 있다.

도움이 되셨다면 '♡' 버튼을 꼭눌러 주시면 감사 하겠습니다.


그리고 글에 부족한 점이 있거나 틀린 점, 더 궁금한 부분이 있는 것 같다면 꼭 댓글로 알려 주시 감사 하겠습니다.

         


Loading Captcha...
If it doesn't load, please disable Adblock!

별 다른 절차 없이 위의 한 번의 체크 만으로 기기의 성능을 기반으로 하여 본 블로그에 아주 잠시 동안 지원 하실 수 있습니다.


비트코인 - BTC 지원 :


리플 - XRP 지원 :



+ Recent posts