-1
원의 4 분의 1을 모두 따로 따로 원하지만 내 창 설정의 경우 원점은 왼쪽 상단 (0, 0)에 그립니다. 어쨌든 이 아닌으로 돌아갈 수 있습니까? 난 그냥 위의 그림을 만들기 위해 (270) 360에서 회전을 시작하면원의 드로잉 사분면
//nX: x
//nY: y
//nR: radius
//verts: std::vector<int>
//indices: std::vector<uint32_t>
verts.push_back(nX + nR); verts.push_back(nY + nR);
for (int i = 270; i >= 360; i -= slice_count)
{
verts.push_back(nX + cos(DEG_TO_RAD * i) * nR);
verts.push_back(nY + sin(DEG_TO_RAD * i) * nR);
}
//...
//rest of the code are index manipulation
glDrawElements(GL_TRIANGLE_STRIP, indices.size(), GL_UNSIGNED_INT, &indices[0]);
이것은 단지 그것은 나를 혼란
| -
| -
| -
| -
| -
| -
| -
| -
| -
| -
|____________________
을 그릴 것입니다 :
내 현재의 구현이입니다. 내 혼란을 덜어주기 위해 어떤 방법을 제안 할 수 있습니까? 또한 논리적으로 올바르지 않습니다.
여기에 제가 작성한 새로운 테스트 코드가 있습니다.
glBegin(GL_TRIANGLE_FAN);
glVertex2i(500, 400);
for (int i = 360; i >= 270; --i)
{
int ax = (500 + cos(DEG_TO_RAD * i) * 100);
int ay = (400 + sin(DEG_TO_RAD * i) * 100);
glVertex2i(ax, -ay);
}
glEnd();
? 방금 버텍스 콜 방식으로 시도했습니다. – mr5
mmm 코드 조각으로 볼 수없는 구현 세부 사항이있을 수 있습니다. 이론적으로 그렇게한다면 Y 좌표가 바뀌어야합니다. 효과가 있다면 0과 90으로 전환해도 여전히 같은 그림을 볼 수 있습니다. – h4lc0n
w8 내 게시물에 코드를 추가합니다. 새로운 하나 – mr5