2012-02-18 1 views
0

Я использовал glPointSize, чтобы установить размер фотона, который я стрелял в игру примерно до 3 пикселей. Это удобно, потому что я могу увеличивать и уменьшать масштаб, рисовать все остальное в мировых координатах, а фотон все еще легко увидеть.Обходное решение GL_POINT_SIZE_RANGE с использованием OpenGL?

Однако на некоторых платформах (мой действительно старый Linux-ноутбук) GL_POINT_SIZE_RANGE ограничен одним пикселем. Мне нужен еще один способ рисования фотона, иначе мне придется рисовать его как заполненный круг в мировых координатах, где он будет меняться по размеру в соответствии с уровнем масштабирования и может стать труднодоступным, если его уменьшить.

Есть ли обходной путь?

+0

Единственное обходное решение, о котором я думаю, - это тот, который вы упомянули. Вместо «заполненного круга» вы также можете рисовать его как текстурированный квадрат или треугольник, чтобы сохранить себе несколько вершин. – Thomas

+0

Спасибо Томас, я все за спасение нескольких вершин! – ScrollerBlaster

ответ

0

Вы можете использовать Сохранение и восстановление Матриц, которые используются при преобразовании.

glPushMatrix(); 
//apply viewing transformations (e.g. in photon's coordinate system) 
//and draw your photon here 
glPopMatrix(); //restores back where you were working. 
Смежные вопросы