Форум: "Игры";
Текущий архив: 2005.03.20;
Скачать: [xml.tar.bz2];
ВнизСгдаживание точки в 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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.045 c