По заголовку думал что статья про HTML Canvas чтобы нарисовать горизонтальную или вертикальную линию толщиной в один пиксель. С целочисленными координатами антиалиасинг делает блеклые линии толщиной в два пикселя. И это правильно и логично, если подумать :)
Я думаю что поскольку ребро получается в результате пересечения двух плоскостей, то две нормали к поверхностям как дополнительные атрибуты вершины позволят вычислить нужный цвет линии. Но это уже вершинный шейдер — раньше его не было.
Раньше похожий эффект делали с помощью прорисовки линиями поверх треугольников с помощью glPolygonOffset без дополнительного буфера и постобработки. Интересно было бы сравнить.
Думаю эта "фича" относится скорее к линтеру с автоисправлением, а вот в компиляторе ее быть не должно, так как это не стандартное поведение, которое создаст проблему при смене компилятора.
Поскольку это юбилейное издание, возможно стоит взять за основу оригинальную обложку 1975 года, ведь книга прошла проверку временем, а обложки переводов на русский по моему все были разношёрстные и не связанные.
Почему вы считаете разработку нового языка программирования великой стройкой коммунизма?
Есть генераторы лексических и синтаксических анализаторов, прицепить к LLVM и новый язык готов :)
Какую современную проблему решит или научные знания даст создание нового языка?
Спасибо автору за статью.
Напомнила студенческие годы.
В библиотеке OpenGL для Windows лет этак 20 назад была функция wglUseFontOutlines. Когда-то даже игрался с ней году в 2003м. Исходный код может быть есть в Wine, тесселятор там из GLU.
Тогда по логике дефферед начинается с форварда и без него существовать не может. Просто сейчас начальный форвард стал проще, а тяжёлые шейдера отрабатывают после него. Дефферед же по сути надстройка поверх форварда?
Можно как-то детальнее пояснить про форвард? В моем понимании преобразование координат и растеризация никак по-другому и не работает, как можно без него заполнять буфера?
Он гарантирует точность при фиксированном числе операций без использования LUT, и 12 бит точности не такие уж и накладные для 32х битного процессора на мой взгляд.
Число потомков хорошо подобрать по размеру кеш линии, которая для x86 64 байта. Соответственно если сравнивать просто 32битные ключи, то n=16. Для 64х битных уже 8. Простые сравнения чисел намного быстрее промахов кэша.
Там иллюстрация содержит подсказку к теоретическому решению. Не все таблетки однородны с равномерным распределением активных веществ. На таблетке может не быть засечек.
Проблема статьи в том, что в ней можно заменить менеджера проекта на любую другую профессию и никто не заметит разницы :). Очень мало специфики.
"пусть и на менеджерскую позицию" — это такой троллинг? Для многих переход на менеджерскую позицию является единственным способом зарплатного и карьерного роста и когда приз уходит новому человеку извне — это чертовски неприятно. Есть конечно и менеджерские позиции, которые никто не хотел, но там все относятся с пониманием.
Я полагаю что проблема будет в стоимости такой маски.
Маски — одноразовое медицинское изделие — дешевле и проще в эксплуатации.
Просто как декоративный аксессуар — настоящий респиратор неудобен.
Как прикольный респиратор — возможно подойдёт тем, кто часто работает со вредными веществами (например с красками/пульверизатором), но дети обычно не относятся к этой категории.
Почему приведенная реализация Rank1 имеет логарифмическую сложность? На вид линейная, явный же цикл.
По заголовку думал что статья про HTML Canvas чтобы нарисовать горизонтальную или вертикальную линию толщиной в один пиксель. С целочисленными координатами антиалиасинг делает блеклые линии толщиной в два пикселя. И это правильно и логично, если подумать :)
Я думаю что поскольку ребро получается в результате пересечения двух плоскостей, то две нормали к поверхностям как дополнительные атрибуты вершины позволят вычислить нужный цвет линии. Но это уже вершинный шейдер — раньше его не было.
Раньше похожий эффект делали с помощью прорисовки линиями поверх треугольников с помощью glPolygonOffset без дополнительного буфера и постобработки. Интересно было бы сравнить.
https://www.shadertoy.com/view/XstGRf
Думаю эта "фича" относится скорее к линтеру с автоисправлением, а вот в компиляторе ее быть не должно, так как это не стандартное поведение, которое создаст проблему при смене компилятора.
Поскольку это юбилейное издание, возможно стоит взять за основу оригинальную обложку 1975 года, ведь книга прошла проверку временем, а обложки переводов на русский по моему все были разношёрстные и не связанные.
Пример с концентрическими кругами и анимацией вполне можно попробовать реализовать на одном лишь CSS вообще без JavaScript.
Почему вы считаете разработку нового языка программирования великой стройкой коммунизма?
Есть генераторы лексических и синтаксических анализаторов, прицепить к LLVM и новый язык готов :)
Какую современную проблему решит или научные знания даст создание нового языка?
Спасибо автору за статью.
Напомнила студенческие годы.
В библиотеке OpenGL для Windows лет этак 20 назад была функция wglUseFontOutlines. Когда-то даже игрался с ней году в 2003м. Исходный код может быть есть в Wine, тесселятор там из GLU.
Тогда по логике дефферед начинается с форварда и без него существовать не может. Просто сейчас начальный форвард стал проще, а тяжёлые шейдера отрабатывают после него. Дефферед же по сути надстройка поверх форварда?
Можно как-то детальнее пояснить про форвард? В моем понимании преобразование координат и растеризация никак по-другому и не работает, как можно без него заполнять буфера?
Он гарантирует точность при фиксированном числе операций без использования LUT, и 12 бит точности не такие уж и накладные для 32х битного процессора на мой взгляд.
А вы пробовали вычислять квадратный корень через разложение в ряд Тейлора ?
Можно подробнее про массивы переменной длины в С, VLA что ли?
В C++ есть std::vector, да.
Число потомков хорошо подобрать по размеру кеш линии, которая для x86 64 байта. Соответственно если сравнивать просто 32битные ключи, то n=16. Для 64х битных уже 8. Простые сравнения чисел намного быстрее промахов кэша.
Там иллюстрация содержит подсказку к теоретическому решению. Не все таблетки однородны с равномерным распределением активных веществ. На таблетке может не быть засечек.
Правильный ответ на второй вопрос сильно зависит от типа таблеток. В общем случае так делать нельзя.
Проблема статьи в том, что в ней можно заменить менеджера проекта на любую другую профессию и никто не заметит разницы :). Очень мало специфики.
"пусть и на менеджерскую позицию" — это такой троллинг? Для многих переход на менеджерскую позицию является единственным способом зарплатного и карьерного роста и когда приз уходит новому человеку извне — это чертовски неприятно. Есть конечно и менеджерские позиции, которые никто не хотел, но там все относятся с пониманием.
Маски — одноразовое медицинское изделие — дешевле и проще в эксплуатации.
Просто как декоративный аксессуар — настоящий респиратор неудобен.
Как прикольный респиратор — возможно подойдёт тем, кто часто работает со вредными веществами (например с красками/пульверизатором), но дети обычно не относятся к этой категории.