OpenGL에서 모양을 그리는 도구를 만들고 Windows 모양에서 해당 모양의 속성 값을 수정하려고합니다. 그래서 내 도형이 사각형 인 경우 사각형의 크기, 색상 등을 사용자가 제어 할 수있는 양식을 만듭니다. openGL 코드를 관리되는 C++ 및 C# 형식으로 작성했으며 이러한 모양 중 일부는 더 복잡해 졌으므로 성능 및 예측 가능성을 위해 표시 목록을 작성하기로 결정했습니다.표시 목록은 실행되지 않습니다
모양에 대한 생성자에 표시 목록을 정의하고 render 메서드에서 표시 목록을 호출합니다.
내 디스플레이 목록이 전혀 실행되지 않습니다. 표시 목록 외부에서 렌더링하는 부분은 렌더링되지만 표시 목록 내의 부분은 렌더링되지 않습니다. 사각형의 테두리가 렌더링 될이 예에서
//c# side
GLRectangle rect
public CSharpRectangle() {
rect = new GLRectangle();
}
//managed c++ side
public GLRectangle() {
width = 50;
height = 50;
//initialize more values
rectDL = glGenLists(1);
glNewList(rectDL, GL_COMPILE);
renderRect();
glEndList();
}
public render() {
//Draw border
glBegin(GL_LINE_LOOP);
glVertex2f(0, 0);
glVertex2f(width, 0);
glVertex2f(width, height);
glVertex2f(0, height);
glEnd();
//Draw interior
glCallList(rectDL);
}
private renderRect() {
glRectf(0,0,width,height);
}
,하지만 난 표시 목록을 대체하는 경우 사각형 자체가 ... 렌더링되지 않습니다 : 여기에
내 프로세스의 일부 샘플 코드입니다 단순히 메서드 호출을하면 사각형이 잘 렌더링됩니다. 왜 이런 일이 일어날 지 아는 사람이 있습니까?
renderRect 함수도 게시 할 수 있습니까? 도움이 될 수도 있습니다. – Dany
renderRect 메서드가 추가되었습니다. – eternalking