Заполнение - это операция по увеличению размера входных данных. В случае одномерных данных вы просто добавляете / добавляете массив с константой, в 2-мерную матрицу окружающего пространства с этими константами. В n-dim вы окружаете свой n-мерный гиперкуб с константой. В большинстве случаев эта константа равна нулю и называется нулевым дополнением.
Ниже приведен пример нулевого заполнения с p=1
, примененного к 2-му тензору:
Вы можете использовать произвольное заполнение для вашего ядра, но некоторые из дополнительных значений используются чаще, чем другие:
k
k
это дополнение равно k - 1
. Чтобы использовать произвольное дополнение в TF, вы можете использовать tf.pad()
Я не бездельничал со спрайтами точки, но я полагаю, что они - структуры. Структуры имеют матрицы структуры, что означает, что можно использовать glTranslatef()
, glScalef()
и glRotatef()
на них.
Я испытал бы что-то вроде glScalef(-1,1,1);
который зеркально отразил бы координату текстуры осью X.
Как я сказал, я не играл со спрайтами точки, но я не смешал с матрицами структуры также. Они действительно кажутся довольно полезными, все же.
Обновление: Я играл с матрицами структуры тем временем. Таким же образом то, что Вы переключаетесь между modelview и матрицами проекции, можно переключиться для текстурирования матрицы; приблизительно: glMatrixMode(GL_TEXTURE);
после которого можно сделать вышеупомянутые операции.
Вы могли также просто нарисовать квадратические/два треугольники и быть сделаны с ним :)
Вы не можете сделать этого со спрайтами точки OpenGL; хотя можно переместить центр спрайта вокруг, форма его всегда ориентируется на тот же путь.
То, что можно сделать, является ничьей спрайты как четверки, который позволяет Вам зеркально отразить, повернуть и смешать с ними любой способ, которым Вы хотите. Существуют учебные руководства при ручном рисовании спрайтов (иначе рекламные щиты) на NeHe