Gldrawlements, вызывая исключение по нарушению доступаC++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Gldrawlements, вызывая исключение по нарушению доступа

Сообщение Anonymous »

Итак, я недавно переписал часть рендеринга моего графического двигателя Hobby Opengl, и я не могу понять, почему я получаю исключение по нарушению доступа к Gldrawelments. < /p>

Из того, что я уже исследовал, это обычно связано с неправильным конфигурированным Vao, но из того, что я вижу, все кажется в порядке. Является ли порядок вызовов OpenGL, который я делаю, прежде чем получить ошибку. К сожалению, я не могу записать значения каждого параметра, но если кто -то может заметить ошибку в заказе, дайте мне знать. 1080 NVIDIA видеокарта и драйверы обновлены. < /P>

glCreateShaderProgramv(GetShaderType(_desc.ShaderType), 1, &ptr)
glGetProgramiv(_id, GL_INFO_LOG_LENGTH, &logLength)
glGetProgramiv(_id, GL_LINK_STATUS, &linkStatus)
glCreateShaderProgramv(GetShaderType(_desc.ShaderType), 1, &ptr)
glGetProgramiv(_id, GL_INFO_LOG_LENGTH, &logLength)
glGetProgramiv(_id, GL_LINK_STATUS, &linkStatus)
glGenBuffers(1, &_id)
glBindBuffer(target, _id)
glBufferData(target, _desc.ByteCount, 0, GetBufferUsage(_desc.BufferUsage))
glBindBuffer(target, _id)
glMapBufferRange(target, byteOffset, byteCount, access)
glDisable(GL_POLYGON_OFFSET_FILL)
glDisable(GL_POLYGON_OFFSET_POINT)
glDisable(GL_POLYGON_OFFSET_LINE)
glDisable(GL_CULL_FACE)
glPolygonMode(GL_FRONT_AND_BACK, GL_FILL)
glDisable(GL_SCISSOR_TEST)
glScissor(0, 0, _desc.RenderWidth, _desc.RenderHeight)
glDisable(GL_MULTISAMPLE)
glDisable(GL_DEPTH_CLAMP)
glDisable(GL_LINE_SMOOTH)
glDisable(GL_STENCIL_TEST)
glStencilOpSeparate(GL_FRONT, GetStencilOp(stencilOperationDesc.FailOp), GetStencilOp(stencilOperationDesc.ZFailOp), GetStencilOp(stencilOperationDesc.PassOp))
glStencilOpSeparate(GL_FRONT, GetStencilOp(stencilOperationDesc.FailOp, true), GetStencilOp(stencilOperationDesc.ZFailOp, true), GetStencilOp(stencilOperationDesc.PassOp, true))
glStencilFuncSeparate(GL_FRONT, GetCompareFunc(comparisonFunc), _stencilRefValue, readMask)
glStencilFuncSeparate(GL_BACK, GetCompareFunc(comparisonFunc), _stencilRefValue, readMask)
glStencilMask(writeMask)
glEnable(GL_DEPTH_TEST)
glDepthMask(GL_FALSE)
glDepthFunc(GetCompareFunc(depthFunc))
glGenBuffers(1, &_id)
glBindBuffer(target, _id)
glBufferData(target, _desc.ByteCount, 0, GetBufferUsage(_desc.BufferUsage))
glBindBuffer(target, _id)
glMapBufferRange(target, byteOffset, byteCount, access)
glGenBuffers(1, &_id)
glBindBuffer(target, _id)
glBufferData(target, _desc.ByteCount, 0, GetBufferUsage(_desc.BufferUsage))
glBindBuffer(target, _id)
glMapBufferRange(target, byteOffset, byteCount, access)
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, glIndexBuffer->GetId())
glGenProgramPipelines(1, &_id)
glUseProgramStages(_id, GL_VERTEX_SHADER_BIT, desc.VertexShaderId)
glUseProgramStages(_id, GL_FRAGMENT_SHADER_BIT, desc.PixelShaderId)
glUseProgramStages(_id, GL_GEOMETRY_SHADER_BIT, desc.GeometryShaderId)
glUseProgramStages(_id, GL_TESS_CONTROL_SHADER_BIT, desc.HullShaderId)
glUseProgramStages(_id, GL_TESS_EVALUATION_SHADER_BIT, desc.DomainShaderId)
glBindProgramPipeline(shaderPipeline->GetId())
glGenVertexArrays(1, &vao)
glBindVertexArray(vao)
glBindBuffer(GL_ARRAY_BUFFER, boundBuffers[inputSlot]->GetId())
glVertexAttribPointer(inputSlot, compSize, compType, GL_FALSE, stride, reinterpret_cast(offset))
glEnableVertexAttribArray(inputSlot)
glBindVertexArray(0)
glBindVertexArray(vao->GetId())


Подробнее здесь: https://stackoverflow.com/questions/508 ... -exception
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»