Цвет пикселя Webgl

246
30 июня 2017, 09:06

При выполнении функции не всегда выдает цвет пикселя, а именно

Uint8Array [ 0, 0, 0, 0 ]
Uint8Array [ 0, 0, 0, 0 ]
Uint8Array [ 0, 0, 0, 0 ]
Uint8Array [ 255, 0, 0, 255 ]     - если нажимаю на окрашенный пиксель
Uint8Array [ 0, 0, 0, 255 ]       - если нажимаю на пустое место

Думаю ошибка в определении альфа канала, но я не понимаю почему? Прозрачность не нужна при определении цвета, да и я совершенно точно окрашиваю место допустим в красный цвет (и шейдеру задаю совершенно точные параметры (1.0,0.0,0.0,1.0)) и при нажатии выдает нули и иногда нужный цвет. Вот функция. :

function pickObject() {    
canvas.onmousedown = function(ev) { // Кнопка нажата
        var x = ev.clientX, 
            y = ev.clientY;
        var rect = ev.target.getBoundingClientRect();
        if (rect.left <= x && x < rect.right && 
            rect.top <= y && y < rect.bottom) {
            var x_in_canvas = x - rect.left, 
                y_in_canvas = rect.bottom - y;
            var picked = checkPickOject(gl, x_in_canvas, y_in_canvas);
}
    };
}
function checkPickOject(gl, x, y) {
    var pixels = new Uint8Array(4);
    gl.readPixels(x, y, 1, 1, gl.RGBA, gl.UNSIGNED_BYTE, pixels);
  console.log(pixels);
    if (pixels[0] == 255) {
        picked = true;    
    }
    return picked;
}
pickObject();
READ ALSO
Структурирование кода js

Структурирование кода js

Подскажите, как можно структурировать js-код, те

287
Как &ldquo;превратить&rdquo; html &amp; js игру в .apk?

Как “превратить” html & js игру в .apk?

Есть html & js игра написана с помощью phaser фреймворка, как теперь ее упаковать вapk?

314
Поддержка Unicode-блока с валютными символами

Поддержка Unicode-блока с валютными символами

ПриветКак разработчики реализуют поддержку валютных иконок в своих проектах? Использовать Font Awesome нету смысла - там валютных иконок всего...

232
Копирование данных из поля &lt;input&gt; в значение ключа JSON

Копирование данных из поля <input> в значение ключа JSON

ЗдравствуйтеКак сделать так, чтобы в customerContact копировалось значение из поля E-mail?

464