나는 원형으로 움직이는 사각형을 그리기 위해 PyOpenGL과 GLUT를 사용하고 있습니다. 직사각형을 그린 후에는 화면을 지우지 않습니다. 왜냐하면 후행 효과를 원하기 때문입니다. 웬일인지 이미 그려져있는 사각형은 새로운 사각형이 그려지면 움직일 것입니다.이상한 OpenGL 픽셀 동작
사각형의 획에있는 여분의 픽셀은 이 아니고입니다. 사각형의 흔적은 정적이 아닙니다.
Here 내가 관련되어 있다고 생각하는 코드를 제공하고있어 효과
의 예입니다. 첫째,이 창을 초기화하는 데 사용하는 코드 :
glutInit()
glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE | GLUT_ALPHA | GLUT_DEPTH)
glutInitWindowSize(width, height)
둘째는,이 코드 조각은 모든 사각형이 그려지는 전에 한 번이라고합니다. 셋째
glLoadIdentity()
glViewport(0, 0, width, height)
glMatrixMode(GL_PROJECTION)
glLoadIdentity()
glOrtho(0.0, width, 0.0, height, 0.0, 1.0)
glMatrixMode(GL_MODELVIEW)
glLoadIdentity()
광장
def rect_fill(x, y, w, h):
glBegin(GL_QUADS)
glVertex2f(x, y)
glVertex2f(x + w, y)
glVertex2f(x + w, y + h)
glVertex2f(x, y + h)
glEnd()
def rect_stroke(x, y, w, h, lw):
lw = lw/2
glBegin(GL_LINES)
glVertex2f(x - lw, y)
glVertex2f(x + w + lw, y)
glVertex2f(x + w, y - lw)
glVertex2f(x + w, y + h + lw)
glVertex2f(x + w + lw, y + h)
glVertex2f(x - lw, y + h)
glVertex2f(x, y + h + lw)
glVertex2f(x, y - lw)
glEnd()
나는이 잠시 동안되었으며, 유사한 문제로 사람을 찾을 수 없어 실제 도면. 어떤 도움을 주셔서 감사합니다.
'width == height'가 아니라면'lw'는 x 축과 y 축에서 동일하지 않을 것입니다. – BDL
여분의 픽셀이 문제가 아니라는 점을 명확히하기 위해 질문을 편집했습니다. –
왜 downvotes? downvoted 경우 의견을 남겨주세요. –