모바일 오유 바로가기
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
    조회수 : 542
    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 초과시 해당없음)

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

    번호 제 목 이름 날짜 조회 추천
    209778
    섬유유연제 분무기 넣어서 쓰면 안되나요? [2] 별일없이산다 25/02/18 22:32 483 4
    209777
    BNB 체인이랑 솔라나 유행인가보네요 [3] ciwnlzk78 25/02/17 09:41 365 1
    209776
    이거 수도계량기 뭔가 잘못된거 같은데요... [1] 한달동안 25/02/15 04:02 630 1
    209775
    혹시 겨울철 한파때 물 틀어놓는거 언제까지 틀어야 하나요? [6] 한달동안 25/02/14 23:04 526 0
    209774
    바낸 알파 SHELL 핫하네요.. ecoejls 25/02/14 09:54 414 0
    209773
    글쓰기에 관해서 [5] 좋은펜 25/02/13 20:27 332 0
    209772
    계속 쓸지 말지의 질문. [5] 좋은펜 25/02/07 13:32 739 1
    209771
    벽 결로로 생긴 곰팡이 제거 영상 펌글 변태궁디Lv9 25/02/06 16:43 851 2
    209770
    유튜브 화면이 자동으로 설정화면이 안없어지네요. 아름다운시선 25/01/27 09:15 937 0
    209769
    이거 어디껀지 아시는분 있을까요? [3] 세기소녀30 25/01/12 18:19 1353 0
    209767
    수도요금 계산. 부탁 드립니다. [4] 아름다운시선 25/01/06 12:38 1550 0
    209766
    진짜 간만에 들어오는데 또또7 24/12/31 20:35 1351 0
    209765
    남자 옆머리 뜨는거 다운펌 말고 없나요?? [4] 짜라냥 24/12/28 23:29 1723 0
    209764
    평발 수술 재활 어느쪽? 짜라냥 24/12/26 23:00 1689 0
    209763
    구글보다 잘하는 문서번역기 써보세요 [2] rWhale 24/12/26 14:22 1527 1
    209762
    혹시 저처럼 겨울에 겨울잠 비슷하게 자는사람 있어요? [1] 변태궁디Lv8 24/12/22 16:31 1683 2
    209760
    전월세 전환율,,, 계산 ,,, 도와주세요ㅠ 찌끄릿 24/12/18 23:52 1565 0
    209759
    LH 임대주택 질문 드려요.. [2] 잠이가온다 24/12/10 21:16 1780 0
    209757
    여러분, 폐지 떨어진거 보이면 어떻게 하시나요? ㅗㅠㅑ 24/11/20 16:48 2213 3
    209755
    일상에서 받을 수 있는 신고 포상금 펌글 어벤져스a 24/11/15 16:33 2220 1
    209754
    그 여자분들 생리주기가 있잖아요? 섹스 주기적으로 하는게 어떤 영향이 ? [10] 변태궁디Lv7 24/11/15 13:54 2631 3
    209753
    4대보험 질문좀요 [2] 루드라 24/11/11 21:21 2111 1
    209752
    소설 초고쓰기 좋은펜 24/11/08 07:17 2098 1
    209751
    소설쓰기에 재능이 없는걸까요? [2] 창작글 좋은펜 24/11/05 20:54 2127 2
    209750
    18650 배터리팩 분리 [4] 창작글 뜨엽이 24/11/04 16:28 2462 0
    209749
    특비삼 이라는 뜻이 궁금합니다. [6] 미안2 24/11/03 17:51 2297 1
    209748
    오유 생활 라이프 질문 창작글펌글 민트날개 24/11/02 20:45 2071 0
    209746
    미디어 위키를 만들려는데, 창작글 민트날개 24/10/25 12:06 2276 0
    209744
    원룸 단체 인터넷 비용에 대한 조언 구합니다 [2] 대고참 24/10/21 19:45 2374 0
    209743
    PPT 꾸미기 창작글 애왕이 24/10/13 08:47 2552 2
    [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [다음10개▶]
    단축키 운영진에게 바란다(삭제요청/제안) 운영게 게시판신청 자료창고 보류 개인정보취급방침 청소년보호정책 모바일홈