모바일 오유 바로가기
http://m.todayhumor.co.kr
분류 게시판
베스트
  • 베스트오브베스트
  • 베스트
  • 오늘의베스트
  • 유머
  • 유머자료
  • 유머글
  • 이야기
  • 자유
  • 고민
  • 연애
  • 결혼생활
  • 좋은글
  • 자랑
  • 공포
  • 멘붕
  • 사이다
  • 군대
  • 밀리터리
  • 미스터리
  • 술한잔
  • 오늘있잖아요
  • 투표인증
  • 새해
  • 이슈
  • 시사
  • 시사아카이브
  • 사회면
  • 사건사고
  • 생활
  • 패션
  • 패션착샷
  • 아동패션착샷
  • 뷰티
  • 인테리어
  • DIY
  • 요리
  • 커피&차
  • 육아
  • 법률
  • 동물
  • 지식
  • 취업정보
  • 식물
  • 다이어트
  • 의료
  • 영어
  • 맛집
  • 추천사이트
  • 해외직구
  • 취미
  • 사진
  • 사진강좌
  • 카메라
  • 만화
  • 애니메이션
  • 포니
  • 자전거
  • 자동차
  • 여행
  • 바이크
  • 민물낚시
  • 바다낚시
  • 장난감
  • 그림판
  • 학술
  • 경제
  • 역사
  • 예술
  • 과학
  • 철학
  • 심리학
  • 방송연예
  • 연예
  • 음악
  • 음악찾기
  • 악기
  • 음향기기
  • 영화
  • 다큐멘터리
  • 국내드라마
  • 해외드라마
  • 예능
  • 팟케스트
  • 방송프로그램
  • 무한도전
  • 더지니어스
  • 개그콘서트
  • 런닝맨
  • 나가수
  • 디지털
  • 컴퓨터
  • 프로그래머
  • IT
  • 안티바이러스
  • 애플
  • 안드로이드
  • 스마트폰
  • 윈도우폰
  • 심비안
  • 스포츠
  • 스포츠
  • 축구
  • 야구
  • 농구
  • 바둑
  • 야구팀
  • 삼성
  • 두산
  • NC
  • 넥센
  • 한화
  • SK
  • 기아
  • 롯데
  • LG
  • KT
  • 메이저리그
  • 일본프로야구리그
  • 게임1
  • 플래시게임
  • 게임토론방
  • 엑스박스
  • 플레이스테이션
  • 닌텐도
  • 모바일게임
  • 게임2
  • 던전앤파이터
  • 마비노기
  • 마비노기영웅전
  • 하스스톤
  • 히어로즈오브더스톰
  • gta5
  • 디아블로
  • 디아블로2
  • 피파온라인2
  • 피파온라인3
  • 워크래프트
  • 월드오브워크래프트
  • 밀리언아서
  • 월드오브탱크
  • 블레이드앤소울
  • 검은사막
  • 스타크래프트
  • 스타크래프트2
  • 베틀필드3
  • 마인크래프트
  • 데이즈
  • 문명
  • 서든어택
  • 테라
  • 아이온
  • 심시티5
  • 프리스타일풋볼
  • 스페셜포스
  • 사이퍼즈
  • 도타2
  • 메이플스토리1
  • 메이플스토리2
  • 오버워치
  • 오버워치그룹모집
  • 포켓몬고
  • 파이널판타지14
  • 배틀그라운드
  • 기타
  • 종교
  • 단어장
  • 자료창고
  • 운영
  • 공지사항
  • 오유운영
  • 게시판신청
  • 보류
  • 임시게시판
  • 메르스
  • 세월호
  • 원전사고
  • 2016리오올림픽
  • 2018평창올림픽
  • 코로나19
  • 2020도쿄올림픽
  • 게시판찾기
  • 게시물ID : jisik_62252
    작성자 : W
    추천 : 1
    조회수 : 539
    IP : 129.22.***.226
    댓글 : 3개
    등록시간 : 2009/07/01 10:50:07
    http://todayhumor.com/?jisik_62252 모바일
    openGL 대해서 다시한번 질문 올려봅니다;
    지금 아래에 있는 코드는
    제가 막힌거는 3D 좌표 (x,y,z 좌표 (coordinates))들을 그리고
    마우스로 화면을 움직이면은 화면을 왔다갔다하는걸로 만들려고하는데....

    현재는 키보드로만 왔다갔다할수있습니다...
    근데 마우스로 하는거는 어떻게 하는지 모르겟네요..

    약 20시간 넘게 공부 + 인터넷 뒤지고해서 이제 마우스 function들은 대충 알아낸거같은데 = _=
    이것들을 도저히 어떻게 코드에 삽입해야할지 모르겠네요;

    마우스로는 도데체 어떻게 할지 모르겟네요 ㅠㅠ
    좀 도와주세요 ㅠ
    마우스로 드레그하면은 화면이 움직이게 하고싶은데 ㅠㅠ


               
    #include <stdafx.h>
    #include <GL/glut.h> // Once you include glut.h (you don't need gl.h or glu.h)   


    GLfloat X = 0.0f; // Translate screen to x direction (left or right)
    GLfloat Y = 0.0f; // Translate screen to y direction (up or down)
    GLfloat Z = 0.0f; // Translate screen to z direction (zoom in or out)
    GLfloat rotX = 0.0f; // Rotate screen on x axis 
    GLfloat rotY = 0.0f; // Rotate screen on y axis
    GLfloat rotZ = 0.0f; // Rotate screen on z axis
    GLfloat rotLx = 0.0f; // Translate screen by using the glulookAt function (left or right)
    GLfloat rotLy = 0.0f; // Translate screen by using the glulookAt function (up or down)
    GLfloat rotLz = 0.0f; // Translate screen by using the glulookAt function (zoom in or out)

    void glDisplayLines(void); // Did declare the function so I did not have to check for order of the functions

    // Initiliaze the OpenGL window
    void init(void)
    {
        glClearColor (0.0, 0.0, 0.0, 0.0); // Clear the color 
        glShadeModel (GL_FLAT); // Set the shading model to GL_FLAT
        glEnable (GL_LINE_SMOOTH);
        glHint(GL_LINE_SMOOTH_HINT, GL_NICEST); // Set Line Antialiasing
    }

    // Draw the lines (x,y,z)
    void display(void)

        glClear (GL_COLOR_BUFFER_BIT); // Clear the Color Buffer 
        glPushMatrix(); // It is important to push the Matrix before calling glRotatef and glTranslatef
        glRotatef(rotX,1.0,0.0,0.0); // Rotate on x
        glRotatef(rotY,0.0,1.0,0.0); // Rotate on y
        glRotatef(rotZ,0.0,0.0,1.0); // Rotate on z
        glTranslatef(X, Y, Z); // Translates the screen left or right, up or down or zoom in zoom out
        // Draw the positive side of the lines x,y,z
        glBegin(GL_LINES);
        glColor3f (0.0, 1.0, 0.0); // Green for x axis
        glVertex3f(0,0,0);
        glVertex3f(10,0,0);
        glColor3f(1.0,0.0,0.0); // Red for y axis
        glVertex3f(0,0,0);
        glVertex3f(0,10,0);
        glColor3f(0.0,0.0,1.0); // Blue for z axis
        glVertex3f(0,0,0); 
        glVertex3f(0,0,10);
        glEnd();

        // Dotted lines for the negative sides of x,y,z
        glEnable(GL_LINE_STIPPLE); // Enable line stipple to use a dotted pattern for the lines
        glLineStipple(1, 0x0101); // Dotted stipple pattern for the lines
        glBegin(GL_LINES); 
        glColor3f (0.0, 1.0, 0.0); // Green for x axis
        glVertex3f(-10,0,0);
        glVertex3f(0,0,0);
        glColor3f(1.0,0.0,0.0); // Red for y axis
        glVertex3f(0,0,0);
        glVertex3f(0,-10,0);
        glColor3f(0.0,0.0,1.0); // Blue for z axis
        glVertex3f(0,0,0);
        glVertex3f(0,0,-10);
        glEnd();
        glDisable(GL_LINE_STIPPLE); // Disable the line stipple
        glPopMatrix(); // Don't forget to pop the Matrix
        glutSwapBuffers();
    }

    // This function is called whenever the window size is changed
    void reshape (int w, int h)
    {
        glViewport (0, 0, (GLsizei) w, (GLsizei) h); // Set the viewport
        glMatrixMode (GL_PROJECTION); // Set the Matrix mode
        glLoadIdentity (); 
        gluPerspective(75, (GLfloat) w /(GLfloat) h , 0.10, 100.0);
        glMatrixMode(GL_MODELVIEW);
        glLoadIdentity();
        gluLookAt (rotLx, rotLy, 15.0 + rotLz, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0); 
    }

    // called on special key pressed
    void specialKey(int key, int x, int y) { 

    // The keys below are using the gluLookAt() function for navigation
    // Check which key is pressed

    switch(key) {
        case GLUT_KEY_LEFT : // Rotate on x axis
        X -= 0.1f;
        break;
        case GLUT_KEY_RIGHT : // Rotate on x axis (opposite)
        X += 0.1f;
        break;
        case GLUT_KEY_UP : // Rotate on y axis 
        Y += 0.1f;
        break;
        case GLUT_KEY_DOWN : // Rotate on y axis (opposite)
        Y -= 0.1f;
        break; 
        case GLUT_KEY_PAGE_UP: // Roatae on z axis
        Z -= 0.1f;
        break;
        case GLUT_KEY_PAGE_DOWN:// Roatae on z axis (opposite)
        Z += 0.1f;
        break;
    }
        glutPostRedisplay(); // Redraw the scene
    }


    // Main entry point of the program
    int main(int argc, char** argv)
    {
        glutInit(&argc, argv);
        glutInitDisplayMode (GLUT_DOUBLE | GLUT_RGB); // Setup display mode to double buffer and RGB color
        glutInitWindowSize (600,600); // Set the screen size
        glutCreateWindow("OpenGL 3D Navigation Program");
        init ();
        glutReshapeFunc(reshape); 
        glutDisplayFunc(display); 
        glutSpecialFunc(specialKey); // set window's to specialKey callback
        glutMainLoop();

        return 0;
    }

    이 게시물을 추천한 분들의 목록입니다.
    [1] 2010/01/29 07:22:25  66.249.***.144  
    푸르딩딩:추천수 3이상 댓글은 배경색이 바뀝니다.
    (단,비공감수가 추천수의 1/3 초과시 해당없음)

    죄송합니다. 댓글 작성은 회원만 가능합니다.

    번호 제 목 이름 날짜 조회 추천
    209751
    소설쓰기에 재능이 없는걸까요? [2] 창작글 좋은펜 24/11/05 20:54 188 2
    209750
    18650 배터리팩 분리 [3] 창작글 뜨엽이 24/11/04 16:28 409 0
    209749
    특비삼 이라는 뜻이 궁금합니다. [6] 미안2 24/11/03 17:51 378 1
    209748
    오유 생활 라이프 질문 창작글펌글 민트날개 24/11/02 20:45 272 0
    209746
    미디어 위키를 만들려는데, 창작글 민트날개 24/10/25 12:06 566 0
    209744
    원룸 단체 인터넷 비용에 대한 조언 구합니다 [2] 대고참 24/10/21 19:45 617 0
    209743
    PPT 꾸미기 창작글 애왕이 24/10/13 08:47 917 2
    209742
    로또가 정부꺼였어요?? [8] 변태궁디Lv5 24/10/10 17:12 1185 3
    209740
    수학문제 도움 !! [5] 유전자몰빵 24/10/09 17:02 859 1
    209738
    올해 연말정산 준비에 알면 좋은 정보 치킨런레벨2 24/09/26 17:59 1157 0
    209737
    캐나다에 택배 보낼게 있는데요 [2] 행자는파괴신 24/09/24 15:08 1179 0
    209736
    이거 어떻게 지우나요 [2] 아름다운시선 24/09/22 04:50 1251 0
    209733
    엑셀 고수님들 찾아요. [2] 베스트금지베오베금지 육구시타리아 24/09/05 10:43 1453 0
    209732
    네이버 블로그와 페이스북의 차이는 뭘까요? [2] 쌍파리 24/09/04 09:40 1456 0
    209731
    엑셀 수식 질문~~! [10] 무사신 24/09/03 16:42 1539 1
    209730
    PG-13등급에 대해서 인체물리학 24/09/01 02:27 1451 0
    209728
    혈당 전문가 계신가요? [9] 스노보더 24/08/25 09:20 1842 0
    209727
    회사에서 용접실을 만드는데.. [2] 착착착 24/08/22 10:50 1870 0
    209726
    외장하드 할당되지않음, 그리고 RAW [2] [진진] 24/08/20 10:12 1680 1
    209721
    방탈출 잘 아시는 분께 ! 너무 궁금해서요ㅜㅜ [1] 호생원 24/08/16 21:56 1607 1
    209720
    와이파이 회로차단기 탁탁거리는 현상 원인이 뭘까요? [9] 우가가 24/08/07 22:43 1901 0
    209719
    매제의 매제를 뭐라고 불러야 할까요? [4] xNellyx 24/08/04 19:26 2009 0
    209718
    헉헉 전등 잔광발생 원인 알아보는 영상 [2] 변태궁디Lv3 24/08/04 18:48 1887 1
    209717
    문뜩 남자 정력 따로 충전보관 가능했으면 좋겠음돠 [2] 변태궁디Lv3 24/08/04 11:48 2021 1
    209716
    아들래미 짤 편집좀 도와주세요 [2] 된장마왕 24/08/02 01:52 2007 1
    209715
    거래소 코인 메타가 다시 돌아오고 있는데? dsafadsf 24/07/28 12:00 2086 0
    209712
    수도 계량기 표시 되는 사용량이 이상하다고 느껴집니다. [2] 채하파도 24/07/21 10:56 2213 1
    209709
    안녕하세요 개인정보(휴대폰번호유출)관련해서 물어보고싶은게 있습니다. [1] 외부펌금지 본명김경호 24/07/06 12:48 2358 2
    209708
    한자 좀 알려주시면 감사하겠습니다. [1] 대왕두더지 24/07/04 20:18 2335 0
    209707
    부산에 래쉬가드 수선 가능한곳 아시나요? 펜타토닉스 24/07/04 13:41 2430 0
    [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [다음10개▶]
    단축키 운영진에게 바란다(삭제요청/제안) 운영게 게시판신청 자료창고 보류 개인정보취급방침 청소년보호정책 모바일홈