반응형

OpenGL 6

OpenGL로 탁구로봇 시뮬레이션을 만들어 봤습니다.

안녕하세요.이번에 컴퓨터그래픽스와 OpenGL에 대해 공부를 하고 있습니다.그러다가 제가 블로그에 올려둔 탁구로봇이 있는데, 다음이 그것입니다. 저는 이 영상의 탁구로봇을 OpenGL로 만들어보면 어떨까 생각해보았습니다.그래서 한번 제작으 시도해보았습니다.동영상에서의 탁구로봇은 사람의 팔과 흡사한 형태를 하고 있는데요,가장 아래에 Y축으로 회전하는 관절, 그리고 위아래로 회전하는 관절3개, 탁구채를 회전하는 관절 하나로 구성되어 있습니다.여기서 저는 중앙에 있는 위아래로 회전하는 관절 하나는 없어도 무방하다고 생각해서 제거하였습니다.먼저 사진은 다음과 같습니다. 제가 만든 프로그램에서는 실제로 탁구를 하는 건 아니고, 탁구를 하는 것 처럼 보이는 것입니다.즉, 공은 공대로 따로 놀고, 탁구로봇은 단지 그..

컴퓨터 공학 2015.11.27

VIsual Studio 2010에 OpenGL 설치하기

안녕하세요?이번에는 VIsual Studio 2010에 OpenGL을 설치해보도록 하겠습니다.OpenGL은 1992년 실리콘 그래픽스 사에서 만든 2차원 및 3차원 그래픽스 표준 API 규격입니다.OpenGL은 현재 다양한 분야에서 사용이 되고있습니다.이제 설치하는 방법을 알아보겠습니다. 먼저 제가 첨부파일에 올린 압축파일을 다운받아 압축을 풀어줍니다. 그러면 위와 같이 include 폴더, lib 폴더, 그리고 glut32.dll 이 있습니다.먼저 lib 폴더안에 있는 glut32.lib 파일을 복사한 후 다음 경로에 붙여넣기 해줍니다. C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib 그리고 include 폴더안에 있는 GL 폴더를 복사한 후 다..

유틸리티 2015.11.27

[ Qt 프로그래밍 ] 심시티5 시각화 그래프를 OpenGL로 구현해봤습니다.

제가 심시티5를 아직 해보진 않았지만 유튜브나 사진에서 보면 위 사진과 같이 통계자료에 대한 시각화가 아주 잘되있는걸 알 수 있습니다.그래서 OpenGL 공부도 할겸해서 위 사진의 보라색 3D 그래프를 구현해보았습니다.결과는? 생각보다 괜찮게 된것 같습니다.제가 올린 큐브예제에서 drawCube 함수를 새로 만들어서 큐브 정보를 옮겼습니다. 그리고 for문을 통해 랜덤으로 그래프를 생성하도록 하였습니다.그리고 분산광을 적용하여 입체감을 넣었습니다. (분산광을 안넣으면 전부 같은 색상이라 구분이 안됩니다;)마우스로 회전도 할 수 있습니다.첨부파일에 올려둘테니 한번 해보세요 ㅎㅎ

컴퓨터 공학/Qt 2015.11.26

[ Qt 프로그래밍 ] OpenGL 로 2D 사각형 만들기

OpenGL로 2D 시점의 사각형을 만들어보겠습니다. 아래 코드는 첨부파일에 올려둔 프로젝트에서 OpenGL부분의 클래스입니다. Colored By Color Scripter™12345678910111213141516171819202122232425262728293031323334353637383940#ifndef GLWIDGET_H#define GLWIDGET_H #include class QTimer; class GLWidget : public QGLWidget{ Q_OBJECTpublic: GLWidget(); ~GLWidget(); private: void paintGL(); //GL그리는 함수 void initializeGL(); //GL초기화하는 함수 void resizeGL(int w, in..

컴퓨터 공학/Qt 2015.11.26

[ Qt 프로그래밍 ] OpenGL 로 큐브 만들기

이번에는 Qt로 OpenGL을 이용한 큐브를 만들어보겠습니다.Qt에서 제공하는 OpenGL은 대부분의 기능을 지원합니다.GL.h을 사용하고, glut.h 혹은 glu.h는 사용하지 않습니다.그래서 glut로 시작하는 함수 혹은 glu로 시작하는 함수는 읽지 못합니다. 다음은 프로젝트의 일부분 소스코드입니다. Colored By Color Scripter™123456789101112131415161718192021222324252627282930313233343536373839404142434445#ifndef GLWIDGET_H#define GLWIDGET_H #include class QTimer; class GLWidget : public QGLWidget{ Q_OBJECTpublic: GLWidge..

컴퓨터 공학/Qt 2015.11.26
반응형