개발자_이훈규
천천히, 빠르게. 개발자의 Repository
개발자_이훈규
전체 방문자
오늘
어제
  • 분류 전체보기 (473)
    • 티스토리 (4)
    • 개발자 뉴스 (2)
    • 소프트웨어 (203)
      • C (7)
      • c++ (25)
      • Objective-C (3)
      • Do it! 반응형 웹디자인 (4)
      • openGL (8)
      • Java (24)
      • Jni (3)
      • Android (9)
      • Wordpress (2)
      • 버그 만난 후 느낀점 (2)
      • Git (3)
      • node js (2)
      • window tablet (1)
      • HTML (3)
      • javascript (3)
      • perl (1)
      • AngularJS (0)
      • JSON (0)
      • Docker (3)
      • python (5)
      • jQuery (1)
      • MFC (4)
      • cocos studio (6)
      • Golang (1)
      • SQLite3 (0)
      • Spring Boot (8)
      • thymeleaf (0)
      • Django (0)
      • iOS (3)
      • skia (0)
      • VBA (0)
      • PHP (2)
      • Oracle (1)
      • JSP (0)
      • R (0)
    • TCP IP (2)
    • 금융 (0)
      • 금융 Study (0)
      • 금융 Archive (0)
      • 금융 Article (0)
    • 개인 프로젝트 (7)
      • gif 홈페이지 만들기 (0)
      • study app만들기 (0)
      • 크롤러 만들기 (1)
      • 카툰 홈페이지 만들기 (1)
      • 외주 홈페이지 만들기 (3)
      • 웹 홈페이지 만들기 (0)
      • 미디어 서버 만들기 (0)
      • 소개팅 어플 만들기 (0)
      • 인스타그램 풀스택 클론 코딩(인강 노트) (0)
      • 주식 모의거래 만들기 (1)
    • html php mysql (0)
    • node.Js (2)
    • 일상 (2)
    • 빈공간 uml 공부 (0)
    • Ubuntu(linux) (12)
    • 맥OS (10)
      • android 설치하기 (2)
    • Programming quizzes (0)
    • IoT (구 유비쿼터스) (16)
      • 라즈베리 파이 (11)
      • 아두이노 (5)
    • 하드웨어 (5)
      • 아수스 비보탭 노트8 asus vivotap no.. (2)
      • 크레마 카르타 (3)
    • 분석할 문장, 구문, 코드 (0)
    • 키보드 (1)
      • 해피해킹 (1)
    • 코드 라이언 (0)
    • 전자기기 (4)
    • Ted (0)
    • NAS (0)
    • 알고리즘 (0)
    • 연합인포맥스 (0)
    • 이벤트 응모함 (4)

블로그 메뉴

  • 홈
  • 태그
  • 미디어로그
  • 위치로그
  • 방명록

공지사항

인기 글

태그

  • 소스
  • install
  • Java
  • ubuntu
  • 개발
  • 방법
  • Python
  • error
  • 코드
  • Example
  • 라즈베리 파이
  • C
  • 에러
  • GIT
  • 설명
  • 우분투
  • CODE
  • C++
  • 설치
  • 예제

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
개발자_이훈규

천천히, 빠르게. 개발자의 Repository

openGL | openGL 2강-화면(2)
소프트웨어/openGL

openGL | openGL 2강-화면(2)

2014. 1. 10. 17:30


    환경 : ubuntu 13.10 64bit


http://yooninsung.blog.me/30090383243

위 블로그의 코드를 수정하였습니다.

위 블로그는 window 운영체제, 저는 우분투 운영체제에서 코드를 수정해서 동작했습니다.

(Ubuntu 13.10)



기존의 소스를 그대로 사용

$ cp lecture2.cpp lecture3.cpp


컴파일

g++ lecture3.cpp -lGL -lGLU -lglut -o lecture3


소스

#include <GL/freeglut.h>

#include <GL/gl.h>


void cosmosDisplay() {

    glClear(GL_COLOR_BUFFER_BIT);

    glutSolidTeapot(0.5);

    glFlush();

}


int main(int argc, char** argv) {

    glutInit(&argc, argv);

    glutInitWindowSize(800, 600);

    glutCreateWindow("Dev Kyu openGL chapter1 from RintlanTta");

    glutDisplayFunc(cosmosDisplay);


    glutMainLoop();


    return 0;

}



