연구실에 들어오고나서 처음 받은 컴퓨터는 전에 연구실 학부생들이 쓰던 공용 컴퓨터로, 사양이 좋지않았다. CPU도 오래된 것이였고, 그래픽 카드도 쿼드로 FX1100이라는 전문가용 그래픽이었는데, 그렇게 좋은지 잘 체감할 수 없었다. 무엇보다도 램이 6기가인데 시스템에서 램을 많이 먹어서 인터넷 창을 켜고 그래픽 프로그램을 돌리면 메모리 스왑이 일어나 느려지곤 했었다.


결국 지난 여름방학 때, 컴퓨터를 새로 샀고 교수님께서 모니터도 알아보라 하여, 여러 모니터를 알아보았다. 커브드 모니터도 몇종류 있었는데 그 종류가 많지 않았고 아직 대세는 평면 LED모니터였다. 얼마전에 고장이 나긴 했지만 잠시 반짝떴다가 시들시들해진 LG 3D모니터도 호기심에 샀다가 결국 3D 기능은 별로 써보지도 못해서 커브드모니터가 조금 망설여졌다. 


하지만 커브드는 3D처럼 제한된 컨텐츠, 안경을 써야만 할 수 있는 게 아니기도 하고, 그래도 새로운 것을 한번 써보자는 생각에 삼성 27인치 커브드모니터 C27F390F 모델을 골랐다. 삼성의 다른 커브드모니터 중 하나인 S27E500C는 저렴하면서 받침대가 이뻐서 마음에 들었는데, 화면의 휜 정도를 나타내는 곡률이 낮아 별로 휘어져 있는것을 잘 못느낀다라고 해서 포기했다. LG에서는 울트라와이드를 밀고있는지 27인치 크기에서는 커브드모니터가 없어보였다.


여러 모델을 고민하면서, 가격을 보니 27인치 모니터 가격이 많이 저렴했다. 4년 전쯤 27인치 모니터를 살 때에는 거의 30만원 근처였는데, 지금은 커브드인데도 20~21만원대였고, 제조사에 따라 다른 평면 모니터는 10만원대도 간간히 보였다. 



그렇게  C27F390F를 2개로 듀얼모니터를 맞추고, 자리에 세팅했다. 첫 설치때 좋았던 점은, 모니터 화면과 지지대를 연결 할 때 보통 다른 모니터들은 드라이버나 손나사를 돌려 결합한다. 그러나 이 제품은 모니터와 받침대 일부가 미리 나사로 조여져있다. 지지대와의 결합은 위에서 밑으로 끼우면 딸깍 거리면서 끼워져, 나사가 필요없이 바로 합칠 수 있었다. 그렇게 설치를 하고, 집에서 듀얼 모니터 쓰긴 쓰지만 연구실 자리에 맞추니 역시 생산성이 마구 오를 것만 같은 느낌이다. 첫 하루이틀은 화면이 휘어져있는 것이 신경이 쓰이긴 했는데, 그 뒤로는 눈이 적응을 했는지 전혀 신경쓰이지 않는다. 


일에 집중하다보면 모니터가 휘어져있는지도 잘 체감하기 어렵고, 모니터를 대각선 방향으로 내려다보거나 모니터를 카메라로 사진을 찍으면 확실히 휘어져 보인다. 그렇게 보면서, '내가 커브드 모니터를 샀긴 샀군!' 생각을 하는데, 평소에는 딱히 느끼진 못한다. 광고에서는 곡면이라 눈에서부터 화면 정중앙과 화면 가장자리까지의 거리가 같아 눈이 덜피로하다고 하는데, 자리에만 앉으면 피곤해지는 대학원생이 그런것 까지 느낄 수는 없었다. 생각해보니, 오히려 곡률이 더 커서 더 많이 휘어지면 듀얼모니터로 구성하고 사용할 때, 화면 간 연결이 매끄럽지 않을까 하는 생각이 든다.



또, 처음 모니터를 받고 케이블을 연결하니 화면이 조금 자글거리고 뭔가 안맞아보이는 느낌이 들어서 메뉴에서 밝기, 명암, 선명도를 조절해서 눈에 잘 맞도록 했다. 이런 것을 잘 못다루시는 분들이 이 모니터를 처음 켰을 때 그렇게 나온다면 그냥 그렇게 사용하실 것 같은데, 초기설정값을 잘 설정해서 나왔으면 더 좋겠다.

구성품

이 제품의 구성품으로는 모니터, HDMI 케이블, 모니터 드라이버 설치CD, 설명서이다. 보통 잘 같이 들어있지 않는 HDMI 케이블이 같이 들어있어서 좋았다. 드라이버 설치CD는, 요즘 이게 필요한가 궁금하다. 있을지 모르겠지만 아직 Windows를 오래된 버전을 사용하는 사람들을 위한 배려라고 생각한다.

주요기능

모니터의 모든 조정은 화면 뒷편에 위치한 작은 조이스틱으로 조정한다. 기존 모니터들이 그런 상하좌우 버튼을 일렬로 배열해서, 누를때마다 헷갈리게 만들었던 것과 달리 조이스틱은 아주 직관적이라 사용하기 편했다. 화면을 켤때는 조이스틱을 한번 눌러주고 화면을 끌 때는 조이스틱을 가볍게 눌러 메뉴로 들어가서 나오는 기본 화면에서 조이스틱을 내려 꺼도 되고, 켠 상태에서 조이스틱을 길게 눌러줘도 꺼진다.


