Мои вершины чередуются в Numpy массиве (DTYPE = float32), как это: ... вт, телевизор, пх, пу, пг, Vx, Vy, уг, ...PyOpenGL: glVertexPointer() смещение проблема
При визуализации я звоню Г.Л. * Pointer() как это (я включен массивы до):
stride = (2 + 3 + 3) * 4
glTexCoordPointer(2, GL_FLOAT, stride, self.vertArray)
glNormalPointer(GL_FLOAT, stride, self.vertArray + 2)
glVertexPointer(3, GL_FLOAT, stride, self.vertArray + 5)
glDrawElements(GL_TRIANGLES, len(self.indices), GL_UNSIGNED_SHORT, self.indices)
результатом является то, что ничего не делает. Однако, если я организую свой массив так, чтобы позиция вершины была первым элементом (... vx, vy, vz, tu, tv, nx, ny, nz, ...) Я получаю правильные позиции для вершин при рендеринге, но текстуре коорды и нормали не отображаются правильно.
Это заставляет меня думать, что я не устанавливаю смещение указателя вправо. Как мне его установить? Я использую почти тот же код в другом приложении на C++, и он работает.
Я не пользователь PyOpenGL, но из вашего описания это похоже на массивы + на массивах, которые не делают то, что вы думаете на этом языке. Время проверить спецификацию языка? – Bahbar
@ Бахбар: Это то, что я думал, но я не смог найти никакой информации об этом. Я много гугл безрезультатно. – SurvivalMachine