Deck.gl Solidpolygonlayer Шейдер Инъекция шейдера для смещения экструдированных многоугольниковJavascript

Форум по Javascript
Ответить
Anonymous
 Deck.gl Solidpolygonlayer Шейдер Инъекция шейдера для смещения экструдированных многоугольников

Сообщение Anonymous »

Я пытаюсь создать пользовательский Deck.gl SolidpolygonLayer, который добавляет дополнительный атрибут функции к вертикально смещенным экструдированным многоугольникам (заставьте их плавать над картой на высотах переменных). < /p>
На основе этих документов:
https://deck.gl/docs/developer-guide/cu ... ader-hooks
https://deck.gl/docs/api-reference/core/project
Я придумал следующее





shaders.inject = {
'vs:#decl': `attribute float instanceBaseOffset;`,
'vs:DECKGL_FILTER_GL_POSITION': `
vec3 offsetWorldPosition = geometry.worldPosition + vec3(0.0, 0.01, 0.0);
vec3 offsetWorldPosition64Low = vec3(0.0);
vec3 commonPosition = project_position(offsetWorldPosition, offsetWorldPosition64Low);
// position = project_common_position_to_clipspace(vec4(commonPosition, 1));
position = vec4(position.x, position.y + 0.1, position.z, position.w);
`
}
< /code>
Я могу получить доступ к геометрии, компенсировать ее (на данный момент постоянной), а затем проецировать ее, чтобы обрезать пространство и установить положение. Проблема заключается в том, что это сбрасывает экструзию, которую Deck.gl уже рассчитывал. Похоже, ни один из них не позволяет мне сделать то, что я хочу. < /P>
Я также пытался изменить мировоззрение напрямую и внедрить, что ранее до того, как были рассчитаны выбросы, но я, кажется, не имею доступа к переменной на VS:#Main-Start.>

Подробнее здесь: https://stackoverflow.com/questions/796 ... d-polygons
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»