화면에 그림을 표시하는 동안 검은 색 화면

드레 넥

방금 openGL을 배우기 시작했고 이제 문제가 발생했습니다. 크기를 조정할 수있는 창을 만들려고 할 때 개체가 창에 표시되지 않고 그 이유를 알 수 없습니다. 따라서 누군가가 그 잘못을 간단히 살펴볼 수 있다면 큰 도움이 될 것입니다. 친애하는.

#include <stdio.h>
#include <stdlib.h>
#include <GL/glut.h>

void initLights();
void reshape(int width, int height);
void display();
void renderScene();
int w;
int h;
int main(int argc, char** argv) {
  glutInit(&argc, argv); //metodi se predaje dva argumenta - andresa varijable koja sadrži broj argumenata iz komandne linije, te polje tih argumenata
  glutInitDisplayMode(GLUT_DOUBLE);
   glEnable(GL_LIGHTING);
  glutInitWindowSize(w, h); //dimenzije prozora u pikselima
  glutInitWindowPosition(0, 0); //pozicija gornjeg lijevo kuta u kojem će se scena iscrtati, prvi argument je x, drugi y
  glutCreateWindow("Primjer 1"); //stvaranje prozora u kojem će se iscrtati scena ("Naziv prozora")
  glutDisplayFunc(display); //registracija metode display, vraća podatak tipa int koji se može koristiti kao identifikator prozora koji se kasnije koristi za uništavanje prozora
  glutReshapeFunc(reshape); //registracija metode reshape
  glutMainLoop(); //beskonačna petlja osluškivanja, generiranja događaja i pozivanje registriranih metoda koja obrađuje događaje
}
void initLights() {
  // set up light colors (ambient, diffuse, specular)
  GLfloat lightKa[] = {.5f, .5f, .5f, 1.0f}; // ambient light
  GLfloat lightKd[] = {.7f, .7f, .7f, 1.0f}; // diffuse light
  GLfloat lightKs[] = {1, 1, 1, 1}; // specular light
  glLightfv(GL_LIGHT0, GL_AMBIENT, lightKa);
  glLightfv(GL_LIGHT0, GL_DIFFUSE, lightKd);
  glLightfv(GL_LIGHT0, GL_SPECULAR, lightKs);
  // position the light
  float lightPos[4] = {0, 0, 20, 1}; // positional light
  glLightfv(GL_LIGHT0, GL_POSITION, lightPos);
  glEnable(GL_LIGHT0); // MUST enable each light source after configuration
}

void display() { //iscrtavanje scene, radi se pozivom metode glutDisplayFunc(display); kojoj kao argument predajemo pokazivač na samu metodu
  glClearColor(0.0f, 0.0f, 0.0f, 1.0f); //brisanje površine platna, boja pozadine platna
  glClear(GL_COLOR_BUFFER_BIT); //popunjavanje čitave površine platna prethodno definiranom bojom
  glLoadIdentity();
  // crtanje scene:
  renderScene();
  glutSwapBuffers();
}

void toPerspective(){
  glDisable(GL_DEPTH_TEST); //isključivanje provjere z-spremnika koji se koristi u 3D sceni
  glViewport(0, 0,w, h); //definicija dijela prozora koji prikazuje samu scenu 
  glMatrixMode(GL_PROJECTION);
  glLoadIdentity();

 gluPerspective(60, (double)w/(double)h, 1, 256);
  glMatrixMode(GL_MODELVIEW);
  glLoadIdentity();



}

void reshape(int width, int height) { //funkcija koja se koristi za promjenu veličine prozora
w = width;
h = height;
toPerspective();
}

void renderScene() {
  glPointSize(6.0f);
  glColor3f(0.0f, 1.0f, 1.0f);

  glBegin(GL_POINTS);
  glVertex2i(50, 50);
  glVertex2i(150, 150);
  glVertex2i(2, 2);
  glVertex2i(4, 4);
  glEnd();

  glBegin(GL_LINE_STRIP);
  glVertex2i(50, 50);              
  glVertex2i(150, 150);             
  glVertex2i(50, 150);
  glVertex2i(50, 50);
  glEnd();
  glVertex2i(250, 250);             

}
BDL

코드에서 카메라는 단위 행렬 인 modelviewmatrix로 인해 (0,0,0)에 있습니다. 이제 투영은 1에서 니어 플레인으로 구성됩니다. 즉, z = 0에서 그려진 모델이 뷰 절두체 외부에 있고 컬링됩니다.

또 다른 문제 : glVertex2i외부에서 한 번 이상 호출 glBegin/glEnd하면 OpenGL 오류가 발생합니다.

좌표 관련 : OpenGL에서 그리기는 적절한 투영을 지정하지 않는 한 픽셀 좌표에서 발생하지 않습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

GLSurfaceView의 스크린 샷을 캡처하는 동안 검은 색 화면 표시

분류에서Dev

Dell Precision M4800에 Ubuntu 12.04.3을 설치하는 동안 검은 색 화면

분류에서Dev

Dell Precision M4800에 Ubuntu 12.04.3을 설치하는 동안 검은 색 화면

분류에서Dev

로드하는 동안 Android가 스플래시 화면을 표시하지만 대신 검은 색 화면이 표시됨

분류에서Dev

ionic 앱을 시작하는 동안 빈 흰색 화면 표시

분류에서Dev

안전 모드가 작동하는 동안 부팅시 검은 색 화면

분류에서Dev

ActiveJob이 외부 API에서 많은 데이터를 검색하는 동안 보류 화면을 표시하는 방법