화면





---------------------------------

소스

#include <GL/freeglut.h>

#include <GL/gl.h>


void cosmosDisplay() {


    glViewport(0, 0, 800, 600);

    glClear(GL_COLOR_BUFFER_BIT);


    glutSolidTeapot(0.5);

    glFlush();

}


int main(int argc, char** argv) {

    glutInit(&argc, argv);

    glutInitWindowSize(800, 600);

    glutCreateWindow("Dev Kyu openGL from RintlanTta");

    glutDisplayFunc(cosmosDisplay);


    glutMainLoop();


    return 0;

}


화면



-------------------


그대로 따라했는데 주전자가 바로 사라진다. 그래서 glOrtho함수를 공부한다.


http://www.opengl.org/sdk/docs/man2/xhtml/glOrtho.xml



C Specification

void glOrtho(GLdouble  left,
 GLdouble  right,
 GLdouble  bottom,
 GLdouble  top,
 GLdouble  nearVal,
 GLdouble  farVal);



glOtrho의 개념이 바뀌었다(?) 보니깐 배율로 작성된다.

http://minimonk.tistory.com/2893


댓글에 카메라 기능을 공부하면 이 현상이 이해가 된다고 하여 일단 PASS


원본 소스

#include <GL/freeglut.h>

#include <GL/gl.h>


void cosmosDisplay() {


    glViewport(0, 0, 800, 600);

    glClear(GL_COLOR_BUFFER_BIT);

    glOrtho(-400, 400, -300, 300, -250, 250);


    glutSolidTeapot(200);

    glFlush();

}


int main(int argc, char** argv) {

    glutInit(&argc, argv);

    glutInitWindowSize(800, 600);

    glutCreateWindow("Dev Kyu openGL from RintlanTta");

    glutDisplayFunc(cosmosDisplay);


    glutMainLoop();


    return 0;

}


수정 소스
#include <GL/freeglut.h>
#include <GL/gl.h>



void cosmosDisplay() {

    glViewport(0, 0, 800, 600);
    glClear(GL_COLOR_BUFFER_BIT);
//    glOrtho(-400, 400, -300, 300, -100, 100);
    glOrtho(-1, 1, -1, 1, -1, 1);

    glutSolidTeapot(0.5);
    glFlush();
}

int main(int argc, char** argv) {
    glutInit(&argc, argv);
    glutInitWindowSize(800, 600);
    glutCreateWindow("Dev Kyu openGL from RintlanTta");
    glutDisplayFunc(cosmosDisplay);

    glutMainLoop();

    return 0;
}

수정 소스 - 화면



수정 소스 - 2

#include <GL/freeglut.h>

#include <GL/gl.h>




void cosmosDisplay() {


    glViewport(0, 0, 800, 600);

    glClear(GL_COLOR_BUFFER_BIT);

//    glOrtho(-400, 400, -300, 300, -100, 100);

    glOrtho(-1, 1, -1, 1, -0.5, 0.5);


    glutSolidTeapot(0.5);

    glFlush();

}


int main(int argc, char** argv) {

    glutInit(&argc, argv);

    glutInitWindowSize(800, 600);

    glutCreateWindow("Dev Kyu openGL from RintlanTta");

    glutDisplayFunc(cosmosDisplay);


    glutMainLoop();


    return 0;

}


수정 소스 - 2 - 화면



결론 - 비율이다. 



저작자표시 비영리 (새창열림)

'소프트웨어 > openGL' 카테고리의 다른 글

freetype 자료모음  (0) 2014.07.14
openGL | openGL 3강-빛(1)  (0) 2014.01.10
openGL | 1강-화면(1)  (0) 2014.01.10
openGL | openGL 0강-설치  (0) 2014.01.10
openGL | 어느 블로그  (0) 2014.01.10
    '소프트웨어/openGL' 카테고리의 다른 글
    • freetype 자료모음
    • openGL | openGL 3강-빛(1)
    • openGL | 1강-화면(1)
    • openGL | openGL 0강-설치
    개발자_이훈규
    개발자_이훈규
    혼자 꽁양꽁양 개발하면서 놀아요~ - 노트같은 블로그

    티스토리툴바