Главная страница
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.028 c
4-1107995867
FAQ
2005-02-10 03:37
2005.03.20
Как можно из Дельфи узнать скорости вращения вентиляторов ?


4-1107782895
Shamansky
2005-02-07 16:28
2005.03.20
Работа с СОМ портом


4-1107326988
greenbloody
2005-02-02 09:49
2005.03.20
Иконка в SysTray


6-1105566431
vers
2005-01-13 00:47
2005.03.20
Как защитить idTCPServer от ложных RST?


1-1110314094
Kotyara
2005-03-08 23:34
2005.03.20
PChar в качестве параметра-переменной