눈 보호모드라고, 눈을 편하게 하는 최적의 화면을 만들어준다는 메뉴가 있다. 설정하면 화면이 탁해지고, 누런 빛을 띄면서 조금 어두워진다. 한번 신기해서 켜봤는데 실제 모니터 사용에는 더 불편한 것 같아 더이상 켜지 않는다. 그 외에도 게임모드, 응답시간, FreeSync 등 많은 화면전환이 빈번하게 일어나는 고사양 게임들을 위한 옵션이 있는데, 연구실에서 게임을 하지 않으니 아직 해보진 않았다. 커브드모니터의 가장 큰 장점이 게임할 때의 몰입도가 대단하다고 하는데, 아마 앞으로도 그 기능들은 써볼 일이 없을 것 같다.


내가 잘 못하는 건지는 모르겠는데, 한번씩 모니터의 입력은 있으나 아무 화면도 안들어 올 때, 조이스틱을 누르면 아무 반응이 없다. 그래서 다른 입력으로 바꿀 수 도 없고, 모니터가 꺼지지도 않는다. 그래서 켜져있는 상태로 전원케이블을 뽑았던 적이 두번정도 있다.

결론

처음으로 산 커브드모니터고 아직 널리 보급되진 않아 망설여지긴 했지만, 구입 후 두달간 사용해보니 단점은 잘 생각나지 않는다. 위에서 보면 휘어져있지만, 실사용시 그렇게 크게 느껴지지 않는다. 앞으로 커브드모니터가 3D모니터 처럼 금방 인기가 떨어져 죽을지, 아니면 모니터의 한 주류로 살아남을지 모르겠지만, 커브드모니터의 첫 시작으로 C27F390F를 선택하는 것은 가격면으로, 실사용면으로 좋은 선택이라 생각한다.

Posted by 딕스트라
,

2016년 9월 25일 일요일 오후 3시, 활동하고 있는 필레오 오케스트라에서 야외공연을 해서 비올라로 같이 연주했다. (공연정보) 서울에서 한 두번 째 공연인 이번 공연은 리허설날과 공연 당일, 먼저 잡힌 다른 일정이 있어 못할것이라고 생각했는데, 고민 끝에 그 일정을 포기하고 연주회를 같이 했다. 하지만, 리허설까지의 일정은 조정하지 못해 참석하지 못하고 바로 공연을 해서 혹시나 틀리지 않을까 신경을 많이 썼다. 


연주회 장소는 신도림역과 테크노마트 사이 위치한 '신도림예술공간 고리'로, 무대는 오픈되어 있는 곳이라 지나가는 사람들이 잠시 발길을 멈추어 공연을 볼 수 있었다.


곡은 마법의 성, 위풍당당 행진곡, 가브리엘 오보에, 마녀배달부 키키 OST, 미녀와 야수 OST, 센과 치히로의 행방불명 OST, 고장난 시계, 성악 협연으로 내 마음의 강물과 오 솔레미오, 아를르의 여인 2번 중 미뉴엣, 파랑돌을 연주했다.




마법의 성

더 클래식의 마법의 성을, 오케스트라 연주로 했다. 처음 연주한 곡이지만, 멜로디가 유명하고 쉬워서 별다른 어려움 없이 잘 할 수 있었다. 

위풍당당 행진곡

엘가 곡인 이 곡은 콘브리오 공연에 이어서 두번째로 한 곡이다. 콘브리오에서는 첼로로, 이번 연주에서는 비올라로 연주했다. 한번 연주하면 일단 힘들다. 곡 이름이 위풍당당인 것 처럼 크게 활질을 해야 하는 부분이 많다. 한가지 아쉬운 점이 있었다면, 평소 연습때는 out에 앉아서 여러 음 나올 때 높은 음을 계속 연주해오다가 공연 때는 in에 앉아서 낮은음을 연주해야 했다. 그런데도 습관적으로 높은음을 연주해버렸다.

가브리엘 오보에

오보에가 솔로로 연주한 이 곡은 오케스트라로는 처음 연주한 곡이다. 콰르텟으로는 에떼르노 모임에서 여러번 했었고, 고모 댁에 가서 마당에서 고기구워먹으며 연주를 부탁하는 친척분들이 주로 듣고싶어 하시는곡이라 혼자서 연주하곤 했었다. 그래도 역시 멜로디가 오보에로 나오니 정말 좋았다.


마녀배달부 키키 OST

히사이시 조 곡인 이 곡은 만화 배경음악 답게 잔잔하면서 마음을 울리는 곡이었다. 히사이시 조 메들리 만들 때 넣을까 했었는데, 포뇨를 넣는다고 넣지 않았던 기억이 있다. 처음 연주한 곡이었고, 공연때의 연주가 세번째 연주였는데, 할 때 마다 느낌이 달라 좋은 곡이었다. 후반부에는 리듬을 타는데, 연주하기 편하고 좋았다. 만화는 보지 않았지만 곡을 연주하면서 분위기는 느낄 수 있었다.

미녀와 야수 OST

콘브리오에 이어서 두번째로 공연한 이 곡은 버전이 다른건지 콘브리오 때랑은 조금 달랐다. 콘브리오에서는 첼로로 했었고, 이번에는 비올라로 했었다. 그래도 멜로디 라인은 비슷해서 쉽게 따라갈 수 있었다. 

센과 치히로의 행방불명 OST

클라 솔로로 한 이 곡은 아주 잔잔한 곡이었다. 리허설을 참석하지 못해 악보를 연주 당일 처음 봤는데, 피치카토 위주로 작게 연주하는 거라 부담없이 할 수 있었다. 

고장난 시계

듣기는 많이 들어봤는데, 연주는 처음했다. 초등학교 때 해본 것 같기도 한데, 잘 기억이 안난다. 짧고 쉬운 곡이었다. 똑딱똑딱 하는 소리가 영롱하니 좋았다.

내 마음의 강물