분류에서Dev

Angular 앱이 iOS에서 시작 화면 후 검은 색 화면을 표시 함

분류에서Dev

Android에서 데이터를로드하는 동안 검은 색 화면을 피하는 방법

분류에서Dev

OpenGL은 여러 개체를 표시하는 동안 흰색 화면을 표시합니다.

분류에서Dev

DropdownList에서 모달 팝업이 검은 색 화면을 표시하는 이유

분류에서Dev

내 kivy 앱을 실행하면 창에 검은 색 화면이 표시됨

분류에서Dev

Windows 10-로그인 화면이 나타나기 전에 40 초 동안 검은 색 화면에서 멈춤

분류에서Dev

로그인 후 VM에 검은 색 화면이 표시됨

분류에서Dev

iOS에서 앱이 검은 색 화면을 표시 함

분류에서Dev

Android 기기에서 카메라를 뒤집는 동안 WebRTC 검은 색 화면

분류에서Dev

Ubuntu 16.04.1 Nvidia가 작동하지만 Intel에 검은 색 화면이 표시됨

분류에서Dev

위치 사용자 Android 동안 검은 색 화면 대신 시작 화면 표시

분류에서Dev

AppIcon에서 검은 색 화면을 제거하는 방법-IOS

분류에서Dev

데비안을 시작할 때 정적 커서가있는 검은 색 화면

분류에서Dev

Ubuntu 12.04 설치 시도, 검은 색 화면에 로그인

분류에서Dev

Ubuntu 듀얼 부팅을 설치하는 동안 REGION_VIOLATION과 함께 검은 색 화면

분류에서Dev

PDF 파일 / URL을로드하면 Safari 브라우저에서 검은 색 화면이 표시됨

분류에서Dev

검은 색 화면 + "시스템 업데이트를 설치하는 동안 잠시 기다려주십시오."

분류에서Dev

Swift performSegueWithIdentifier가 검은 색 화면을 표시합니다.

분류에서Dev

Samsung TV Tizen 웹 애플리케이션으로 디버깅하는 동안 빈 흰색 화면을 표시하는 Chrome devtools 검사기

분류에서Dev

탐색 컨트롤러에 검은 색 화면이 표시됨

분류에서Dev

데비안 설치시 검은 색 화면

분류에서Dev

SurfaceView는 아이콘을 제외한 검은 색 화면을 표시합니다.

Related 관련 기사

  1. 1

    GLSurfaceView의 스크린 샷을 캡처하는 동안 검은 색 화면 표시

  2. 2

    Dell Precision M4800에 Ubuntu 12.04.3을 설치하는 동안 검은 색 화면

  3. 3

    Dell Precision M4800에 Ubuntu 12.04.3을 설치하는 동안 검은 색 화면

  4. 4

    로드하는 동안 Android가 스플래시 화면을 표시하지만 대신 검은 색 화면이 표시됨

  5. 5

    ionic 앱을 시작하는 동안 빈 흰색 화면 표시

  6. 6

    안전 모드가 작동하는 동안 부팅시 검은 색 화면

  7. 7

    ActiveJob이 외부 API에서 많은 데이터를 검색하는 동안 보류 화면을 표시하는 방법

  8. 8

    Angular 앱이 iOS에서 시작 화면 후 검은 색 화면을 표시 함

  9. 9

    Android에서 데이터를로드하는 동안 검은 색 화면을 피하는 방법

  10. 10

    OpenGL은 여러 개체를 표시하는 동안 흰색 화면을 표시합니다.

  11. 11

    DropdownList에서 모달 팝업이 검은 색 화면을 표시하는 이유

  12. 12

    내 kivy 앱을 실행하면 창에 검은 색 화면이 표시됨

  13. 13

    Windows 10-로그인 화면이 나타나기 전에 40 초 동안 검은 색 화면에서 멈춤

  14. 14

    로그인 후 VM에 검은 색 화면이 표시됨

  15. 15

    iOS에서 앱이 검은 색 화면을 표시 함

  16. 16

    Android 기기에서 카메라를 뒤집는 동안 WebRTC 검은 색 화면

  17. 17

    Ubuntu 16.04.1 Nvidia가 작동하지만 Intel에 검은 색 화면이 표시됨

  18. 18

    위치 사용자 Android 동안 검은 색 화면 대신 시작 화면 표시

  19. 19

    AppIcon에서 검은 색 화면을 제거하는 방법-IOS

  20. 20

    데비안을 시작할 때 정적 커서가있는 검은 색 화면

  21. 21

    Ubuntu 12.04 설치 시도, 검은 색 화면에 로그인

  22. 22

    Ubuntu 듀얼 부팅을 설치하는 동안 REGION_VIOLATION과 함께 검은 색 화면

  23. 23

    PDF 파일 / URL을로드하면 Safari 브라우저에서 검은 색 화면이 표시됨

  24. 24

    검은 색 화면 + "시스템 업데이트를 설치하는 동안 잠시 기다려주십시오."

  25. 25

    Swift performSegueWithIdentifier가 검은 색 화면을 표시합니다.

  26. 26

    Samsung TV Tizen 웹 애플리케이션으로 디버깅하는 동안 빈 흰색 화면을 표시하는 Chrome devtools 검사기

  27. 27

    탐색 컨트롤러에 검은 색 화면이 표시됨

  28. 28

    데비안 설치시 검은 색 화면

  29. 29

    SurfaceView는 아이콘을 제외한 검은 색 화면을 표시합니다.

뜨겁다태그

보관