На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела "Программирование графики"
1) Данный раздел предназначен для обсуждения проблем, возникающих при программировании задач, связанных с чтением, сохранением, обработкой, созданием, отрисовкой графической информации (в том числе - 3D [OpenGL, Direct3D] и анимации [в т.ч. VFW, DirectShow, OpenDML]).
Флэш обсуждают здесь!.

2) Если вы хотите получить совет для конкретной платформы/языка программирования, обязательно укажите их в вопросе.

3) Уважаемые новички! Мы приветствуем Ваше желание научить всех посетителей раздела правильному программированию. Но огромная просьба, перед тем, как писать поучения в старых (последний ответ - "старее" месяца, а особенно, если вопрошавший не появляется на форуме уже не первый месяц, в чем можно убедиться в его профиле) темах, хорошо подумать, будет ли кому-нибудь, кроме Вас cамих, это интересно.



Ваше мнение о модераторах: user posted imageBarazuk, user posted imageOpenGL, user posted imageMikle
Модераторы: OpenGL, Mikle
Страницы: (2) 1 [2]  все  ( Перейти к последнему сообщению )  
> Приручаем змею , OpenGL, OpenAL, Delphi, геймдев
    "Мой вчерашний лог:"

    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
      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 вот так определяю:
      ExpandedWrap disabled
        glGetFloatv(GL_POINT_SIZE_RANGE,@PointSizes);


      Mikle
      Да с NVIDIA нет проблем.

      Придётся спрайты лепить, текстуру с кружком.
      Сообщение отредактировано: Блекморша Таня -
        На свежем HD Graphics 530 та же байда - максимум 20 пикселей...
          x128
          Да, потому что это Intel ... ГОСТа на них нет. Предлагаю запретить все видеокарты кроме NVIDIA, чесс слово - было классно ))
          А серьёзно - у линий GL_LINES те же проблемы с макс. толщиной на разных видеокартах как и у точки с размером.

          ExpandedWrap disabled
             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. А красивые круглые большие точки-кружочки ... или окружности строить из треугольников, или спрайты рисовать (текстуры), или в шейдерах мутить что-то.
          Сообщение отредактировано: Блекморша Таня -
          0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
          0 пользователей:


          Рейтинг@Mail.ru
          [ Script execution time: 0,0499 ]   [ 17 queries used ]   [ Generated: 28.03.24, 09:16 GMT ]