6월 쯤 어머니가 바이올린 + 소프라노로 해보자고 해서 처음 본 곡이다. 추석때 내려갔을 때에는 비올라로 했었다. 아름다운 멜로디를 가지고 있는 가곡으로, 연주하면서 부모님 생각이 나서 더 감명깊었다. 이번 공연에서는 테너분과 함께 했다. 성악 소리가 잘 들리지 않았지만, 울림이 대단한 것 같았다. 셋잇단음표 많이 있는 부분에서 약간 앞과 뒤가 다른 것 같아 잠시 헷갈렸었는데, 금방 자리를 찾아 연주했다.

오 솔레미오

유명한 성악곡, 오 솔레미오도 콰르텟으론 해봤는데 성악하고 하는것은 처음이었다. 비올라가 스케일로 올라가는 부분이 제일 마음에 들었다. 리허설 때 마디 하나가 사라져서 같이 연주하시는 분이 알려 주었는데, 이부분 실수할까 신경을 많이 써서 했다. 역시 틀리진 않았다.

아를르의 여인 2번 중 미뉴엣, 파랑돌

비제 곡인 이 곡은 1번과 2번으로 나누어져 있는데, 그중 2번 3악장 미뉴엣은 정말 많이 들어본 곡이지만 연주는 처음이었다. ABA형식인 이곡은 A에서 플룻이 수려하게 연주하면 현악기들이 피치카토로 반주를 깔아주다가, B에서 웅장하게 활질을 하고, 다시 A로 돌아와 조용하게 끝이 난다.


2번 4악장인 파랑돌은 이번 연주가 네번째다. 초등학교와 콘브리오에서는 바이올린으로, 부경대 객원으로 갔을 때 비올라로, 이번연주회에서도 비올라로 했었다. 비교적 최근에 한 곡이라 수월하게 했다.



앵콜로는 위풍당당행진곡을 한번 더 하고, 공연을 마쳤다. 좋은 사람들과 함께 한 공연이라, 더 멋진 하모니를 만들어 낼 수 있었다. 앞으로 있을 연주회에서 하게 될 핑갈의 동굴과 단존도 기대된다.


Posted by 딕스트라
,

OpenGL 원 그리기

OpenGL 2016. 9. 21. 17:57

앞 포스팅에서, 기본적인 점, 선 그리고 다각형을 그려보았다. 그럼 원은 어떻게 그릴 수 있을까?


OpenGL에서 바로 원을 그리는 방법은 내가 알기론 없다. 따라서, OpenGL에서는 원을 다각형으로 그리는데, 변이 매우 많은 다각형을 그림으로써 원처럼 보이게 할 수 있다.



첫째, 삼각함수를 이용하여 중점이 원점인 원을 그려보자.

반지름이 r 인 원의 중심이 원점에 위치할 때 원 위에 있는 임의의 한점은 (rcosΘ, rsinΘ)으로 나타낼 수 있다. 이를 코드로 나타내면 다음과 같다.

 

#include "gl/glut.h" #include <math.h> void display_circle() { glClearColor(1.0f, 1.0f, 1.0f, 1.0f); glClear(GL_COLOR_BUFFER_BIT); glColor3f(0.0f, 0.0f, 1.0f); double rad = 0.5; glBegin(GL_POLYGON); for(int i=0;i<360;i++) { double angle = i*3.141592 / 180; double x = rad*cos(angle); double y = rad*sin(angle); glVertex2f(x,y); } glEnd(); glFinish(); } int main(int argc, char** argv) { glutInit(&argc, argv); glutCreateWindow ("OpenGL"); glutDisplayFunc(display_circle); glutMainLoop(); return 0; }

display_circle이라는 함수를 먼저 보자. glClearColor와 glClear로 먼저 배경을 하얗게 해준다. 저번 포스팅에서는 이렇게 해주지 않아, 배경이 검정이었다. 


다음, 도형의 색을 glColor3f로 정의할 수 있다. glColor3f를 쪼개보면, glColor, 3, f로 나눌 수 있다. f는 float, 3은 3개, glColor은 색상, 즉 색상을 3개의 float으로 정의내린다는 것이다. 여기서 3개의 수는 빨강 초록 파랑인 RGB 코드를 0부터 1까지 조절할 수 있다.


반지름을 rad변수로 하고, 임의의 값 0.5로 해준다.


다음 다각형인 polygon으로 glBegin을 해주고, x와 y에 (rcosΘ, rsinΘ) 을 넣어주고 glVertex2f로 넣어준다.

여기서, glVertex2f도 glVertex, 2, f로 나눌 수 있다. 역시 두개의 float으로 꼭지점으로 정의내린다는 것이다.


C에서 cos, sin 삼각함수를 사용하기 위해 math.h를 넣는 것을 잊지말자. 또한 for문에서 i를 보면 0부터 360까지, 즉 각도임을 알 수 있다. 그러나 cos함수 안에 들어가는 angle 값은 라디안 값이기 때문에, 이를 angle 변수로 둬서 3.141592를 곱해주고 180을 나눠줌으로서 라디안으로 바꿔준다. 



둘째, 중점이 원점이 아닌 원을 그려보자.


이는 단순하다. 앞에서 구한 (rcosΘ, rsinΘ) 에 중점의 좌표 (cx,cy)를 더해주면 된다. 
double cx = 0.2;
double cy = 0.1;
glVertex2f(x + cx, y + cy);


셋째, 안이 비어있는 원을 그려보자.


앞의 두 예제에서는 glBegin(GL_POLYGON) 을 사용했기 때문에, 속이 차있는 원이였다. 그럼 속이 빈 원을 그리려면? GL_POLYGON 대신 GL_LINES을 사용하면 된다.

앞 포스팅에서, GL_LINES는 glVertex를 짝수개씩 써야 한다고 했었다. 이는, GL_LINES이 먼저 온 glVertex에서 다음 glVertex까지를 연결하는 선을 만들기 때문이다.

