Skip to content

Instantly share code, notes, and snippets.

@ThomasGorisse
Created September 27, 2022 13:41
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ThomasGorisse/bd20f03a7f3ade0612798140a4c9f9e1 to your computer and use it in GitHub Desktop.
Save ThomasGorisse/bd20f03a7f3ade0612798140a4c9f9e1 to your computer and use it in GitHub Desktop.
package io.github.sceneview.texture
import com.google.android.filament.Engine
import com.google.android.filament.Texture
import io.github.sceneview.SceneView
import io.github.sceneview.view.ViewStream
class ViewTexture {
class Builder : Texture.Builder() {
private lateinit var viewStream: ViewStream
init {
sampler(Texture.Sampler.SAMPLER_EXTERNAL)
format(Texture.InternalFormat.RGB8)
}
fun viewStream(viewStream: ViewStream) = apply {
this.viewStream = viewStream
}
override fun build(engine: Engine): Texture = super.build(engine).apply {
setViewStream(engine, viewStream)
}
}
}
fun Texture.setViewStream(engine: Engine, viewStream: ViewStream) {
setExternalStream(engine, viewStream.stream)
}
fun Texture.setViewStream(sceneView: SceneView, viewStream: ViewStream) =
setViewStream(sceneView.engine, viewStream)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment