Skip to content

Instantly share code, notes, and snippets.

View ThomasGorisse's full-sized avatar

Thomas Gorisse ThomasGorisse

View GitHub Profile
@ThomasGorisse
ThomasGorisse / SceneViewRecorder.kt
Last active March 17, 2023 12:28
SceneView Android screenshot and video screen recorder
package com.gorisse.thomas.arcamera
import android.Manifest
import android.content.ContentValues
import android.content.Context
import android.content.Intent
import android.content.res.Configuration
import android.graphics.Bitmap
import android.hardware.display.DisplayManager
import android.media.CamcorderProfile
package io.github.sceneview.ar.utils
import android.Manifest
import android.content.Context
import android.content.Intent
import android.content.pm.PackageManager
import android.net.Uri
import android.provider.Settings
import android.widget.Toast
import androidx.activity.ComponentActivity
package io.github.sceneview.loaders
import android.content.Context
import com.google.android.filament.Engine
import com.google.android.filament.Material
import com.google.android.filament.MaterialInstance
import com.google.android.filament.Texture
import io.github.sceneview.material.setInvertFrontFaceWinding
import io.github.sceneview.material.setViewTexture
import io.github.sceneview.utils.loadFileBuffer
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() {
package io.github.sceneview.view
import android.annotation.SuppressLint
import android.content.Context
import android.graphics.Canvas
import android.graphics.ImageFormat
import android.graphics.Picture
import android.graphics.PorterDuff
import android.media.ImageReader
import android.os.Handler
package io.github.sceneview.node
import android.view.LayoutInflater
import android.view.MotionEvent
import android.view.View
import com.google.android.filament.*
import com.google.android.filament.View.PickingQueryResult
import io.github.sceneview.SceneView
import io.github.sceneview.components.RenderableComponent
import io.github.sceneview.geometries.Plane
package io.github.sceneview.environment
import android.content.Context
import com.google.android.filament.Engine
import com.google.android.filament.IndirectLight
import com.google.android.filament.Skybox
import com.google.android.filament.utils.KTX1Loader
import io.github.sceneview.SceneView
import io.github.sceneview.utils.loadFileBuffer
import kotlinx.coroutines.*
package io.github.sceneview.node
import androidx.annotation.IntRange
import com.google.android.filament.Engine
import com.google.android.filament.MaterialInstance
import com.google.android.filament.View
import com.google.android.filament.gltfio.Animator
import dev.romainguy.kotlin.math.max
import io.github.sceneview.Entity
import io.github.sceneview.SceneView
package io.github.sceneview.geometries
import com.google.android.filament.Engine
import dev.romainguy.kotlin.math.TWO_PI
import dev.romainguy.kotlin.math.normalize
import io.github.sceneview.math.Direction
import io.github.sceneview.math.Position
import io.github.sceneview.math.Size
import kotlin.math.cos
import kotlin.math.sin
package io.github.sceneview.components
import android.animation.ObjectAnimator
import com.google.android.filament.*
import com.google.ar.sceneform.rendering.*
import dev.romainguy.kotlin.math.*
import io.github.sceneview.*
import io.github.sceneview.Entity
import io.github.sceneview.animation.TransformAnimator
import io.github.sceneview.gesture.*