복셀 엔진과 비슷하지만 조금 다른 블록으로 만든 작은 "세계"를 만들려고합니다.
이를 위해 Block
메서드가있는 클래스를 만드는 것에 대해 생각했습니다 draw()
. Block
a를 직육면체로 생각합시다 . 그런 다음 Block
길이, 너비, 높이로 모든 것을 특성화 하고 고정 된 정점 배열 (즉, 원점을 중심으로하는 단위 큐브의 배열)에 대한 모델 매트릭스를 통해 배율을 조정하여 그릴 수 있습니다.
내 질문은 8 개의 정점 GLfloat
(즉, 24 GLfloat
개 항목) 으로 구성된이 배열을 선언하는 가장 좋은 방법 입니다. 블록이 많을 수 있으므로 배열을 한 번만 저장하고의 모든 인스턴스 Block
가 모든 Block
. 이를 달성하는 가장 좋은 방법은 무엇입니까? 나는 이것에 아주 익숙하기 때문에 여기서 static
또는 const
(또는 둘 다?) 도움이 될 수 있는지 정말로 이해할 수 없었 습니다. 나는 할 생각
const GLfloat unit_cube_vertices = { ... };
class Block
{ ... };
더 나은 / 표준적인 방법이 있습니까?
배열이 클래스에서만 사용되는 경우 (또는 클래스와의 관계에서), 클래스의 일부로 선언합니다 (여기서 정적은 복사본이 하나만 있음을 의미 함).
class Block {
public: // or private if not used anywhere else
static const GLfloat unit_cube_vertices[24];
};
전역 적으로 사용하려면 선언 한대로 유지하십시오.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다