따라서 원을 그리려면, 0-1 1-2 2-3 3-4 ... 357-358 , 358-359 으로 선을 연결해 주어야 원이 연결되어있는 것처럼 보인다.

코드를 먼저 보자. display_circle을 조금 수정하였다.

void display_circle() { glClearColor(1.0f, 1.0f, 1.0f, 1.0f); glClear(GL_COLOR_BUFFER_BIT); glColor3f(0.0f, 0.0f, 1.0f); double rad = 0.5; double x[360], y[360]; glBegin(GL_LINES); for (int i = 0; i < 360; i++) { double angle; angle = i*3.141592 / 180; x[i] = rad*cos(angle); y[i] = rad*sin(angle); } for (int i = 0; i < 359; i++){ glVertex2f(x[i],y[i]); glVertex2f(x[i+1],y[i+1]); } glEnd(); glFinish(); }

먼저, for문을 두개로 나눠 첫번째 x y 배열에 계산값을 미리 넣어두었다. 두번째 for문에서는 짝수개씩 되도록, i와 i+1로 선을 그리게 했다. 여기서, 두 for문의 끝나는 조건이 360과 359로 다르므로, 유의해야한다.



넷째, 안이 비어있는 원을 GL_LINE_STRIP을 이용하여 그려보자.

GL_LINE으로 그리려니, 뭔가 인덱스도 i, i+1로 해야하고 for문도 두번 써야 하고 배열도 써야하고, 조금 복잡하다. 그래서 나온게 GL_LINE_STRIP이다. 이는 GL_LINE처럼 꼭지점을 짝수개로 해줄 필요가 없다. glVertex로 추가하는 꼭지점들을 직전의 꼭지점과 바로 연결시켜준다. 즉 꼭지점을 추가하는 대로 전부 다 선으로 연결해준다.


void display_circle() { glClearColor(1.0f, 1.0f, 1.0f, 1.0f); glClear(GL_COLOR_BUFFER_BIT); glColor3f(0.0f, 0.0f, 1.0f); double rad = 0.5; glBegin(GL_LINE_STRIP); for (int i = 0; i < 360; i++) { double angle,x,y; angle = i*3.141592 / 180; x = rad*cos(angle); y = rad*sin(angle); glVertex2f(x, y); } glEnd(); glFinish(); }



'OpenGL' 카테고리의 다른 글

OpenGL 점, 선, 삼각형, 사각형 그리기  (0) 2016.09.19
OpenGL freeglut Visual Studio 설치 방법  (2) 2016.09.06
Posted by 딕스트라
,

가장 간단한 도형 그리기


