Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BillboardCollection & LabelCollection add filter to Billboard/Label #12468

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

mickae1
Copy link
Contributor

@mickae1 mickae1 commented Feb 7, 2025

I need to filter large collection of label/billboard, using the javascript takes too much resource.
with this codes, we use uniforms to filter quickly label/billboard.

I think, that this merge request can be interested for others also. By default it's disactivated

Testing plan

I've tested it with two sandcastle :

Billboard:
http://localhost:8080/Apps/Sandcastle/index.html#c=rVdtbxo5EP4rIz4t0sa8hUIKia5H0mul5HJKo6tOxykyu16wamxqGwJX5b93bO8uL6VKQxBfvON5eebxeMbUajDQjFoGdsJgwAyfT+Fvzh6ZHsoF1bDwazgHyR7zfRL2o2El8d8DJS3lEi0qMXwbSoARNeyarpj+iydfmH4LGRWGxW7L8ikTqLwpo5JPqeVK5sKhfKr2hjIAGHEhRorq1GyD+L2QD5QQLHHmkXPmAQBkXFimbzj6rJN6vCWkSydsONnTULpQtZIGCnscI8IUaJoCt2CVp8okTDKYaT7lli+Y2QM2UEe8JllrEnQUrRVDpgjgHfp3njOujV17gig/FaHGqjqUa0vvyKe7oGLOfE4+0ZkyPNCZczWg2uKKyhbJtJpesrFmzEQnnTZpn3U6nRhOkaRWt9uKoVGvV70XPJMxOh1WCKn5takFdw/XiORBLZgWdEVmcozn7gxMQoVH0fafiRJKryG4L/L5w8f7q/J486QpGJYoZHid8yO3E5RrloL5OqeaBTThHGDGl0yAyjLD7DOENF9ISAdpeHMWQ6tLzuqdZk4HINLP1Ey4HFslY7gcvIagRl6P+wi6/nhzFSC7HG99im83y75E3ozqMZw069Uf6bQTrvewOUJOtuiMQSvrL17smTVsyk+sptLMUEdaz7/l8jmSWy8k+ZTU6298zXUaze4Gx39inv8o/QUG3K5eR/HPa/Du6pI4Rt6J2YRGiCGUe0FFqX1D7YRYdUdTTMFEp+0tpt+Llb+tCZ0yTV1XoNgmsIeglFoMjNCM11hThz0itIRgRDKxuleBy5QZJHobwB02HyrHgu3Q13XliWffwdt62lijCj/E9odQIyrybofHpDkdCWw8oUeVnRFbFN763paULr20UaY5l6EDYoLzWVoMitI1VoDzmxVqQee9346q+TRY187DZvBy3fuJlgdTrr3WVk/V7CuGt3dMpi4aKjzlsC9ZhjPGQ7VKiREmOGVyDmrmUBrIlIYAEjD+LjG3udY5/LsxUSxbWleKazs/WvLCA0AL5uYFDrGCjYKBrYFU0h7k24zl4ic/m+Lno7cPDN8+TvzGYeEbR4p+YPaNX8p+KP/rHVBOdEl2btSvlVPxKHlZRhv39VWE5tHbB4ZvHyd+87DwzSNFPzD75pGybx0WvvXCYi7emZuV7Hr4J3wCJNRYnDc44u/D7g1uRruN0bl+Vrus+2qvElf6xq4EuyiQ/sanM6UtzLWIcLRbNp0JhG5qozn+YbAkMabA369tmvZTvgCenu/57wGJoMbgTjYX4hP/nw0rF/0a6v9gKhTOdDm+Da8HpzZpXFwHISGkX8PP/ZY5ZzuevwM

