게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
qt로 opengl사용하려고 해보고있는데.. 질문하나 드립니다 (_ _)
게시물ID : programmer_17326짧은주소 복사하기
작성자 : 창천을꿈꾸며
추천 : 0
조회수 : 507회
댓글수 : 2개
등록시간 : 2016/05/22 19:20:42
옵션
  • 본인삭제금지
QMainWindow를 상속받는 MainWindow를 설정하구,
MainWindow안에 QMdiArea를 통해, QMdiSubWindow를 하나 종속시켜 준다음, (정확하겐 QMdiSubWindow를 상속받는 ObjViewer를)
QMdiSubWindow는 QTabWidget을 들고있구.. 이
 QTabWidget안에 QGLWidget들을(정확하겐 QGLWidget을 상속받는 ObjWindow) 추가하고 그 QGLWidget들안에 opengl로 출력을 해주려고 하고있습니다!!

그런데.. 어찌된건지 ㅠㅠ 뭔가 있어야할 화면에 하얀창만 뜨네요..


ObjViewer::ObjViewer()
{
    this->setFixedSize(VIEWER_WIDTH,VIEWER_HEIGHT);
    this->setWindowFlags(Qt::FramelessWindowHint);
    this->setWidget(&tab); // tab은 QTabWidget입니다!!
    nWindow=0;
}

void ObjViewer::add(QString fileName)
{
    aWindow[nWindow]=new ObjWindow(fileName);
    int idx=0;
    for(int i=0;i<fileName.length();++i) if(fileName.at(i)=='/') idx=i;

    tab.addTab(aWindow[nWindow],fileName.mid(idx+1,fileName.length()-idx)); // 탭에 추가해줌
    ++nWindow;
}


void ObjWindow::doDisplayInit()
{
    glClearColor(0,0,0,1); // Background Color
/*
    glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
    glEnable(GL_DEPTH_TEST);

    glEnable(GL_BLEND);
    glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA);

    glEnable(GL_POINT_SMOOTH);
    glEnable(GL_LINE_SMOOTH);
    glEnable(GL_POLYGON_SMOOTH);

    glHint(GL_POINT_SMOOTH_HINT,GL_NICEST);
    glHint(GL_LINE_SMOOTH_HINT,GL_NICEST);
    glHint(GL_POLYGON_SMOOTH_HINT,GL_NICEST);

    glShadeModel(GL_SMOOTH);
*/
}

void ObjWindow::paintEvent(QPaintEvent *)
{
    glViewport(0, 0, 400, 600);

    doDisplayInit();
//    doDisplayMatrix();
//    doDisplayLightOn();
//    doDisplaySample();
    glFlush();
}

opengl과 관련된 부분과.. 필요하다고 생각하는 부분만 올려봤습니다. 무엇을 놓치고 있는 걸까요?
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호