Привет, я довольно новичок в OpenGL.
Моя задача - реализовать кисти GDI в OpenGL для рисования в MAC OS X. Поэтому я обратился к текстурам в OpenGL, чтобы сначала нарисовать шаблон, а затем это нужнобыть сопоставленным с примитивами рисования, такими как многоугольник (прямоугольник в данном случае).Я создаю текстуру 8x8 текселей и затем накладываю ее на полигон с координатами ниже в окне 500x500 пикселей.
glVertex3f (0,35, 0,35, 0,0);
glVertex3f (0,35, 0,65, 0,0);
glVertex3f (0,65, 0,65, 0,0);
glVertex3f (0,65, 0,35, 0,0);
Я, поскольку мне нужен эффект кисти, шаблон должен повторяться вдоль прямоугольника.Прямоугольник / квадрат равен 0,3 x 0,3, а все окно имеет размер 500 x 500, тогда с точки зрения пикселей многоугольник равен 150 x 150.
, поэтому необходимы повторения 150/8
. Поэтому я установилтекстурные координаты выглядят следующим образом:
glTexCoord2f(0.0, 0.0); glVertex3f(0.35, 0.35, 0.0);
glTexCoord2f(0.0, 150/8); glVertex3f(0.35, 0.65, 0.0);
glTexCoord2f(150/8, 150/8); glVertex3f(0.65, 0.65, 0.0);
glTexCoord2f(150/8, 0.0); glVertex3f(0.65, 0.35, 0.0);
У меня проблема с тем, что созданный мной в качестве текстуры вертикальный штриховочный узор (один тексель прозрачный, а другой цветной) не отображается надлежащим образом в том смысле, что некоторые вертикальныелинии становятся шире, чем другие (своего рода проблема наложения имен).Это как то, что я должен установить координаты текстуры во время отображения?
Спасибо за любые ответы
al