|
Заблокирован
|
|||||||||||
Рисование линии/ отрезка штрихами или точками12.08.2017, 23:51. Показов 3290. Ответов 4
Метки нет (Все метки)
Здравствуйте.
Есть отрезок в 1D, у которого известно: 1. его длинна L в абсолютных значениях (допустим 100 или 555.765) 2. есть нормализованный диапазон по Х от 0.0 до 1.0, где 0.0 - это стартовая точка отрезка, а 1.0 - конечная. Как записать функцию, которая бы в зависимости от текущего Х закрашивала бы или не закрашивала бы пиксель, что бы линия рисовалась штрихами? Речь о OpenGL/GLSL, эти координаты - текстурная координата Х прямоугольника примитива линии, хочу, что бы этот прямоугольник закрасился штрихами слева на право... Как записать зависимость от X? Нужно что - то вроде:
Сам разобрался, оставлю тут для истории:
0
|
|||||||||||
| 12.08.2017, 23:51 | |
|
Ответы с готовыми решениями:
4
Рисование на экране линии или фигуры Рисование дополнительной линии под углом к основной линии |
|
)))
|
|
| 13.08.2017, 15:13 | |
|
По-моему в OpenGL маску можно вставить т.е. штрих сам OpenGL делает.(читал в красной книге скорее всего, могу поискать, если интересно)
0
|
|
|
Заблокирован
|
|||
| 13.08.2017, 19:40 [ТС] | |||
|
0
|
|||
|
)))
|
||
| 13.08.2017, 20:53 | ||
|
another_reality, отрывок из red book по opengl
Чтобы задать шаблон отрезка (например, для получения пунктирных или штриховых отрезков) следует использовать команду glLineStipple() и затем включить шаблонирование командой glEnable(). glLineStipple(1,0x3F07); glEnable(GL_LINE_STIPPLE); void glLineStipple (Glint factor, GLushort pattern); Устанавливает текущий шаблон для отрезка. Аргумент pattern – это 16-битная серия из нулей и единиц, определяющая, как будет рисоваться отрезок. Она повторяется по необходимости для шаблонирования всего отрезка. Единица означает, что соответствующая точка отрезка будет нарисована на экране, ноль означает, что точка нарисована не будет (на попиксельной основе). Шаблон применяется, начиная с младшего бита аргумента pattern. Шаблон может быть растянут с учетом значения фактора повторения factor. Каждый бит шаблона при наложении на отрезок расценивается как factor битов того же значения, идущих друг за другом. Например, если в шаблоне встречаются подряд три единицы, а затем два нуля и factor равен 3, то шаблон будет трактоваться как содержащий 9 единиц и 6 нулей. Допустимые значения аргумента factor ограничены диапазоном от 1 до 256. Шаблонирование должно быть включено передачей аргумента GL_LINE_STIPPLE в функцию glEnable(). Оно блокируется передачей того же аргумента в glDisable(). Итак, в предыдущем примере с шаблоном равным 0x3F07 (что в двоичной системе счисления соответствует записи 0011111100000111) отрезок будет выведен на экран, начинаясь (по порядку) с 3 нарисованных пикселей, 5 отсутствующих, 6 нарисованных и 2 отсутствующих (если вам кажется, что мы применили шаблон задом - наперед вспомните, что он применяется, начиная с младшего бита). Если длина нашего отрезка на экране больше 16 пикселей, начиная с 17-го, шаблон будет применен заново и так далее до конца отрезка. Если бы factor был равен 2, шаблон был бы растянут, и отрезок выглядел бы следующим образом: вначале 6 нарисованных пикселей, затем 10 отсутствующих, 12 нарисованных и 4 отсутствующих. На рисунке 2-9 показаны отрезки, нарисованные с применением различных шаблонов и факторов повторения шаблона. Если шаблонирование заблокировано, все отрезки рисуются таким же образом, как если бы шаблон был установлен в 0xFFFF, а фактор повторения в 1. Обратите внимание, что шаблонирование может применяться в комбинации с линиями различной толщины. Рисунок 2-9. Шаблонированные отрезки Если рисуется ломаная (с помощью GL_LINE_STRIP или GL_LINE_LOOP) то шаблон накладывается на нее непрерывно, независимо от того, где кончается один сегмент и начинается другой. В противовес этому для каждой индивидуальной линии (рисуемой с помощью GL_LINES) шаблон начинается заново, даже если все команды указания вершин вызываются внутри одного блока glBegin() – glEnd().
0
|
||
|
1550 / 877 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
|
|
| 14.08.2017, 05:18 | |
|
0
|
|
| 14.08.2017, 05:18 | |
|
Помогаю со студенческими работами здесь
5
Начертить штриховые линии между точками Доказать, что прямая не пересекает отрезка, ограниченного данными точками
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
|
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога
SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
|
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога
Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip"
Извлеките архив и вы увидите. . .
|
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога
Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д.
Сборка примера
Скачайте. . .
|
|
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net
REST сервисы временно не работают, только через Web.
Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
|
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
|
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
|