Сохранение имени текстуры в объектах - obj-c - PullRequest
0 голосов
/ 26 февраля 2010

Я занимаюсь изучением opengles / obj-c и создаю приложение для iphone, которое будет рендерить несколько 3d моделей. Я создал объект, который хранит все важные детали, такие как вершины / грани / текстуры и т. Д., Но я также хочу сохранить имя текстуры, которое в настоящее время используется в модели. В моем файле CustomModels.h у меня есть:

@interface CustomModels : NSObject {    
  Vertex3D           *vertices;
  int                numberOfFaces;
  Face3D             *faces;
  Tex3D              *texCoords;
  BOOL               active;
  NSMutableArray    *textures;

  GLuint            activeTexture;
}

тогда в моем файле .m контроллера контроллера я пытаюсь сохранить имя текстуры, например:

glGenTextures(1, oModel.activeTexture);

Но получите эту ошибку:

lvalue required as unary '&' operand

Я начинающий программист в obj-c, так что если кто-нибудь может указать мне правильное направление, это будет очень цениться! Большое спасибо!

1 Ответ

1 голос
/ 26 февраля 2010

glGenTextures ожидает указатель на GLuint в качестве второго параметра. Вы не можете использовать свойство Objective C (это просто еще один способ записи [oModel activeTexture]) в этом месте. Вместо этого используйте временную локальную переменную:

GLuint texture = 0;
glGenTextures(1, &texture);
oModel.activeTexture = texture;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...