안녕하세요 저는 iOS에서 프로그래밍하고 객관적인 C를 사용하여 비교적 새로운 것입니다. 최근에 해결할 수없는 문제를 보았습니다. OBJ 모델 로더를 사용하고 있습니다. iOS 프로그래밍. 이를 위해 I는 다음과 같은 두 개의 배열을 사용목표에 동적으로 길이를 할당 C 정적 배열
길이는 현재 360의 하드 코딩 된 값 (특정 모델의면의 수)에 할당 된 바와 같이static CGFloat modelVertices[360*9]={};
static CGFloat modelColours[360*12]={};
. OBJ 파일을 읽은 후 계산 된 값에서 동적으로 할당 할 수있는 방법이 있습니까?
int numOfVertices = //whatever this is read from file;
static CGFloat modelColours[numOfVertices*12]={};
나는 NSMutable 배열을 사용하여 시도했지만 실제로 메시는이 코드 사용할 필요가 모여 그리기에 관해서으로 사용하기 어려운 발견 : 명령 glVertexPointer을 볼 수 있듯이
-(void)render
{
// load arrays into the engine
glVertexPointer(vertexStride, GL_FLOAT, 0, vertexes);
glEnableClientState(GL_VERTEX_ARRAY);
glColorPointer(colorStride, GL_FLOAT, 0, colors);
glEnableClientState(GL_COLOR_ARRAY);
//render
glDrawArrays(renderStyle, 0, vertexCount);
}
을 CGFloat 배열과 값이 필요합니다
glVertexPointer (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
다시 말하지만, 상대방을 자유롭게 할 필요성을 언급하지 않고 malloc 또는 calloc을 초보자에게 언급해서는 안됩니다. –
감사합니다,이 calloc을 사용하여, 이제 드디어 잠들 수 있습니다! 메모리를 확보하는 데 대한 @DanielRHicks, 좋은 지적, 내일 이것을하려고 노력할 것입니다! –