Ubuntu 16.04에서 OpenGL( freeGLUT ) 프로그래밍OpenGL2016. 11. 10. 00:27
Table of Contents
반응형
설치
$ sudo apt-get install freeglut3-dev
예제 코드 컴파일
$ gcc test.c -lglut -lGL -lGLU
실행결과
visual studio code에서 컴파일 및 실행하기
visual studio code 설치는 다음 글을 참고하세요..
[리눅스/개발환경] - Ubuntu Linux에 Visual Studio Code 설치해서 C/C++컴파일 해보기
설치 완료 후, tasks.json파일에서 아래 빨간색으로 된 부분만 수정하시면 됩니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | { "version": "0.1.0", "command": "bash", "isShellCommand": true, "args": ["-c"], "tasks": [ { "taskName": "saveNcompile", "suppressTaskName": true, "isBuildCommand": true, "args": ["gcc main.c -lglut -lGL -lGLU -o main"] }, { "taskName": "execute", "suppressTaskName": true, "isTestCommand": true, "args": ["gnome-terminal -e \"bash -ic ./main;bash \""] } ] } | cs |
예제코드
출처 - http://www.lighthouse3d.com/tutorials/glut-tutorial/animation/
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 | #include "GL/freeglut.h" void changeSize(int w, int h) { // Prevent a divide by zero, when window is too short // (you cant make a window of zero width). if (h == 0) h = 1; float ratio = w * 1.0 / h; // Use the Projection Matrix glMatrixMode(GL_PROJECTION); // Reset Matrix glLoadIdentity(); // Set the viewport to be the entire window glViewport(0, 0, w, h); // Set the correct perspective. gluPerspective(45.0f, ratio, 0.1f, 100.0f); // Get Back to the Modelview glMatrixMode(GL_MODELVIEW); } float angle = 0.0f; void renderScene(void) { // Clear Color and Depth Buffers glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // Reset transformations glLoadIdentity(); // Set the camera gluLookAt(0.0f, 0.0f, 10.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f); glRotatef(angle, 0.0f, 1.0f, 0.0f); glBegin(GL_TRIANGLES); glVertex3f(-2.0f, -2.0f, 0.0f); glVertex3f(2.0f, 0.0f, 0.0); glVertex3f(0.0f, 2.0f, 0.0); glEnd(); angle += 0.1f; glutSwapBuffers(); } int main(int argc, char **argv) { // init GLUT and create window glutInit(&argc, argv); glutInitDisplayMode(GLUT_DEPTH | GLUT_DOUBLE | GLUT_RGBA); glutInitWindowPosition(100, 100); glutInitWindowSize(320, 320); glutCreateWindow("Lighthouse3D- GLUT Tutorial"); // register callbacks glutDisplayFunc(renderScene); glutReshapeFunc(changeSize); glutIdleFunc(renderScene); // enter GLUT event processing cycle glutMainLoop(); return 1; } | cs |
반응형
'OpenGL' 카테고리의 다른 글
OpenGL 강좌 - 삼각형이 회전하는 애니메이션 구현 (0) | 2016.12.20 |
---|---|
OpenGL 강좌 - 정사각형 그리기 (7) | 2016.12.20 |
Intel HD 4600에서 벌칸(Vulkan) API 사용해보기 (4) | 2016.11.15 |
OpenGL( freeGLUT ) 을 Visual Studio 2015에 연동하기 (2) | 2016.09.09 |
OpenGL Rendering Pipeline (1) | 2016.07.19 |
시간날때마다 틈틈이 이것저것 해보며 블로그에 글을 남깁니다.
블로그의 문서는 종종 최신 버전으로 업데이트됩니다.
여유 시간이 날때 진행하는 거라 언제 진행될지는 알 수 없습니다.
영화,책, 생각등을 올리는 블로그도 운영하고 있습니다.
https://freewriting2024.tistory.com
제가 쓴 책도 한번 검토해보세요 ^^
@webnautes :: 멈춤보단 천천히라도
그렇게 천천히 걸으면서도 그렇게 빨리 앞으로 나갈 수 있다는 건.
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!