Label:
http://localhost:8080/Apps/Sandcastle/index.html#c=rVdtbxo5EP4rIz4t0sawEAp51UWkvauUXE9pdFXVrSrDehOrXnvP9hK4U/77jb0vvKVtIMmX4PHYM88zMw+m04GxZtQysPcMxszwIoO/OXtgmsRyRjXM/ALOQLKHyoGUDkHcmvr1WElLuWQ6boXwXywBJtSwK7pg+i8+/c70MaRUGBa6LcszJtB51UYlz6jlSlbGWD62T2IZy06THoUrOmFirIRgU+cKD9zeQ8qFxewKyVOlMwNBabjmEi9Nqu1rOm8Tf1lwe88NUGOKjBlYqEIDm1smE5Zs3Z+jGzohL4aByp0NV8oTVeAJLRZc3sGECzFRVCcg1B2fknZJm3C3mXXaNiIEnqom4WPokm64YqJzZ4oqMso6EDNlkpFc84xbPmOG0CQJymANZRdJgllqxuosPFUJT1OmmbQQt2ZUFCxuQa5VzrTleE8sS2d/oc/MO/msBiEA3vsJr0FiK841lXcMvrikXZpf3ZFcGV7WsYI8ptriJyr7JNUqu2R3mJYJDoYDMjgaDochHOIF/dGoH0LU7bbLFsGaHGOWni+IsKs8K9hlztrr5nMwVJoDwzRP610sA1Kr9DK0W5FPf7y/fdv00w8h9kqEFxM1Y0v+T7A7ciwWdgcWflLv4DJQSIDrG7domBWL9m4sDBH7m6MQ+iNy1B32Kg4819Qg13dWyRAux9us9F7EytX762eQ0n+SlN0QHpJu942v8jDqjVYA/olz8Vnp7zDmdrGNr/8ifDdvL4lr+guR39MAY7dXJeWdWPgpntKMaepKS1EuUGfQSi1MEa72g1/ND2mmrzxBUrG4VSVZCTOWS7pGxg22DA6HYBtcjFyhQzgYIrGH0VpKvws1oaIeLRQQTifCT6UTk6WonblxPFmz0rm3Rg26QpYChriKPKm1vbkai2sAr3LGDUXCcGl9ujz6zp8K2qWsu2Zw2ul07+fiWTjp/LYuxt+WCaOFW1PLNtRBHV6oSV8F3Xw+2Xbw+Jcj6zt4VSs1+wcR2xs/rYFj/LFi6pKl+EWEPCkxQT4zJotG6DEvKMEDht2sw4fK6wy+uHienGUHL8959ax6FQBPMEfQcQMYambd33aVS/t6JSrzo/v3GP46+mDP8IPXiR/tFz56peh7oo+ehT6WX092bCU6JxvD+7xWqt8Cu6FZkYYXkVlFH+wZfvA68Xv7he+9UvQ90fdeCX1/v/D9HRu5fDuudzIKtXGS/xFVfEqNxS82fCzclh7X6IA9/cO9YFM0Xehfejdz4bxbYevU2IVg5zWW33iWK22h0CIgpGNZlgsEZzqTAn9vWDI1pkZ42lk9eprwGfDk7ImfLjAV+OLHnbQQ4iP/F9/H56cd9N86KhRNkI8P+EwQdOHc7qPzq9JICDnt4PLpkxWrGzf/Dw

Copy link

github-actions bot commented Feb 7, 2025

Thank you for the pull request, @mickae1!

✅ We can confirm we have a CLA on file for you.

@ggetz
Copy link
Contributor

ggetz commented Feb 10, 2025

Thanks for the suggestion @mickae1!

Aside from the code itself, I want to make sure I understand the use case this feature would address.

Would you be able to add more details about your particular use case? You also mentioned others may find this useful. Can you let me know what other use cases you had in mind?

@mickae1
Copy link
Contributor Author

mickae1 commented Feb 10, 2025

@ggetz We are displaying thousands of lines and labels.
Each label or line has its own value.
Sometimes, the user needs to display only values that fall within a specific range. This is the concept of filtering, and this pull request addresses that.

Filtering lines is straightforward using custom attributes and uniforms. However, for the billboard collection, we cannot set a custom vertex shader, material fragment shader, uniforms, or attributes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants