Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Сгдаживание точки в OpenGL


Brak ©   (2004-12-26 17:05:00) 

Уважаемые мастера, никак не выходит сгладить точку процедурой GL_POINT_SMOOTH...
как можно добится вывода круглой точки, либо просто круга, закрашеного определенням цветом?


марсианин   (2004-12-27 22:22:00) [1]

>  2[9] Zak  

ну да, описАлся :)

я сейчас проверил.
glEnable(GL_POINT_SMOOTH); - округляет точку, но при ее размере glPointSize < 15.0 точки не идеально круглые. при  размере < 10.0 скорее квадратные, чем круглые.

если написать так:


glEnable(GL_POINT_SMOOTH);
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);


glBegin (GL_POINTS);
  For i := 1 to 100 do begin
     glColor3f (random, random, random);
     glVertex2f (random * 2 - 1, random * 2 - 1);
  end;
glEnd;


точки будут круглыми при любом размере


Zak   (2004-12-27 17:36:00) [2]

марсианин - немного не так
glEnable(GL_POINT_SMOOTH);
glBegin(GL_POINTS);    //POINTS
  glVertex2f(x,y);
glEnd;


wiz   (2004-12-27 17:28:00) [3]

glPointSize(size);

и size делаем больше 1.0

и еще помним, что SDK нам говорит:
Not all sizes are supported when point antialiasing is enabled. If an unsupported size is requested, the nearest supported size is used. Only size 1.0 is guaranteed to be supported; others depend on the implementation. The range of supported sizes and the size difference between supported sizes within the range can be queried by calling glGet with arguments GL_POINT_SIZE_RANGE and GL_POINT_SIZE_GRANULARITY.


XProger   (2004-12-27 03:32:00) [4]


glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
// DrawPoint


марсианин   (2004-12-27 00:06:00) [5]

ты код свой приведи чтоль? информация о версии Делфи здесь мало поможет


Brak   (2004-12-26 23:41:00) [6]

Да, работаю в 7-ой Делфе.


марсианин   (2004-12-26 23:38:00) [7]

что-то типа

glEnable(GL_POINT_SMOOTH);

glBegin(GL_POINT);
 glVertex2f(x,y);
glEnd;


и не работает?


Brak   (2004-12-26 23:33:00) [8]

А вот почему незнаю, потому и обращаюсь. С OpenGL начал работать сравнительно недавно и застрял на этой задачке.


марсианин   (2004-12-26 23:15:00) [9]

как это  " не выходит сгладить точку процедурой GL_POINT_SMOOTH"? почему?


Brak   (2004-12-26 21:25:00) [10]

???


Наверх

Титульная страница Поиск, карта сайта Написать письмо