blob: 94a1dd4c670a1ddbd318946b88105953b30c1411 [file] [log] [blame]
/*
* Copyright (C) 2011 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef ANDROID_FILTERFW_JNI_SHADER_PROGRAM_H
#define ANDROID_FILTERFW_JNI_SHADER_PROGRAM_H
#include <jni.h>
#include "native/core/value.h"
#ifdef __cplusplus
extern "C" {
#endif
JNIEXPORT jboolean JNICALL
Java_android_filterfw_core_ShaderProgram_allocate(JNIEnv* env,
jobject thiz,
jobject gl_env,
jstring vertex_shader,
jstring fragment_shader);
JNIEXPORT jboolean JNICALL
Java_android_filterfw_core_ShaderProgram_deallocate(JNIEnv* env, jobject thiz);
JNIEXPORT jboolean JNICALL
Java_android_filterfw_core_ShaderProgram_compileAndLink(JNIEnv* env, jobject thiz);
JNIEXPORT jboolean JNICALL
Java_android_filterfw_core_ShaderProgram_setUniformValue(JNIEnv* env,
jobject thiz,
jstring key,
jobject value);
JNIEXPORT jobject JNICALL
Java_android_filterfw_core_ShaderProgram_getUniformValue(JNIEnv* env,
jobject thiz,
jstring key);
JNIEXPORT jboolean JNICALL
Java_android_filterfw_core_ShaderProgram_shaderProcess(JNIEnv* env,
jobject thiz,
jobjectArray inputs,
jobject output);
JNIEXPORT jobject JNICALL
Java_android_filterfw_core_ShaderProgram_nativeCreateIdentity(JNIEnv* env,
jclass clazz,
jobject gl_env);
JNIEXPORT jboolean JNICALL
Java_android_filterfw_core_ShaderProgram_setSourceRegion(JNIEnv* env,
jobject thiz,
jfloat x0,
jfloat y0,
jfloat x1,
jfloat y1,
jfloat x2,
jfloat y2,
jfloat x3,
jfloat y3);
JNIEXPORT jboolean JNICALL
Java_android_filterfw_core_ShaderProgram_setTargetRegion(JNIEnv* env,
jobject thiz,
jfloat x0,
jfloat y0,
jfloat x1,
jfloat y1,
jfloat x2,
jfloat y2,
jfloat x3,
jfloat y3);
JNIEXPORT jboolean JNICALL
Java_android_filterfw_core_ShaderProgram_setShaderClearsOutput(JNIEnv* env,
jobject thiz,
jboolean clears);
JNIEXPORT jboolean JNICALL
Java_android_filterfw_core_ShaderProgram_setShaderClearColor(JNIEnv* env,
jobject thiz,
jfloat r,
jfloat g,
jfloat b);
JNIEXPORT jboolean JNICALL
Java_android_filterfw_core_ShaderProgram_setShaderBlendEnabled(JNIEnv* env,
jobject thiz,
jboolean enable);
JNIEXPORT jboolean JNICALL
Java_android_filterfw_core_ShaderProgram_setShaderBlendFunc(JNIEnv* env,
jobject thiz,
jint sfactor,
jint dfactor);
JNIEXPORT jboolean JNICALL
Java_android_filterfw_core_ShaderProgram_setShaderDrawMode(JNIEnv* env,
jobject thiz,
jint draw_mode);
JNIEXPORT jboolean JNICALL
Java_android_filterfw_core_ShaderProgram_setShaderTileCounts(JNIEnv* env,
jobject thiz,
jint x_count,
jint y_count);
JNIEXPORT jboolean JNICALL
Java_android_filterfw_core_ShaderProgram_setShaderVertexCount(JNIEnv* env,
jobject thiz,
jint vertex_count);
JNIEXPORT jboolean JNICALL
Java_android_filterfw_core_ShaderProgram_beginShaderDrawing(JNIEnv* env, jobject thiz);
JNIEXPORT jboolean JNICALL
Java_android_filterfw_core_ShaderProgram_setShaderAttributeValues(JNIEnv* env,
jobject thiz,
jstring attr_name,
jfloatArray values,
jint component_count);
JNIEXPORT jboolean JNICALL
Java_android_filterfw_core_ShaderProgram_setShaderAttributeVertexFrame(JNIEnv* env,
jobject thiz,
jstring attr_name,
jobject vertex_frame,
jint type,
jint component_count,
jint stride,
jint offset,
jboolean normalize);
#ifdef __cplusplus
}
#endif
#endif // ANDROID_FILTERFW_JNI_SHADER_PROGRAM_H