Visual Studio에 OpenGL 환경 설치 글 ( http://blog.amaorche.com/20 )의 예제소스코드를 다시 보자.

#include "gl/glut.h" void display() { glBegin(GL_POLYGON); glVertex2f(-0.5f, -0.5f); glVertex2f(0.5f, -0.5f); glVertex2f(0.5f, 0.5f); glVertex2f(-0.5f, 0.5f); glEnd(); glFinish(); } int main(int argc, char** argv) { glutInit(&argc, argv); glutCreateWindow("OpenGL"); glutDisplayFunc(display); // 여기서 그릴 함수를 넣어준다. glutMainLoop(); return 0; }

코드는 display 함수와 main 함수로 이루어져 있다.


먼저 main 함수를 보면, glut을 접두사로 붙이는 함수들이 있다. 

먼저 초기화 함수인 glutInit()을 해주고, 

새 창을 만드는 glutCreateWindow()를 해준다. 함수 전달인자에 있는 "OpenGL"은 새로 만들어지는 창 이름이다.


그 다음, 실제로 그리는 함수인 glutDisplayFunc()에서 우리가 필요한 그림을 그릴 수 있다. 함수 전달인자로, 그림을 그리는 함수를 넣어준다. 소스코드에서는 main 함수 위의 display 함수를 전달인자로 넘겨준다.


자, 그럼 다시 display 함수를 보자. 모든 함수 앞에는 gl이라는 접두사가 붙는다.


void display() {
	glBegin(GL_POLYGON);
	glVertex2f(-0.5f, -0.5f);
	glVertex2f(0.5f, -0.5f);
	glVertex2f(0.5f, 0.5f);
	glVertex2f(-0.5f, 0.5f);
	glEnd();
	glFinish();
}


간단하게 순차적으로 설명하자면, 이미 그려져 있는 것이 있다면 Clear로 깨끗하게 지운다. 그다음 Begin으로 시작하여 End까지, 그리고자 하는 도형 정보를 넣는다. 위 예제에서는 다각형을 그리는데, 


(-0.5,-0.5)

(0.5,-0.5)

(0.5,0.5)

(-0.5,0.5)


를 꼭지점으로 가지는 다각형(사각형)을 그린다.


여기서 다른 모양을 그리고 싶으면, Begin의 전달인자에 그리고자 하는 도형을 정하고 각 꼭지점 위치정보를 glVertex(x좌표,y좌표) 형태로 추가한다. 이때, openGL 창 정중앙이 (0,0)이다. 기본 도형의 glBegin 전달인자와 꼭지점 개수 조건은 다음과 같다.


점 : GL_POINTS , 꼭지점 개수조건 없음

선 : GL_LINES, 꼭지점 은 짝수개 있어야 함. 연결되지 않은 점은 그리지 않음

삼각형 : GL_TRIANGLES, 꼭지점은 3배수로 있어야 함. 3배수가 안되는 나머지 1~2개의 점은 그리지 않음

사각형 : GL_QUADS, 꼭지점은 4배수로 있어야 함, 4배수가 안되는 나머지 1~3개의 점은 그리지 않음

다각형 : GL_POLYGON 꼭지점은 2개 이상 (최소 삼각형을 그릴 수 있어야 함)



점 그리기


점은 Begin ~ End 사이에 있는 Vertex 수 만큼 그릴 수 있다. 점 크기를 조절하려면 glPointSize 함수를 사용하면 된다. 전달인자에 점 지름을 float로 넣을 수 있다.


glPointSize(10.0);
glBegin(GL_POINTS);
glVertex2f(-0.5f, -0.5f);
glVertex2f(0.5f, -0.5f);
glVertex2f(0.5f, 0.5f);
glVertex2f(-0.5f, 0.5f);
glEnd();
glFinish();




선 그리기


선은 GL_LINES 으로 그릴 수 있다. 꼭지점은 꼭 2배수로 있어야 한다. 홀수이면, 마지막 꼭지점은 무시된다. 선 두께를 조절하려면 glPointSize 함수를 사용하면 된다. 전달인자에 두께 픽셀 크기를 float로 넣을 수 있다.


glLineWidth(10.0);
glBegin(GL_LINES);
glVertex2f(-0.5f, -0.5f);
glVertex2f(0.5f, -0.5f);
glVertex2f(0.5f, 0.5f);
glVertex2f(-0.5f, 0.5f);
glEnd();
glFinish();








삼각형 그리기


삼각형은 GL_TRIANGLES 로 그릴 수 있다. 꼭지점은 3개가 꼭 있어야 한다. 순차적으로 3개씩 짝지어 내려갔을 때 남는 1개 또는 2개의 꼭지점은 그리지 않는다.


 	
glBegin(GL_TRIANGLES);
glVertex2f(-0.5f, -0.5f);
glVertex2f(0.5f, -0.5f);
glVertex2f(0.5f, 0.5f);
glEnd();



사각형 그리기


사각형은 GL_QUADS로 그릴 수 있다. 꼭지점은 4개가 있어야 하고, 마찬가지로 마지막 3개 이하의 꼭지점은 무시된다. 또한, 점의 방향 (반시계 또는 시계)을 유지해야 한다. 

	
glBegin(GL_QUADS);
glVertex2f(-0.5f, -0.5f);
glVertex2f(0.5f, -0.5f);
glVertex2f(0.5f, 0.5f);
glVertex2f(-0.5f, 0.5f);
glEnd();
glFinish(); 



다각형 그리기


기타 다각형은 GL_POLYGON으로 그릴 수 있다. 꼭지점은 최소 3개 이상이 있어야 한다.


glBegin(GL_POLYGON);
glVertex2f(-0.5f, -0.5f);
glVertex2f(0.5f, -0.5f);
glVertex2f(0.5f, 0.0f);
glVertex2f(0.0f, 0.5f);
glVertex2f(-0.5f, 0.0f);
glEnd();
glFinish();



'OpenGL' 카테고리의 다른 글

OpenGL 원 그리기  (1) 2016.09.21
OpenGL freeglut Visual Studio 설치 방법  (2) 2016.09.06
Posted by 딕스트라
,

 추석 연휴.. 늦은 점심으로 초밥을 먹고 학교에 가서 공부를 했다. 저녁 9시가 되어서, 배고파 져서 공부를 그만하고 나와 저녁을 먹을 곳을 찾았다. 처음에는 소고기 전문점이 장전역 앞 도마에 가려 했다. 차를 장전역 공영주차장에 세우고, 도마로 갔더니 일요일까지 추석연휴라는 안내문과 함께 문이 닫혀있었다. 그래서 온천장 본가에서 우삼겹과 김치찌개를 먹으려고 했는데, 주차장에 차를 세우니 관리하시는분이 본가도 빨리 문을 닫았다고 한다. 안그래도 늦은 시간에, 연휴라 그런지 가는 곳마다 허탕이었다.


 그래서.. 언제나 문이 열려있는 동래밀면에 갔더니, 동래밀면도 불이 꺼져있었다. 동래밀면이 평소에 새벽 5시에 문을 닫기때문에, 동래밀면에 불이 꺼져 있는 것은 처음 보았다. 그래서 결국 동래 공영주차장에 차를 세우고 다른 집을 찾기로 했다.


 차를 세우고 길로 나오는 순간.. 친구가 찾은 이집, '박대포 소금구이'이다. 처음에는 조금 꺼려졌으나, 엄청 유명하다는 친구의 말에 발길을 돌려 가게안으로 들어갔다.



위치 : 부산 동래구 온천천로 143

영업시간 : 매일 오후 5시 - 오전 3시





 가게는 원형 철제 테이블에 중간에 불판이 있는 평범하고 저렴한 고깃집 모습이다. 전체적인 분위기는 조금 어둡다. 테이블은 열개 정도 있었는데, 우리가 갔을 때에는 일곱팀 정도 있었다.


고기는 소금구이 180g 9000원, 껍데기 6000원이다. 우리는 소금구이 3인분을 주문했다.



밑반찬은 단촐하다. 물김치와 상추,부추겉절이. 그리고 쌈싸먹는 기본채소들이 전부다. 그리고 찍어먹는 소금과 초장.




주문하고 바로 나온 고기, 버섯 세점과 고기 네덩어리이다. 한눈에 봐도 두껍다. 부산대 앞도 그렇고, 보통 고기가 두꺼우면 대체로 맛이 좋았던 기억이 있어 기대를 조금 해본다. 직원이 자리에서 초벌구이를 해준다.




친구 자리에서 한 장 찍은 모습이다. 다시봐도 다른 고기 전문점과 비교했을 때, 밑반찬이 별로 없다. 그만큼 고기에 자신이 있어서 그런 것 같다.





초벌구이를 어느정도 하고나서, 다시 주방으로 가져가 먹기좋게 잘라서 내온다.



친구의 설정샷 한컷.


고기는 역시 유명한 만큼 맛있었다. 지방과 살코기가 적당히 있어서 느끼하지 않으면서도, 그렇다고 아주 퍽퍽하지도 않아 요 근래 먹었던 돼지고기 중 최고인 듯 하다. 




정말 맛있는 된장찌개.


그런데, 맛있는 고기 맛이 묻혀질 정도로, 같이 나온 된장찌개가 아주 맛있었다. 다른 보통 가게에서 먹던 된장찌개보다 훨씬 낫다. 이정도면 돈받고 먹어도 매우 만족할 맛인데, 고기랑 같이 그냥주니 더 좋다. 그래서 밥도 주문해서 같이 먹었다.



동래역 뒤 메가마트 쪽에는 유흥가라 음식점, 술집이 아주 많다. 그중 맛있는 고기를 먹고자 한다면 이 집을 다시 가지 않을까 싶다. 특히 된장찌개 맛이 생각나 한번 더 갈 것 같다.





Posted by 딕스트라
,

온천장역 근처에 있는 수제맥주 집에 갔다. 닭발집에 가려고 했는데, 닭발이 다떨어졌다고 해서, 친구가 추천한 이집으로 갔다. 아쉽게도 가게정면 사진은 찍지 못했는데, 간판에 크게 수제맥주 라고 적혀있고, 가게 이름인 Finger Craft Beer는 로고에 자그만하게 적혀있다. 수제맥주라는 것이 아주 크게 적혀있기 때문에, 못찾을 리는 없다.


주소 : 부산 동래구 온천천로 7

영업시간 : 오후 6시 - 오전 1시 30분








문이 투명한 미닫이문인데, 잘 열리지 않아 가게 직원이 열어주었다. 술마시면서도 계속 보니깐 직원이 바쁘게 오고가며 문을 열어주었다. 우리가 나갈 때도, 직원이 먼저 와서 문을 열어주었다.


가게는 조금 어둡다. 추석 전날 아홉시쯤 도착했는데, 안쪽 자리는 이미 꽉 차있었다. 문 바로 앞에 앉았는데, 옆에 책장에 오래된 책들이 많이 꽂혀 있었다. 친구가 컴공 아니랄까봐 운영체제 책도 찾았고, 전기회로 책도 찾아냈다.


메뉴판도 못찍었는데, 다른 수제맥주집처럼 과일향 나는 맥주 있었고 보통 맥주같은 밀 맥주도 있었고 흑맥주도 있었고 도수가 좀 쎈 맥주도 있었다. 가격대는 잔당 6천원 정도이었던 것 같다.


안주로는, 컴비네이션 피자 (1만6천원), 웨지 감자(8천원), 소시지 (1만원), 과일(1만원)이 있었다.




과일은 기본안주로 나왔다. 사과, 포도, 바나나, 오렌지. 자취하면서 과일을 잘 못먹다가 오랜만에 먹어서 그런지 과일들이 다들 맛이 좋았다. 우린 밀맥주 두잔과 웨지감자를 시켰다. 감자가 달구워진 팬 위에 나온다. 그 팬은 저렇게 나무통 위에 나온다. 데커레이션이 훌륭하다.


밀맥주는 평범했다. 맛이 없는 것은 아니었지만, 그렇다고 특별하게 기억남을 맛은 아니었다.




감자는 포슬포슬하게 맛있었고, 찍어먹는 소스는 케첩과 스위트칠리소스가 나왔다. 맥주랑 먹으니 잘 맞았다.

더 마시려다가, 51번 막차시간에 쫓겨 한잔만 하고 나왔다. 51번 버스 연장이 나에게 영향이 없을 줄 알았는데, 이렇게 되었다.


최근에 갔던  방배 카페거리에 있던 수제맥주집, 강남역 옥토버훼스트 등과 비교했을 때, 부산이라 그런지는 모르겠지만 저렴하면서도 맥주 맛은 비슷했다. 다음에 방문하면, 다른 맥주들도 맛보고싶다.

Posted by 딕스트라
,

오랜만에 친구를 만나, 밥을 먹으러 갔다. 어딜갈지 찾다가, 전부터 생각했던 우전의 녹차보쌈을 먹기로 했다.


녹차보쌈은, 학교 졸업식날 가려고 했는데 갑자기 동생이 스테이크를 먹고싶다해서 못갔다. 서울 올라와서는 종종 생각이 나서, 한번쯤은 가야겠다고 생각했다.


부경대에서부터 51번을 타고 쭉 가서, 온천장에서 친구를 51번에 태우고 더 간다. 51번은 학부 때, 차를 학교에 두고 오거나 술을 마시는 등 차를 안가져 갈 때 주로 타는 노선이다. 51번이 원래는 장전역에서 조금 더 가서 종점이었는데, 노포공영차고지가 생기고 나서 노포까지 간다. 그때문에 막차시간이 한시간 정도 앞당겨졌고, 배차간격도 길어졌다. 다행이 내가 졸업하고 나서 이렇게 바뀌었다.


부산외대 정류장 지나자 마자 남산고교 정류장에서 내리면 된다.

위치 : 부산 금정구 금샘로 503

영업시간 : 오전 10시 ~ 오후 10시





가게의 모습이다. 조금 오래된 듯 하다. 유리문에 '녹차음식 전문점'이라는 글씨에 눈길이 간다.



내부모습 1.


사장님이 앉아계시던 자리에는 마이크와 노트북이 있다.


내부모습 2


여타 한정식 집과 크게 다르지 않다. 추석 전날 늦은 점심시간이었는데, 5팀 정도 있었다.



메뉴판.


녹차보쌈만 생각하고 왔는데, 녹차보쌈은 없고 마늘양파보쌈이 있었다.


우리는 마늘양파보쌈 소 (25,000)으로 주문했다. 볶음밥도 있어서 되는지 여쭈어보니, 볶음밥은 녹차오리찜을 먹고 난 후에 할 수 있는 것이라 했다.

주문하고 보니, 보쌈만 하는것 보단 보쌈 한접시에 항아리 수제비 등 국물있는 것을 하는게 더 좋아보였다.




밑반찬도 정갈하게 잘 나왔다. 그중에서 미역나물무침이 가장 맛있었다. 오른쪽에 있는게 마늘소스인데, 고기를 그냥 먹으면 담백하고, 소스에 찍어 먹으면 조금 새콤하면서 맛을 잘 잡아준다. 사실 고기 맛을 잘 모르지만, 고기는 비린내만 잡으면 충분히 맛있기 때문에 딱히 가리지는 않는다. 공기밥은 별도이다.




고기 근접샷.


다른 글 찾아보니, 녹차보쌈일 때도 이거랑 비슷하게 나온 것 같았다. 물어보진 않았지만, 아마 마늘소스가 추가되고 이름이 변경된게 아닌가 싶다.




위치가 산쪽임에도 불구하고 많은 버스가 앞으로 지나가기 때문에 접근성은 좋다. 고기도 맛있었고, 양도 부족하지 않았다.

하지만, 다음에는 다른 사이드 메뉴(칼국수, 수제비 등)과 같이 먹을까 한다.





Posted by 딕스트라
,

C++에서 점, 선 면 등 도형을 그리거나, 창 조절, 키보드나 마우스 입력등을 처리할 때 GLUT(OpenGL Utility Toolkit) 라이브러리를 사용한다. 하지만 GLUT는 오픈소스도 아니고, 옛날에 업데이트가 중단되었다.


따라서 최근까지 업데이트 되어오고 있는 freeglut라는 오픈소스 GLUT 라이브러리를 사용하는 것이 더 좋다.

(가장 최근버전이, 2015년 3월 7일에 릴리즈된 freeglut 3.0.0 버전이다.)


Visual Studio에서 freeglut을 사용하기 위해선 간단한 설정을 해주어야 한다.


설치 환경은 i7-2600K, Microsoft Windows 8.1, Visual Studio 2015이다.







먼저,  Visual Studio를 켜 새 프로젝트를 만든다.


물론 C++ 탭에서, 콘솔 응용 프로그램으로 해야한다.



추가 옵션에 빈 프로젝트에 체크해준다.



소스파일도 추가해 준다.



다음, freeglut 파일을 다운받는다.


Visual studio에서 사용하므로, MSVC Package를 받으면 된다.


링크 : http://www.transmissionzero.co.uk/software/freeglut-devel/




다운 받으면 다음과 같은 bin, include, lib 폴더가 있다.


우리가 필요한 폴더와 파일은 총 3개이다.


그중 폴더는 include, lib폴더이다.

필요한 파일은 bin 폴더 안의 freeglut.dll 이다.




다시, 프로젝트로 돌아와서 솔루션 오른쪽으로 클릭해서, 파일탐색기에서 폴더 열기를 누른다.




그렇게 나온 폴더에서, 프로젝트 이름으로 된 폴더에 들어간다. (즉, 소스 파일이 있는 폴더)


주의! 파일 탐색기에서 폴더 열기해서 바로 나오는 폴더 이름도 프로젝트 이름이고, 우리가 들어가고자 하는 폴더도 프로젝트 이름이므로 헷갈리기 쉽다. 


아래 사진 처럼, 프로젝트 이름이 폴더 주소에 두번 나오는지 한번 더 확인하는게 좋다.



다운받은 freeglut 폴더에서 include, lib폴더와 bin폴더의 freeglut.dll을 복사한다.


이렇게 하면, 파일은 다 준비되었다.



다시, Visual Studio로 돌아온다.



프로젝트 탭에 속성을 누른다.



C/C++에 추가 포함 디렉터리에 ./include 를 넣어준다.



다음, 링커 탭으로 가서 일반에 추가 라이브러리 디렉터리에 ./lib 을 넣어준다.





마지막으로, 링커 탭, 입력에 추가 종속성에 기존 내용 앞 혹은 뒤에 opengl32.lib;glu32.lib;freeglut.lib; 을 넣어준다. 


여기서 ; 는 파일간의 구분자이다.



그렇게 한 다음, 예제 소스를 복사하여 컴파일한다.






이렇게 파란 상자가 나오면 된다.


이렇게 하면 OpenGL freeglut을 Visual Studio에서 사용하는 준비가 다 끝난 것이다.




예제소스



 
#include "gl/glut.h"
void display() {
	glClearColor(1.0f, 1.0f, 1.0f, 1.0f);
	glClear	(GL_COLOR_BUFFER_BIT);
	glColor3f(0.0f, 0.0f, 1.0f);
	glBegin
		(GL_POLYGON);
	glVertex2f(-0.5f,-0.5f);
	glVertex2f(0.5f,-0.5f);
	glVertex2f(0.5f, 0.5f);
	glVertex2f(-0.5f, 0.5f);
	glEnd();
	glFinish();
}
int main(int argc, char** argv)
{
	glutInit(&argc, argv);
	glutCreateWindow
		("OpenGL");
	glutDisplayFunc(display);
	glutMainLoop();
	return 0;
}


'OpenGL' 카테고리의 다른 글

OpenGL 원 그리기  (1) 2016.09.21
OpenGL 점, 선, 삼각형, 사각형 그리기  (0) 2016.09.19
Posted by 딕스트라
,

서울 집에서 쓰던 LG 27인치 모니터 D2743이 갑자기 가장자리에 줄무늬가 보이기 시작했다. D2743 모델은 편광으로 3D를 구현하는 3D모니터라 평소에도 가만히 보고 있으면 다른 모니터에 비해 전체적으로 가로 줄무늬가 있는 듯 없는 듯 보인다. 하지만, 이는 아주 미세한 줄무늬로, 자세히 보면 보이지만 계속 보다보면 적응을 해서 잘 보이지 않는다. (사기 전 구매후기를 보니깐 민감한 사람은 굉장이 불편해 하긴 한다.)


그런데 이번 줄무늬는, 화면 오른쪽 가장자리에서 아주 뚜렷하게 보였고, 간격도 픽셀 간격이 아니라 픽셀 3개 정도 간격을 두고 줄무늬가 보여, 확실히 고장이란 것을 알 수 있었다.




이렇게 간격을 두고 검은 줄무늬가 보였다. 그래서 LG서비스센터에 방문출장요청을 남겼다.


남긴 시간이, 퇴근하고 나서 7시 20분쯤이었는데, 남기자 마자 바로 전화가 온다.


서비스센터 기사님의 전화였는데, 증상을 말씀드리고 사진찍어 보내니 이렇게 되는거면 거의 패널불량이고, 패널불량이면 차라리 하나 새로 사는게 수리하는 값보다 더 저렴하다고 하신다.


그래서 방문 출장은 자연스럽게 취소되었다.





그래서 새 모니터를 샀다. 


LG전자의 27인치 TV겸용 모니터 27MT58DF 이다.

고장 안난 다른 모니터가 TV수신이 되지만, 이 모델이 PIP가 된다기에 혹해서 이걸로 결정했다.


11번가에서 구입했는데, 뽁뽁이로 포장을 잘 해서 왔다.



기존 모니터를 암에서 빼고,



새 모니터를 설치했다.



켜고나서 처음으로 본 환영합니다! 화면이다. 3D 지원하지 않는 것이라 그런가, TV가 되는 모델이라 그런가 전에 쓰던 모니터와 비교했을때 픽셀도 잘 보이지 않고 아주 깨끗하다.


작년에 65인치 TV를 샀는데, TV모니터라 그런가 처음 시작하는 화면이 비슷한 것 같다. 

간단한 설정만 해주면 넘어간다.




동축 케이블을 연결시켜서 TV신호를 잡아주고, PIP 기능을 해봤다.

좋긴 한데 뭔가 컴퓨터 작업할 때 보기엔 불편해 보인다.

TV분배기 사서 둘다 연결시켜서 편한 대로 볼 수 있게 해야겠다.


이 제품에도 제품에 TV 리모컨이 같이 온다.


그런데 문제가 하나 있다.


이 제품하고 듀얼로 같이 쓰는 모니터가 LG 27인치 tv되는 M2780 모델인데,

새로받은 리모컨 조작을 하면 두개가 같이 신호를 받는다. 조금 골치아프다.


자기 전에 TV를 보려면 모니터 둘 다 켜놓고 TV를 보고, 침대에서 리모컨으로 같이 꺼야겠다.


고장난 모니터는 라즈베리파이를 하나 구해서 뭔가 새로운 것을 한번 만들어보고 싶다.


Posted by 딕스트라
,

아마추어 오케스트라를 지도 기반으로 소개해주는 웹서비스를 만들어 운영하고 있다.

이름은 아마오케이고, 주소는 http://amaorche.com 이다.

주요 서비스는 아마추어 오케스트라 소개와 그들의 공연 소개이다.


제작 전


2월에 서울 올라와서, 취미로 할 아마추어 오케스트라를 찾아보았는데, 정보가 다들 흩어져 있다보니 찾기가 힘들었다. 그러던 중, 우연히 알게된 분당의 챔버 오케스트라를 한번 가보았는데, 서울대입구에서 성남문화회관 까지 가는게 힘들어서 한번 나가도 나가지 않았다. (그렇게 먼 줄 몰랐다)


나같이 아마추어 오케스트라를 찾는 사람들이 많이 있을 것이라 생각하고, 


'사람들이 오케스트라를 쉽게 찾을 수 는 없을까' 


라는 한 줄의 생각에서 시작하게 되었다.



제작 과정


2016년

4월 초,       기본적인 아이디어 구상을 했다.


4월 중순,     13일 수요일이 선거라 공휴일이여서, 그날 많이 해서 이 주에 기본적인 서비스를 다 만들었다.

웹은 하나도 몰라 처음에는 c# 블로그 강좌를 보면서 vs에서 DB CRUD 를 만들고 있었는데 뭔가 어려웠다. 분명 더 쉬운게 있을 거라 생각하고 찾아서 결국에는 PHP - JS로 만들게 되었다. IDE로는 phpstorm을 사용했다.

이 때, 개발도 하면서 아마추어 오케스트라들에게 연락을 해 사이트 목적을 소개하고, 정보를 제공해달라고 요청했다. 많은 오케스트라들이 정보 제공을 해주었고, 그중 몇몇은 이런 사이트를 만들어 주어서 고맙다는 말까지 해주었다. 


4월 말,        중간고사도 있고 그래서 연구실 나가면서 밤마다 틈틈히 더 만들고 버그 수정을 많이 했다. 

웹 개발(php, js)는 학부 때 수업을 듣지 않았지만, C와 유사한 부분이 많아 stack overflow 등을 참조해서 개발을 진행했다. 또, 초기개발에는 Azure 클라우드를 사용했었는데, 무료사용기간 1달이 다 되어서 이것을 cafe24 서비스로 옮겼다. 그러면서 이름도 '아마오케'로 정하고, 도메인 http://amaorche.com 도 구입하였다.


5월 중순,     종종 들리던 네이버 카페 '바이올린 친구되기'에 아마오케 소개글을 올렸다.

많은 사람들이 좋아해주어 기뻤다.


지금           계속 서비스하면서 틈틈히 더 개발중이다.





이렇게 지도 기반으로, 자기 주변의 오케스트라를 볼 수 있다.


오케스트라 상세정보도 볼수 있고




공연 정보도 볼 수 있다.


앞으로도 틈틈히 더 만들고자 한다.

 


Posted by 딕스트라
,