С IE у Вас есть onpaste
С Mozilla, который можно изучить с одним входом, и
elementReference.addEventListener("DOMCharacterDataModified", function(e){ foo(e);}, false);
Там не легко как решение для круга.
Eric
1) Мне дали понять, что в OpenGL ES координаты текстуры отображаются только в буфер вершин, а не в индексный буфер.
Верно, координаты текстуры - это относительно данных вершины (либо в буфере, либо в пространстве процессора) НЕ индексных данных. Механизм индекса не зависит от текстурирования.
Предположим, у вас есть этот массив вершин, состоящий из 3 вершин (по 3 компонента в каждой):
float vdata[] = {x0,y0,z0, x1,y1,z1, x2,y2,z2};
и этот массив texcoord, состоящий из 3 координат (по 2 компонента в каждой):
float tdata[] = {u0,v0, u1,v1, u2,v2};
Когда объявляя эти данные в OpenGL, вы связываете вершину 0 (x0, y0, z0) с координатой текстуры 0 (u0, v0), вершину 1 с координатой текстуры 1 и так далее. В конце он отобразит на вашем треугольнике, состоящем из 3 вершин / 3 координат текстуры, соответствующую часть текстуры.
Вот традиционное изображение OpenGL, но для многоугольника с четырьмя вершинами.
(источник: glprogramming.com )
Индексные данные (буферизованные или нет) - это способ указания вершин косвенно, а не последовательно. В моем предыдущем примере, если я хотел бы визуализировать треугольник дважды, я бы указал массив индексов следующим образом:
unsigned int idata[] = {0,1,2, 0,1,2};
Итак, для ответа на 1) данные индекса не зависят от texcoords или других атрибутов вершин, таких как цвета, нормали и т. Д. следовательно, нет смысла связывать texcoords с данными индекса.
2) В конце концов, чтобы правильно сопоставить текстуры, нужно будет записать буфер вершин со всей избыточностью, которая была бы сохранена с буфером индекса. . Нужно ли еще увеличить производительность или индексные буферы избыточны для текстурированных данных?
Обычно, индексирование ваших сеток - это способ устранения избыточности при повторном использовании одних и тех же вершин и, следовательно, менее затратный объем памяти. В большинстве случаев я считаю, что существует много избыточностей.
Конечно, если вы возьмете трехмерный куб, никакие вершины не будут использовать одни и те же текскорды или нормали, но это не репрезентативная модель! Я считаю, что большинство сеток в приложениях для игр / САПР представляют собой непрерывные поверхности с большим количеством избыточных вершин и получают большую пользу от индексации.
Во-вторых, при наличии индексов графический процессор может использовать кеши до и после вершин для ускорения рендеринга . Что касается пропускной способности памяти, наличие индексов почти бесплатно, потому что графический драйвер помещает их в память pci-express (DMA) и поэтому не съедает пропускную способность видеопамяти.
В общем, я не думаю, что это ] плохая вещь для производительности с использованием индексных буферов, даже если у вас мало повторений вершин, но, как обычно, вам следует проверять различные реализации OpenGL и проводить свои собственные тесты.