Я пытаюсь создать пользовательский 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
Deck.gl Solidpolygonlayer Шейдер Инъекция шейдера для смещения экструдированных многоугольников ⇐ Javascript
Форум по Javascript
1752279400
Anonymous
Я пытаюсь создать пользовательский Deck.gl SolidpolygonLayer, который добавляет дополнительный атрибут функции к вертикально смещенным экструдированным многоугольникам (заставьте их плавать над картой на высотах переменных). < /p>
На основе этих документов:
https://deck.gl/docs/developer-guide/custom-layers/writing-shaders#standard-shader-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.>
Подробнее здесь: [url]https://stackoverflow.com/questions/79698926/deck-gl-solidpolygonlayer-shader-injection-to-offset-extruded-polygons[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия