Я работаю над Android-приложением, использующим OpenGL ES 2.0. Когда я пытаюсь сделать мои примитивы из массива данных со следующей строки ...Получение ошибки «Нет атрибута вершины включен в призыве рисования» на glDrawElements
// primitiveType is a GLenum with a value of 1
// batch->GetIndexCount() returns a size_t with a value of 65528
// indexType is a GLenum with a value of 5123
// Passing 0 as the indices parameter since an ELEMENT_ARRAY_BUFFER is bound (0 will be treated as an offset within the buffer)
GL_CHECK(glDrawElements(primitiveType, static_cast<GLsizei>(batch->GetIndexCount()), indexType, 0));
Я получаю следующее сообщение об ошибке:
I/Adreno-ES20: <validate_vertex_attrib_state:55>: validate_vertex_attrib_state: No vertex attrib is enabled in a draw call!
W/Adreno-ES20: <core_glDrawElementsInstancedXXX:1014>: GL_INVALID_VALUE
D/libEGL: [glDrawElements] 0x501
D/glGetError:glDrawElements: #00 pc 00002a31 /system/lib/libbacktrace.so (Backtrace::Unwind(unsigned int, ucontext*)+8)
D/glGetError:glDrawElements: #01 pc 0000ba41 /system/lib/libutils.so (android::CallStack::update(int, int)+52)
D/glGetError:glDrawElements: #02 pc 00025ff5 /system/lib/libEGL.so
D/glGetError:glDrawElements: #03 pc 000cea14 /data/app/com.sample.openglesapp/lib/arm/libgl_code.so (OpenGLESHelper::DrawBatch(OpenGLESApp::Graphics::PrimitiveBatch*)+720)
D/glGetError:glDrawElements: #04 pc 00129038 /data/app/com.sample.openglesapp/lib/arm/libgl_code.so (RendererOpenGLES::Render_DrawBatch(OpenGLESApp::Graphics::PrimitiveBatch*)+52)
D/glGetError:glDrawElements: #05 pc 000d4b80 /data/app/com.sample.openglesapp/lib/arm/libgl_code.so (OpenGLESApp::Graphics::RendererBase<OpenGLESApp::Graphics::Rendering3D::Camera>::Render()+532)
D/glGetError:glDrawElements: #06 pc 00161bd8 /data/app/com.sample.openglesapp/lib/arm/libgl_code.so (RenderFrame()+344)
D/glGetError:glDrawElements: #07 pc 00161cc0 /data/app/com.sample.openglesapp/lib/arm/libgl_code.so (Java_com_sample_openglesapp_GL2JNILib_step+20)
D/glGetError:glDrawElements: #08 pc 000db0e1 /data/dalvik-cache/arm/[email protected]@[email protected]@classes.dex
Согласно документации 2.0 OpenGL ES, glDrawElements returns a GL_INVALID_VALUE error code, когда счетчик (второй параметр) отрицательный, что здесь не так. Кроме того, атрибуты вершин включены. Что еще может быть причиной этой проблемы?
Не отвечает ли ваш вопрос на ваш вопрос? Довольно ясно, что не так. Если это не так, пожалуйста, напишите минимальный полный проверяемый пример (http://stackoverflow.com/help/mcve). Невозможно помочь, когда мы не сможем увидеть ваш код. – solidpixel