텍스트 파일의 변경 사항을 모니터링하는 프로그램이 있으며이 파일을 감지하면이 텍스트 파일의 내용을 기반으로 화면을 다시 표시 할 수 있습니다. 내 문제는 새 화면이 요청되면 이전 화면의 내용이 그대로 유지되고 새 내용이 겹치는 것입니다. 새 데이터를 화면에 표시하기 전에 화면을 지우고 싶습니다. 키 'C'를 누르면 텍스트 파일GLUT의 키 누름시 화면 지우기
void keyboard(unsigned char key, int x, int y){
if(key == 'c'){
c_pressed++;
cout<<"c pressed: "<<c_pressed<<"sound.txt cleared..."<<endl;
clear_file();
}
if(key=='v'){
v_pressed++;
cout<<"v pressed: "<<v_pressed<<"displaying new configuration..."<<endl;
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
glutPostRedisplay();
}
}
를 클리어 : 여기
내가 가진 것입니다. 나는 이것이 제대로 작동하는지 확인했다. 그런 다음 별도의 프로그램이 새 데이터를 텍스트 파일로로드 한 후 사용자는 'v'키를 눌러 이러한 새 명령어를로드합니다. 나는 'V'문 내에서 명확한 기능을 배치 해봤뿐만 아니라 디스플레이 기능처럼 ...void display(void){
glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
read_in_sound();
cout<<"Number of sound events: "<<numLines<<endl;
for(int j=0; j<numLines; j++){
if(data[0+j*4]==1){
circle(0,0,200,50);
}
if(data[1+j*4]==1){
circle(0,400,200,50);
}
if(data[2+j*4]==1){
circle(400,400,200,50);
}
if(data[3+j*4]==1){
circle(400,0,200,50);
}
}
glFlush();
glutSwapBuffers();
}
을하지만, 다시 표시를 호출 할 때 이전 및 새 스크린 모두 표시됩니다.