Отрисовка экземпляра Webgl2 с использованием ошибки делителя TWGL.js

Я использую библиотеку Twgl.js для использования webgl2

У меня был массив, как показано ниже, и я делал из него буферы с createBufferInfoFromArrays и использовать drawObjectList с VAO, чтобы нарисовать его, но после того, как я изменил свой массив для использования некоторых значений без знака байтов вместо float, я попал в беду, какой хром делает эту ошибку

GL ERROR :GL_INVALID_OPERATION : glDrawArrays: attempt to draw with all attributes having non-zero divisors

Массивы перед изменением:

EdgeArrays = {
    pos:{
        numComponents: 2,
        data: [-1,.01, -1,-.01 , 1,.01 , 1,-.01]
    },
    center: {
        numComponents: 2,
        data: new Float32Array( Lines.CenterBuffer ),
        divisor: 1,
    },
    size: {
        numComponents: 2,
        data: new Float32Array( Lines.SizeBuffer ),
        divisor: 1,
    },
    rotate: {
        numComponents: 4,
        data: new Float32Array( Lines.RotateBuffer ),
        divisor: 1,
    },
    appear: {
        numComponents: 1,
        data: new Float32Array( Lines.AppearBuffer ),
        divisor: 1,
    },
    Active: {
        numComponents: 1,
        data: new Float32Array( Lines.ActiveBuffer ),
        divisor: 1,
    },
};

массивы после изменения

let Arrays = {
        Pos:{
            numComponents: 2,
            data: [-1,.01, -1,-.01 , 1,.01 , 1,-.01]
        },
        Center: {
            numComponents: 2,
            data: new Float32Array( Buffers.Center ),
            divisor: 1,
        },
        Size: {
            numComponents: 2,
            data: new Float32Array( Buffers.Size ),
            divisor: 1,
        },
        Rotate: {
            numComponents: 4,
            data: new Float32Array( Buffers.Rotate ),
            divisor: 1,
        },
        Appear: {
            numComponents: 1,
            data: new Uint8Array( Buffers.Appear ),
            type: gl.UNSIGNED_BYTE ,
            normalize: false,
            divisor: 1,
        },
        Active: {
            numComponents: 1,
            data: new Uint8Array( Buffers.Active ),
            type: gl.UNSIGNED_BYTE ,
            normalize: false,
            divisor: 1,
        },
        InstInfo:{
            numComponents: 2,
            data: new Uint8Array( Buffers.InstInfo ),
            type: gl.UNSIGNED_BYTE ,
            normalize: false,
            divisor: 1,
        }
    };

ошибка говорит о том, что нет буфера без делителя, но у первого (pos-буфера) нет делителя! в чем я не прав?

заранее спасибо

0 ответов

Другие вопросы по тегам