/ / намалювати зображення, не використовуючи метод "текстурування прямокутника" - html5, полотно, webgl

малювати зображення без використання методу "текстуруючий прямокутник" - html5, canvas, webgl

Чи є інший спосіб, як намалювати зображення текстурного прямокутника (2 трикутники)?

Я хочу перебрати пікселі зображення та намалювати ці пікселі на полотні там, де я хочу.

Моя мета - обчислити положення (координати) кожного окремого пікселя, щоб отримати зображене циліндричне зображення.

Чи можливо, чи маєте ви якусь ідею, як, будь ласка?

Відповіді:

1 для відповіді № 1

Це не зовсім так, як працює WebGL.

Дивіться цю статтю про те, як працює WebGL

В основному WebGL малює трикутники (і лінії, іквадроцикли / бали). Ви не вирішуєте, куди піде кожен піксель, натомість ви вирішуєте, куди слід поставити вершини трикутників, тоді webgl растровує кожен трикутник із запитом, у якому кольорі зробити пікселі.

Отже, для полярних координат потрібно працювативідсталий З огляду на те, що ви можете знати, який піксель WebGL збирає намалювати, зробіть математику, щоб зрозуміти, що було б намальовано на цьому пікселі, якби ви використовували полярні координати.

В іншому випадку ви можете імітувати полярні координатималювання текстурованого кола (використовуючи багато трикутників) з текстурою, розтягнутою навколо кола. Потім ви будете втягувати текстуру, спочатку роблячи вигляд, що X і Y є вашими полярними координатами, і, нарешті, виведіть цю текстуру на коло.

На жаль, резолюція погіршиться ігірше чим далі від центру текстури. Використовуйте досить велику текстуру, але це, ймовірно, не буде проблемою. Принаймні, це було б правдою з найпростішим рішенням.