Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.03.20;
Скачать: CL | DM;

Вниз

Сгдаживание точки в OpenGL   Найти похожие ветки 

 
Brak   (2004-12-26 17:05) [0]

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


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

???


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

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


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

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


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

что-то типа

glEnable(GL_POINT_SMOOTH);

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


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


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

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


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

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


 
XProger ©   (2004-12-27 03:32) [7]


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


 
wiz ©   (2004-12-27 17:28) [8]

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.


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

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


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

>  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;


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



Страницы: 1 вся ветка

Текущий архив: 2005.03.20;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.067 c
4-1107541104
serko
2005-02-04 21:18
2005.03.20
Имя компа


6-1106009804
KOPOBA
2005-01-18 03:56
2005.03.20
Проблема с методом GET (Indy/ICS)


14-1109524986
ve7al
2005-02-27 20:23
2005.03.20
Язык программирования Паскаль


14-1109698930
Delta
2005-03-01 20:42
2005.03.20
Canvas


4-1107446102
emo
2005-02-03 18:55
2005.03.20
Зная адрес памяти, изменить значение