Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.222.163.31] |
|
Страницы: (2) 1 [2] все ( Перейти к последнему сообщению ) |
Сообщ.
#16
,
|
|
|
"Мой вчерашний лог:" Start: 22.05.2016 19:40:01 CreateWindow; 448:156; 1024x768 Handle $0304E4; DC $01010054; PixelFormat 9; RC $010000 VSYNC: 1 PCInfo 848,4 мкс OGL Point size: 1,000..189,875; step 0,125 OGL Line width: 0,500..10,000; step 0,125 InitFont: Lucida Console; Height 10 pix -13 pp; Weight 400; 47,4 мс InitFont: Comic Sans MS; Height 22 pix -29 pp; Weight 400; 20,0 мс InitFont: Comic Sans MS; Height 11 pix -15 pp; Weight 400; 7,8 мс Load texture: ID 1; logo.png; 170x174; PNG Transparency None; ColorType RGB; 27,4 мс ShowWindow InitOpenAL InitEFXAlcExt 22.05.2016 19:40:03; [!]; InitEFXUtilLib File load: eat.wav; mono 16 bit; 15280 b; 44100 Hz File load: ops.wav; mono 16 bit; 15280 b; 44100 Hz File load: see.wav; mono 16 bit; 53378 b; 44100 Hz Load texture: ID 2; back1.jpg; 326x365; JPEG jf24Bit; Compression 90%; 31,3 мс DestroyWindow Quit: 22.05.2016 19:45:18; Code:27; Frames:18917 |
Сообщ.
#17
,
|
|
|
Pavia
По логам получается: на видеокарте Intel® HD Graphics 4600 максимальный размер точки GL_POINT всего 20 пикселей, маловато будет (на другой, NVIDIA GeForce GT 750M, все норм: 189,875 пикс). Для пробы нашлась Intel HD Graphics 2000 - там те же 20 пикс. Интегрированные видеокарты Intel HD Graphics, такие Intel (( Не умеют они большие точки рисовать. Макс. размер точки GL_POINT вот так определяю: glGetFloatv(GL_POINT_SIZE_RANGE,@PointSizes); Mikle Да с NVIDIA нет проблем. Придётся спрайты лепить, текстуру с кружком. |
Сообщ.
#18
,
|
|
|
На свежем HD Graphics 530 та же байда - максимум 20 пикселей...
|
Сообщ.
#19
,
|
|
|
x128
Да, потому что это Intel ... ГОСТа на них нет. Предлагаю запретить все видеокарты кроме NVIDIA, чесс слово - было классно )) А серьёзно - у линий GL_LINES те же проблемы с макс. толщиной на разных видеокартах как и у точки с размером. glGetFloatv(GL_LINE_WIDTH_GRANULARITY,@LineStep); // шаг поддерживаемой толщины линий glGetFloatv(GL_LINE_WIDTH_RANGE,@LineSizes); // диапазон поддерживаемой толщины линий // на всех видеокартах: Line width 0,500..10,000, step 0,125 // кроме ATI AMD Radeon HD 6450; OGL 4.4.1: Line width 1,000..63,000, step 0,125 // кроме Intel HD Graphics 2000; OGL 3.1.0: Line width 0,000..6,992, step 0,500 Причины таких расхождений - изначально в спецификации OpenGL предусмотрена только одна толщина линий, 1.0. Но в реализации OpenGL от Microsoft: толщина линий от 0.5 до 10.0 с шагом 0.125. Некоторые производители видеокарт и писатели драйверов игнорируют MS и делают по своему. Поэтому в OpenGL толщину линий и размер точек если и используют в 2D (для чертежей, например) то очень ограничено. Линии можно нарисовать через GL_QUADS, GL_TRIANGLE_STRIP. А красивые круглые большие точки-кружочки ... или окружности строить из треугольников, или спрайты рисовать (текстуры), или в шейдерах мутить что-то. |