Как я зеркально отражаю спрайт/структуру в OpenGLES?

Заполнение - это операция по увеличению размера входных данных. В случае одномерных данных вы просто добавляете / добавляете массив с константой, в 2-мерную матрицу окружающего пространства с этими константами. В n-dim вы окружаете свой n-мерный гиперкуб с константой. В большинстве случаев эта константа равна нулю и называется нулевым дополнением.

Ниже приведен пример нулевого заполнения с p=1, примененного к 2-му тензору:


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

  • VALID padding. Самый простой случай, вообще говоря, не требует отступов. Просто оставьте свои данные такими же, как и было.
  • SAME padding, иногда называемое заполнением HALF. Он называется SAME , потому что для свертки с шагом = 1 (или для объединения) он должен производить вывод того же размера, что и вход. Он называется HALF , потому что для ядра размера k
  • FULL padding - это максимальное заполнение, которое не приводит к свертке над просто проложенным элементы. Для ядра размера k это дополнение равно k - 1.

Чтобы использовать произвольное дополнение в TF, вы можете использовать tf.pad()

6
задан The Archetypal Paul 10 November 2008 в 14:02
поделиться

2 ответа

Я не бездельничал со спрайтами точки, но я полагаю, что они - структуры. Структуры имеют матрицы структуры, что означает, что можно использовать glTranslatef(), glScalef() и glRotatef() на них.

Я испытал бы что-то вроде glScalef(-1,1,1); который зеркально отразил бы координату текстуры осью X.

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

Обновление: Я играл с матрицами структуры тем временем. Таким же образом то, что Вы переключаетесь между modelview и матрицами проекции, можно переключиться для текстурирования матрицы; приблизительно: glMatrixMode(GL_TEXTURE); после которого можно сделать вышеупомянутые операции.

Вы могли также просто нарисовать квадратические/два треугольники и быть сделаны с ним :)

6
ответ дан 17 December 2019 в 02:35
поделиться

Вы не можете сделать этого со спрайтами точки OpenGL; хотя можно переместить центр спрайта вокруг, форма его всегда ориентируется на тот же путь.

То, что можно сделать, является ничьей спрайты как четверки, который позволяет Вам зеркально отразить, повернуть и смешать с ними любой способ, которым Вы хотите. Существуют учебные руководства при ручном рисовании спрайтов (иначе рекламные щиты) на NeHe

0
ответ дан 17 December 2019 в 02:35
поделиться