2016-09-05 5 views
0

도움을 요청하기 전에 DirectX를 처음 접했을뿐만 아니라 C++로 코딩하는 방법을 알고 있습니다. 하지만 숙제를 완료하려고 할 때 오류가 발생합니다.DirectX 10 프로젝트에서 for 루프를 추가하는 방법은 무엇입니까?

숙제는 간단합니다. 원을 그리고 (최소한 20 개의 삼각형을 사용하여) 원 위에 텍스처를 놓습니다. 문제 없어. 하지만 For 루프를 사용하여 정점을 만들어야합니다. 내가 원을 만들고 싶어 모든 코드 추가를 완료하지 않은

double x = 0.1; 
double y = 1.0; 
double z = 0.5; 
double xin = 0.3; 
double yin = -0.1; 

// Create vertex buffer 
SimpleVertex vertices[] = 
{ 

    for (int i = 0; i < 4; i++) { 
     XMFLOAT3(0.0f, 0.0f, zf), 
     XMFLOAT3(xf, yf, zf), 
     XMFLOAT3((x+xin)f, (y+yin)f, zf), 
    } 


}; 

: 이것은 내가 지금까지있는 것입니다. 더 많은 테스트를 거쳐야합니다. 하지만 내 for 루프에 오류가 발생합니다. for를 읽으 려하지 않는 것 같습니다. For 루프를 SimpleVertex 외부에 두어 보았습니다. 원을 만들기 위해 for 루프를 어떻게 추가합니까? 멍청한 놈을 도와 주셔서 감사합니다. 근무 시간을 기다리는 것이지만 노동절이며 주말 내내 그곳에갔습니다.

답변

0

선언문에 for 루프를 사용할 수 없습니다. 먼저 vertices를 선언 할 필요가 다음 for 루프를 초기화 : 용의

vertices[i].Position = { i * x, y, z }; 
+0

세 가지 라인 :

int main() { // Declare your vertices: const auto maxVertices = 20; SimpleVertex vertices[maxVertices]; // Initialise the vertices in a for loop for (int i = 0; i < maxVertices; ++i) { vertices[i].Position = /* calculate position */ } } 

그것은 당신이 위치 중 하나, 뭔가를 계산하는 i를 사용할 것이다 가능성 블록은 효과가 없다. 그것은 vertices [i] .member = value;와 같은 것이어야한다. – galop1n

관련 문제