Skip to content

house0000/PS_GPU_Android

Repository files navigation

PSGPU-Android

Image

Install

// settings.gradle.kts

dependencyResolutionManagement {
    repositories {
        // Add
        maven { url 'https://jitpack.io' }
    }
}
// module/build.gradle.kts

dependencies {
    // Add
    implementation("com.github.house0000:PS_GPU_Android:version")
}

How to use

Filter

use filter

// Setup
class MainApplication: Application() {
    override fun onCreate() {
        super.onCreate()
        PSFilter.init(this) // Add
    }
}
// init
val filter = PSGaussianFilter(
    radius = 5,
    sigma = 30
)

// change params if needed
filter.setParams(radius = 10)

// apply filter to Bitmap
val filteredBitmap = filter.apply(bitmap)

custom filter

/**
 * My custom filter
 *
 * @param myParam
 *
 * */
class PSCustomFilter(
    private var myParam: Float = 1f
): PSTemplateFilter(
    params = PSTemplateFilterParams(
        vertexShaderSrcPath = "shader/Custom.vsh",
        fragmentShaderSrcPath = "shader/Custom.fsh"
    )
) {
    fun setParams(myParam: Float) {
        this.myParam = myParam
    }

    override fun setupCustomUniformParams(width: Int, height: Int) {
        params.uniformParams = listOf(
            PSUniformParam.F1("u_myParam", myParam)
        )
    }

    fun getMyParam(): Float = myParam
}
assets/
└── shader/
    └── Custom.fsh
    └── Custom.vsh

Samples

Run this project.

Main Reference

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published