해결된 질문
작성
·
98
·
수정됨
0
강사님 제공된 코드를 실행을 해봤을 때 삼각형이 보이지 않고 빈 화면만 나오는 문제가 있습니다.
따로 glGenBuffers를 이용해서 버퍼를 생성하고 데이터를 바인딩을 했을 때에는 삼각형이 나오는 것을 확인을 했습니다.
이렇게 해결을 하는 것이 맞는지에 대해서 궁금합니다.
혹시 버퍼를 생성 하지 않고 진행을 하는 방법이 있는지 궁금합니다.
답변 1
0
안녕하세요.
괜찮으시면, 사용하신 컴퓨터 환경을 알려주실 수 있을지요.
말씀하신 상황이 발생했다면, 그래픽 카드 제조사에 리포트를 해야 할 것 같습니다.
그래픽 카드의 모델과, 디바이스 드라이버 버전, OpenGL 드라이버 버전 정도를 알려주시면, 해당 제조사에 버그 리포트 하고, 문제점을 파악해 보겠습니다.
감사합니다.
P.S: 혹시 glFlush() 나, glFinish() 함수가 빠져있다면, glDraw() 함수 이후에 마지막 부분에 glFinish()를 추가해서 해결하는 경우도 있습니다만, 지금 말씀 하신 증상으로는 그 문제도 아닌 것 같긴 합니다..
혹시 여기서 glGenVertexArray, glGenBuffer 가 무엇인지 알 수 있을까요?
관련된 자료를 찾다가 코드들이 항상 사용을 하길래 추가를 했더니 동작을 하는 것을 봐서 vertexarray에 대한 생성 및 c코드에서 넘겨 받는 값을 임시 저장을 하는데 사용이 되는 것 같은데 정확히 어떤 역할인지 궁금해서 문의 드립니다.
Mac 일 줄은 몰랐습니다.
Mac 쪽은 2018년 이후인가, 그 이후부터는 OpenGL 관련된 기능들을 deprecate 시켜서, 더 이상 지원하지 않습니다. 경우에 따라서는 오동작하는 상황이 나올 수 있을 겁니다.
glGenBuffers 등의 함수는 이 강의에서 설명하고 있습니다만, 조금 더 진행해야 설명이 나올 겁니다.
감사합니다.
선생님 2019년도 맥북 프로 입니다.
OpenGL은 vcpkg로 설치를 진행을 했습니다.
=> 버전은 2022년12월4일에 배포된 버전인 3을 사용하고 있습니다.
현재 동작이 되는 코드는 다음과 같이 했을 때 동작을 하는 것을 확인 했습니다.
code
cmake