2016-11-06 2 views
1

SFML 용 documentation에는 프리미티브를 결합하여 버텍스 배열을 만들 수 있다고 나와 있습니다. 그들이 말하는 것은 복수 TrianglesTriangleFan 또는 TriangleStrip으로 그룹화 할 수 있다는 것입니다.SFML 꼭지점 배열의 프리미티브 결합

하나의 버텍스 배열에 두 개의 기존 기본 유형을 결합하는 방법이 있는지 궁금합니다. 예를 들어, 일련의 정점을 TriangleFan으로 정의한 다음 LineStrip으로 전환 할 수 있습니까? 아니면 두 개의 개별 배열이 필요합니까?

답변

2

아니요, 정점 배열 당 하나의 기본 유형만 사용할 수 있습니다.

다음 draw 함수를 사용하면 이론적으로 하나의 배열/벡터를 사용할 수 있습니다 (sf::VertexArray이 아님). 서로 다른 기본 형식을 사용하여 배열의 다른 부분을 그릴 때 서로 다른 오프셋과 크기를 제공 할 수 있지만 실제로는 두 개의 다른 배열을 사용하는 것과 같습니다. 따라서이 정점들을 함께 섞어 얻을 때 게인이 무엇인지 스스로 자문 해봐야합니다.

void draw(const Vertex *vertices, std::size_t vertexCount, PrimitiveType type, const RenderStates &states=RenderStates::Default)