Nano Hash - криптовалюты, майнинг, программирование

Webgl drawelements вращающийся квадрат

Хорошо, я достаточно ударился головой, пытаясь заставить квадрат вращаться с помощью drawElements. Код отлично работает с drawarrays и отлично работает, если квадрат неподвижен, и я использую вызов drawElement. Теперь в этой скрипке я пытаюсь заставить ее вращаться (используя drawElements), но ничего не вижу. Я настроил квадратный буфер и индексы. Я отладил, и данные выглядят правильно, поэтому я не вижу, что я делаю неправильно. Вот скрипка.

var vertices = [-1,-1,-2, //FRONT FACE
                 1,-1,-2,
                 1,1,-2,
                -1,1,-2];
var vertexBuffer = gl.createBuffer();
gl.bindBuffer(gl.ARRAY_BUFFER, vertexBuffer);
gl.bufferData(gl.ARRAY_BUFFER,new Float32Array(vertices), gl.STATIC_DRAW); 

vertexBuffer.itemSize = 3;
vertexBuffer.numItems = parseInt(vertices.length/vertexBuffer.itemSize);

var indices = [0,1,2,0,2,3]; 

var cubeBufferIndex = gl.createBuffer();
gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, cubeBufferIndex);
gl.bufferData(gl.ELEMENT_ARRAY_BUFFER, new Uint16Array(indices), gl.STATIC_DRAW);

http://jsfiddle.net/3joez/mpj3dts7/

06.11.2014

Ответы:


1

Установка для depthFunc значения EQUAL в сочетании с очисткой глубины буфер в 1.0 отрисовывает только те фрагменты, которые имеют глубину ровно 1,0. См. связанный ресурс для получения дополнительной информации о функциях глубины. Просто удалите две строки ниже, и все будет хорошо.

gl.depthFunc(gl.EQUAL);
gl.clearDepth(1.0);
06.11.2014
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..