Я вижу странное поведение, которое я не могу понять. По какой-то причине, когда я применяю масштаб (по оси z), моя полигональная сетка с текстурным отображением становится затемненной, как будто освещение внезапно отключается или диффузный цвет устанавливается на 0. Если я реверсирую масштаб (чтобы масштабирование вернулось к 0), затем цвет снова становится ярким и насыщенным.
* Обновление с дополнительной информацией. * Яркость кажется нормальной, когда значения z в моих вершинах соответствуют исходным/инициализированным значениям. Но когда я масштабирую по оси z, это когда цвет тускнеет (не совсем темный, но заметное изменение яркости). Я использую индексный буфер для рендеринга.
С чем может быть связан этот "глюк"?
Код, связанный с этим, находится здесь:
float aspect = fabsf(self.view.bounds.size.width / self.view.bounds.size.height);
GLKMatrix4 projectionMatrix = GLKMatrix4MakePerspective(GLKMathDegreesToRadians(60.0f), aspect, 0.1f, 100.0f);
self.effect.transform.projectionMatrix = projectionMatrix;
// Compute the model view matrix for the object rendered with GLKit
GLKMatrix4 modelViewMatrix = GLKMatrix4MakeTranslation(0.0f, 15.0f, -90.0f);
modelViewMatrix = GLKMatrix4Rotate(modelViewMatrix, rotationAngle, 0, 1, 0);
// where g_depthScale is a value that increases based on a slider control.
modelViewMatrix = GLKMatrix4Scale(modelViewMatrix, 0.1f, 0.1f, g_depthScale);
self.effect.transform.modelviewMatrix = modelViewMatrix;