Главная страница
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.047 c
9-1102883870
Zak3D[@Tm]
2004-12-12 23:37
2005.03.20
Космические объекты...


3-1108471937
Mishenka
2005-02-15 15:52
2005.03.20
Сортировка набора данных


1-1109795025
starlit
2005-03-02 23:23
2005.03.20
как узнать что мышка ушла с объекта - Panel1?


1-1110103716
MU
2005-03-06 13:08
2005.03.20
Вынесение инвариантного кода за пределы цикла


1-1109935767
Gek1
2005-03-04 14:29
2005.03.20
Реестр