Можно подумать, это кому-то интересно.

Наибольший вклад в теги

Все теги (14)

Лучшие ответы пользователя

Все ответы (10)
  • Как вызвать js из svg?

    DenVdmj
    @DenVdmj
    Javascript, Perl, Lua, etc.
    Подключайте скрипт не в html-, а в svg-файле:

    <svg width="100" height="100"
      xmlns="http://www.w3.org/2000/svg"
      xmlns:xlink="http://www.w3.org/1999/xlink">
    
      <script xlink:href="svg.js" />
    
      <rect fill="#080" width="100" height="100" onclick="msg()" />
    
    </svg>
    Ответ написан
  • Как рассчитывают освещение и тени 3d движки?

    DenVdmj
    @DenVdmj
    Javascript, Perl, Lua, etc.
    Вначале отбрасывается все, что не попадает в кадр. Как правило, статический мир и все его объекты представлены в виде дерева ограничивающих объемов (каждый из которых разбит на восемь объемов), в таком случае это делается довольно быстро (двоичный поиск, а точнее, в данном случае, восьмеричный). Динамические объекты можно хранить в отдельном, динамически перестраиваемом при перемещении объектов, дереве, либо перестраивать основное дерево (как правило объекты будут перемещаться в соседние узлы, и это довольно быстро).

    Сами тени: делается отрисовка сцены из позиции источника света, при этом код шейдера не отрисовывает кадр, так как он и не нужен: нужен только буфер глубин сцены с позиции источника света. Затем этот буфер глубин используется как текстура, проецируемая на все объекты сцены, при этом шейдер, занимающийся отрисовкой, использует данные из текстуры, делая тест затененности каждой точки. Благодаря тому, что мы сами решаем как отрисовывается точка в пиксельном шейдере, способ аппаратный, и сегодня, в самых разных своих вариантах, самый распространенный.

    Но это прямые тени от источника света, кроме них есть еще и глобальное освещение (затенение), SSAO, реализуемое анализом карты глубин текущего кадра (в 2D пространстве кадра, что довольно быстро).

    Более подробно, наверное, можно нагуглить таким образом:
    по первому пункту: octree scene graphs, frustum culling, occlusion culling,
    об освещении: shadow buffers, SSAO.
    Ответ написан
  • Смена курсора через js и абсолютное позиционирование - гуд практика?

    DenVdmj
    @DenVdmj
    Javascript, Perl, Lua, etc.
    Я думаю лучше менять курсор, чем скрывать его и затем эмулировать. Например, нужно изображение карандаша на полотне в графическом редакторе: эмулированный курсор — то есть картинка, перемещаемая в позицию курсора по mousemove — будет отставать, и это будет анноить пользователя. Имхо лучше иметь набор курсоров для всех видов кистей и инструментов, и включать их на полотне через установку «cursor: url("my-brush.png")»

    PS. Но я не знаю вашего кейса, так что всё это сугубо имхо.
    Ответ написан

Лучшие вопросы пользователя

Все вопросы (3)