Add API to enable/disable shadows on a light (#1492)
This commit is contained in:
@@ -22,48 +22,47 @@ using namespace filament;
|
||||
using namespace utils;
|
||||
|
||||
extern "C" JNIEXPORT jboolean JNICALL
|
||||
Java_com_google_android_filament_LightManager_nHasComponent(JNIEnv *env, jclass type,
|
||||
Java_com_google_android_filament_LightManager_nHasComponent(JNIEnv*, jclass,
|
||||
jlong nativeLightManager, jint entity) {
|
||||
LightManager *lm = (LightManager *) nativeLightManager;
|
||||
return (jboolean) lm->hasComponent((Entity &) entity);
|
||||
}
|
||||
|
||||
extern "C" JNIEXPORT jint JNICALL
|
||||
Java_com_google_android_filament_LightManager_nGetInstance(JNIEnv *env, jclass type,
|
||||
Java_com_google_android_filament_LightManager_nGetInstance(JNIEnv*, jclass,
|
||||
jlong nativeLightManager, jint entity) {
|
||||
LightManager *lm = (LightManager *) nativeLightManager;
|
||||
return lm->getInstance((Entity &) entity);
|
||||
}
|
||||
|
||||
extern "C" JNIEXPORT void JNICALL
|
||||
Java_com_google_android_filament_LightManager_nDestroy(JNIEnv *env, jclass type,
|
||||
Java_com_google_android_filament_LightManager_nDestroy(JNIEnv*, jclass,
|
||||
jlong nativeLightManager, jint entity) {
|
||||
LightManager *lm = (LightManager *) nativeLightManager;
|
||||
lm->destroy((Entity &) entity);
|
||||
}
|
||||
|
||||
extern "C" JNIEXPORT jlong JNICALL
|
||||
Java_com_google_android_filament_LightManager_nCreateBuilder(JNIEnv *env, jclass type,
|
||||
jint lightType) {
|
||||
Java_com_google_android_filament_LightManager_nCreateBuilder(JNIEnv*, jclass, jint lightType) {
|
||||
return (jlong) new LightManager::Builder((LightManager::Type) lightType);
|
||||
}
|
||||
|
||||
extern "C" JNIEXPORT void JNICALL
|
||||
Java_com_google_android_filament_LightManager_nDestroyBuilder(JNIEnv *env, jclass type,
|
||||
Java_com_google_android_filament_LightManager_nDestroyBuilder(JNIEnv*, jclass,
|
||||
jlong nativeBuilder) {
|
||||
LightManager::Builder *builder = (LightManager::Builder *) nativeBuilder;
|
||||
delete builder;
|
||||
}
|
||||
|
||||
extern "C" JNIEXPORT void JNICALL
|
||||
Java_com_google_android_filament_LightManager_nBuilderCastShadows(JNIEnv *env, jclass type,
|
||||
Java_com_google_android_filament_LightManager_nBuilderCastShadows(JNIEnv*, jclass,
|
||||
jlong nativeBuilder, jboolean enable) {
|
||||
LightManager::Builder *builder = (LightManager::Builder *) nativeBuilder;
|
||||
builder->castShadows(enable);
|
||||
}
|
||||
|
||||
extern "C" JNIEXPORT void JNICALL
|
||||
Java_com_google_android_filament_LightManager_nBuilderShadowOptions(JNIEnv *env, jclass type,
|
||||
Java_com_google_android_filament_LightManager_nBuilderShadowOptions(JNIEnv*, jclass,
|
||||
jlong nativeBuilder, jint mapSize, jfloat constantBias, jfloat normalBias, jfloat shadowFar,
|
||||
jfloat shadowNearHint, jfloat shadowFarHint, jboolean stable) {
|
||||
LightManager::Builder *builder = (LightManager::Builder *) nativeBuilder;
|
||||
@@ -78,84 +77,84 @@ Java_com_google_android_filament_LightManager_nBuilderShadowOptions(JNIEnv *env,
|
||||
}
|
||||
|
||||
extern "C" JNIEXPORT void JNICALL
|
||||
Java_com_google_android_filament_LightManager_nBuilderCastLight(JNIEnv *env, jclass type,
|
||||
Java_com_google_android_filament_LightManager_nBuilderCastLight(JNIEnv*, jclass,
|
||||
jlong nativeBuilder, jboolean enabled) {
|
||||
LightManager::Builder *builder = (LightManager::Builder *) nativeBuilder;
|
||||
builder->castLight(enabled);
|
||||
}
|
||||
|
||||
extern "C" JNIEXPORT void JNICALL
|
||||
Java_com_google_android_filament_LightManager_nBuilderPosition(JNIEnv *env, jclass type,
|
||||
Java_com_google_android_filament_LightManager_nBuilderPosition(JNIEnv*, jclass,
|
||||
jlong nativeBuilder, jfloat x, jfloat y, jfloat z) {
|
||||
LightManager::Builder *builder = (LightManager::Builder *) nativeBuilder;
|
||||
builder->position({x, y, z});
|
||||
}
|
||||
|
||||
extern "C" JNIEXPORT void JNICALL
|
||||
Java_com_google_android_filament_LightManager_nBuilderDirection(JNIEnv *env, jclass type,
|
||||
Java_com_google_android_filament_LightManager_nBuilderDirection(JNIEnv*, jclass,
|
||||
jlong nativeBuilder, jfloat x, jfloat y, jfloat z) {
|
||||
LightManager::Builder *builder = (LightManager::Builder *) nativeBuilder;
|
||||
builder->direction({x, y, z});
|
||||
}
|
||||
|
||||
extern "C" JNIEXPORT void JNICALL
|
||||
Java_com_google_android_filament_LightManager_nBuilderColor(JNIEnv *env, jclass type,
|
||||
Java_com_google_android_filament_LightManager_nBuilderColor(JNIEnv*, jclass,
|
||||
jlong nativeBuilder, jfloat linearR, jfloat linearG, jfloat linearB) {
|
||||
LightManager::Builder *builder = (LightManager::Builder *) nativeBuilder;
|
||||
builder->color({linearR, linearG, linearB});
|
||||
}
|
||||
|
||||
extern "C" JNIEXPORT void JNICALL
|
||||
Java_com_google_android_filament_LightManager_nBuilderIntensity__JF(JNIEnv *env, jclass type,
|
||||
Java_com_google_android_filament_LightManager_nBuilderIntensity__JF(JNIEnv*, jclass,
|
||||
jlong nativeBuilder, jfloat intensity) {
|
||||
LightManager::Builder *builder = (LightManager::Builder *) nativeBuilder;
|
||||
builder->intensity(intensity);
|
||||
}
|
||||
|
||||
extern "C" JNIEXPORT void JNICALL
|
||||
Java_com_google_android_filament_LightManager_nBuilderIntensity__JFF(JNIEnv *env, jclass type,
|
||||
Java_com_google_android_filament_LightManager_nBuilderIntensity__JFF(JNIEnv*, jclass,
|
||||
jlong nativeBuilder, jfloat watts, jfloat efficiency) {
|
||||
LightManager::Builder *builder = (LightManager::Builder *) nativeBuilder;
|
||||
builder->intensity(watts, efficiency);
|
||||
}
|
||||
|
||||
extern "C" JNIEXPORT void JNICALL
|
||||
Java_com_google_android_filament_LightManager_nBuilderFalloff(JNIEnv *env, jclass type,
|
||||
Java_com_google_android_filament_LightManager_nBuilderFalloff(JNIEnv*, jclass,
|
||||
jlong nativeBuilder, jfloat radius) {
|
||||
LightManager::Builder *builder = (LightManager::Builder *) nativeBuilder;
|
||||
builder->falloff(radius);
|
||||
}
|
||||
|
||||
extern "C" JNIEXPORT void JNICALL
|
||||
Java_com_google_android_filament_LightManager_nBuilderSpotLightCone(JNIEnv *env, jclass type,
|
||||
Java_com_google_android_filament_LightManager_nBuilderSpotLightCone(JNIEnv*, jclass,
|
||||
jlong nativeBuilder, jfloat inner, jfloat outer) {
|
||||
LightManager::Builder *builder = (LightManager::Builder *) nativeBuilder;
|
||||
builder->spotLightCone(inner, outer);
|
||||
}
|
||||
|
||||
extern "C" JNIEXPORT void JNICALL
|
||||
Java_com_google_android_filament_LightManager_nBuilderAngularRadius(JNIEnv *env, jclass type,
|
||||
Java_com_google_android_filament_LightManager_nBuilderAngularRadius(JNIEnv*, jclass,
|
||||
jlong nativeBuilder, jfloat angularRadius) {
|
||||
LightManager::Builder *builder = (LightManager::Builder *) nativeBuilder;
|
||||
builder->sunAngularRadius(angularRadius);
|
||||
}
|
||||
|
||||
extern "C" JNIEXPORT void JNICALL
|
||||
Java_com_google_android_filament_LightManager_nBuilderHaloSize(JNIEnv *env, jclass type,
|
||||
Java_com_google_android_filament_LightManager_nBuilderHaloSize(JNIEnv*, jclass,
|
||||
jlong nativeBuilder, jfloat haloSize) {
|
||||
LightManager::Builder *builder = (LightManager::Builder *) nativeBuilder;
|
||||
builder->sunHaloSize(haloSize);
|
||||
}
|
||||
|
||||
extern "C" JNIEXPORT void JNICALL
|
||||
Java_com_google_android_filament_LightManager_nBuilderHaloFalloff(JNIEnv *env, jclass type,
|
||||
Java_com_google_android_filament_LightManager_nBuilderHaloFalloff(JNIEnv*, jclass,
|
||||
jlong nativeBuilder, jfloat haloFalloff) {
|
||||
LightManager::Builder *builder = (LightManager::Builder *) nativeBuilder;
|
||||
builder->sunHaloFalloff(haloFalloff);
|
||||
}
|
||||
|
||||
extern "C" JNIEXPORT jboolean JNICALL
|
||||
Java_com_google_android_filament_LightManager_nBuilderBuild(JNIEnv *env, jclass type,
|
||||
Java_com_google_android_filament_LightManager_nBuilderBuild(JNIEnv*, jclass,
|
||||
jlong nativeBuilder, jlong nativeEngine, jint entity) {
|
||||
LightManager::Builder *builder = (LightManager::Builder *) nativeBuilder;
|
||||
Engine *engine = (Engine *) nativeEngine;
|
||||
@@ -170,133 +169,147 @@ Java_com_google_android_filament_LightManager_nGetType(JNIEnv* env,
|
||||
}
|
||||
|
||||
extern "C" JNIEXPORT void JNICALL
|
||||
Java_com_google_android_filament_LightManager_nSetPosition(JNIEnv *env, jclass type,
|
||||
Java_com_google_android_filament_LightManager_nSetPosition(JNIEnv*, jclass,
|
||||
jlong nativeLightManager, jint i, jfloat x, jfloat y, jfloat z) {
|
||||
LightManager *lm = (LightManager *) nativeLightManager;
|
||||
lm->setPosition((LightManager::Instance) i, {x, y, z});
|
||||
}
|
||||
|
||||
extern "C" JNIEXPORT void JNICALL
|
||||
Java_com_google_android_filament_LightManager_nGetPosition(JNIEnv *env, jclass type,
|
||||
Java_com_google_android_filament_LightManager_nGetPosition(JNIEnv* env, jclass,
|
||||
jlong nativeLightManager, jint i, jfloatArray out_) {
|
||||
LightManager *lm = (LightManager *) nativeLightManager;
|
||||
jfloat *out = env->GetFloatArrayElements(out_, NULL);
|
||||
jfloat *out = env->GetFloatArrayElements(out_, nullptr);
|
||||
*reinterpret_cast<filament::math::float3 *>(out) = lm->getPosition((LightManager::Instance) i);
|
||||
env->ReleaseFloatArrayElements(out_, out, 0);
|
||||
}
|
||||
|
||||
extern "C" JNIEXPORT void JNICALL
|
||||
Java_com_google_android_filament_LightManager_nSetDirection(JNIEnv *env, jclass type,
|
||||
Java_com_google_android_filament_LightManager_nSetDirection(JNIEnv*, jclass,
|
||||
jlong nativeLightManager, jint i, jfloat x, jfloat y, jfloat z) {
|
||||
LightManager *lm = (LightManager *) nativeLightManager;
|
||||
lm->setDirection((LightManager::Instance) i, {x, y, z});
|
||||
}
|
||||
|
||||
extern "C" JNIEXPORT void JNICALL
|
||||
Java_com_google_android_filament_LightManager_nGetDirection(JNIEnv *env, jclass type,
|
||||
Java_com_google_android_filament_LightManager_nGetDirection(JNIEnv *env, jclass,
|
||||
jlong nativeLightManager, jint i, jfloatArray out_) {
|
||||
LightManager *lm = (LightManager *) nativeLightManager;
|
||||
jfloat *out = env->GetFloatArrayElements(out_, NULL);
|
||||
jfloat *out = env->GetFloatArrayElements(out_, nullptr);
|
||||
*reinterpret_cast<filament::math::float3 *>(out) = lm->getDirection((LightManager::Instance) i);
|
||||
env->ReleaseFloatArrayElements(out_, out, 0);
|
||||
}
|
||||
|
||||
extern "C" JNIEXPORT void JNICALL
|
||||
Java_com_google_android_filament_LightManager_nSetColor(JNIEnv *env, jclass type,
|
||||
Java_com_google_android_filament_LightManager_nSetColor(JNIEnv*, jclass,
|
||||
jlong nativeLightManager, jint i, jfloat linearR, jfloat linearG, jfloat linearB) {
|
||||
LightManager *lm = (LightManager *) nativeLightManager;
|
||||
lm->setColor((LightManager::Instance) i, {linearR, linearG, linearB});
|
||||
}
|
||||
|
||||
extern "C" JNIEXPORT void JNICALL
|
||||
Java_com_google_android_filament_LightManager_nGetColor(JNIEnv *env, jclass type,
|
||||
Java_com_google_android_filament_LightManager_nGetColor(JNIEnv *env, jclass,
|
||||
jlong nativeLightManager, jint i, jfloatArray out_) {
|
||||
LightManager *lm = (LightManager *) nativeLightManager;
|
||||
jfloat *out = env->GetFloatArrayElements(out_, NULL);
|
||||
jfloat *out = env->GetFloatArrayElements(out_, nullptr);
|
||||
*reinterpret_cast<filament::math::float3 *>(out) = lm->getColor((LightManager::Instance) i);
|
||||
env->ReleaseFloatArrayElements(out_, out, 0);
|
||||
}
|
||||
|
||||
extern "C" JNIEXPORT void JNICALL
|
||||
Java_com_google_android_filament_LightManager_nSetIntensity__JIF(JNIEnv *env, jclass type,
|
||||
Java_com_google_android_filament_LightManager_nSetIntensity__JIF(JNIEnv*, jclass,
|
||||
jlong nativeLightManager, jint i, jfloat intensity) {
|
||||
LightManager *lm = (LightManager *) nativeLightManager;
|
||||
lm->setIntensity((LightManager::Instance) i, intensity);
|
||||
}
|
||||
|
||||
extern "C" JNIEXPORT void JNICALL
|
||||
Java_com_google_android_filament_LightManager_nSetIntensity__JIFF(JNIEnv *env, jclass type,
|
||||
Java_com_google_android_filament_LightManager_nSetIntensity__JIFF(JNIEnv*, jclass,
|
||||
jlong nativeLightManager, jint i, jfloat watts, jfloat efficiency) {
|
||||
LightManager *lm = (LightManager *) nativeLightManager;
|
||||
lm->setIntensity((LightManager::Instance) i, watts, efficiency);
|
||||
}
|
||||
|
||||
extern "C" JNIEXPORT jfloat JNICALL
|
||||
Java_com_google_android_filament_LightManager_nGetIntensity(JNIEnv *env, jclass type,
|
||||
Java_com_google_android_filament_LightManager_nGetIntensity(JNIEnv*, jclass,
|
||||
jlong nativeLightManager, jint i) {
|
||||
LightManager *lm = (LightManager *) nativeLightManager;
|
||||
return lm->getIntensity((LightManager::Instance) i);
|
||||
}
|
||||
|
||||
extern "C" JNIEXPORT void JNICALL
|
||||
Java_com_google_android_filament_LightManager_nSetFalloff(JNIEnv *env, jclass type,
|
||||
Java_com_google_android_filament_LightManager_nSetFalloff(JNIEnv*, jclass,
|
||||
jlong nativeLightManager, jint i, jfloat falloff) {
|
||||
LightManager *lm = (LightManager *) nativeLightManager;
|
||||
lm->setFalloff((LightManager::Instance) i, falloff);
|
||||
}
|
||||
|
||||
extern "C" JNIEXPORT jfloat JNICALL
|
||||
Java_com_google_android_filament_LightManager_nGetFalloff(JNIEnv *env, jclass type,
|
||||
Java_com_google_android_filament_LightManager_nGetFalloff(JNIEnv*, jclass,
|
||||
jlong nativeLightManager, jint i) {
|
||||
LightManager *lm = (LightManager *) nativeLightManager;
|
||||
return lm->getFalloff((LightManager::Instance) i);
|
||||
}
|
||||
|
||||
extern "C" JNIEXPORT void JNICALL
|
||||
Java_com_google_android_filament_LightManager_nSetSpotLightCone(JNIEnv *env, jclass type,
|
||||
Java_com_google_android_filament_LightManager_nSetSpotLightCone(JNIEnv*, jclass,
|
||||
jlong nativeLightManager, jint i, jfloat inner, jfloat outer) {
|
||||
LightManager *lm = (LightManager *) nativeLightManager;
|
||||
lm->setSpotLightCone((LightManager::Instance) i, inner, outer);
|
||||
}
|
||||
|
||||
extern "C" JNIEXPORT void JNICALL
|
||||
Java_com_google_android_filament_LightManager_nSetSunAngularRadius(JNIEnv *env, jclass type,
|
||||
Java_com_google_android_filament_LightManager_nSetSunAngularRadius(JNIEnv*, jclass,
|
||||
jlong nativeLightManager, jint i, jfloat angularRadius) {
|
||||
LightManager *lm = (LightManager *) nativeLightManager;
|
||||
lm->setSunAngularRadius((LightManager::Instance) i, angularRadius);
|
||||
}
|
||||
|
||||
extern "C" JNIEXPORT jfloat JNICALL
|
||||
Java_com_google_android_filament_LightManager_nGetSunAngularRadius(JNIEnv *env, jclass type,
|
||||
Java_com_google_android_filament_LightManager_nGetSunAngularRadius(JNIEnv*, jclass,
|
||||
jlong nativeLightManager, jint i) {
|
||||
LightManager *lm = (LightManager *) nativeLightManager;
|
||||
return lm->getSunAngularRadius((LightManager::Instance) i);
|
||||
}
|
||||
|
||||
extern "C" JNIEXPORT void JNICALL
|
||||
Java_com_google_android_filament_LightManager_nSetSunHaloSize(JNIEnv *env, jclass type,
|
||||
Java_com_google_android_filament_LightManager_nSetSunHaloSize(JNIEnv*, jclass,
|
||||
jlong nativeLightManager, jint i, jfloat haloSize) {
|
||||
LightManager *lm = (LightManager *) nativeLightManager;
|
||||
lm->setSunHaloSize((LightManager::Instance) i, haloSize);
|
||||
}
|
||||
|
||||
extern "C" JNIEXPORT jfloat JNICALL
|
||||
Java_com_google_android_filament_LightManager_nGetHaloSize(JNIEnv *env, jclass type,
|
||||
Java_com_google_android_filament_LightManager_nGetHaloSize(JNIEnv*, jclass,
|
||||
jlong nativeLightManager, jint i) {
|
||||
LightManager *lm = (LightManager *) nativeLightManager;
|
||||
return lm->getSunHaloSize((LightManager::Instance) i);
|
||||
}
|
||||
|
||||
extern "C" JNIEXPORT void JNICALL
|
||||
Java_com_google_android_filament_LightManager_nSetSunHaloFalloff(JNIEnv *env, jclass type,
|
||||
Java_com_google_android_filament_LightManager_nSetSunHaloFalloff(JNIEnv*, jclass,
|
||||
jlong nativeLightManager, jint i, jfloat haloFalloff) {
|
||||
LightManager *lm = (LightManager *) nativeLightManager;
|
||||
lm->setSunHaloFalloff((LightManager::Instance) i, haloFalloff);
|
||||
}
|
||||
|
||||
extern "C" JNIEXPORT jfloat JNICALL
|
||||
Java_com_google_android_filament_LightManager_nGetHaloFalloff(JNIEnv *env, jclass type,
|
||||
Java_com_google_android_filament_LightManager_nGetHaloFalloff(JNIEnv*, jclass,
|
||||
jlong nativeLightManager, jint i) {
|
||||
LightManager *lm = (LightManager *) nativeLightManager;
|
||||
return lm->getSunHaloFalloff((LightManager::Instance) i);
|
||||
}
|
||||
|
||||
extern "C" JNIEXPORT void JNICALL
|
||||
Java_com_google_android_filament_LightManager_nSetShadowCaster(JNIEnv*, jclass,
|
||||
jlong nativeLightManager, jint i, jfloat shadowCaster) {
|
||||
LightManager *lm = (LightManager *) nativeLightManager;
|
||||
lm->setShadowCaster((LightManager::Instance) i, shadowCaster);
|
||||
}
|
||||
|
||||
extern "C" JNIEXPORT jboolean JNICALL
|
||||
Java_com_google_android_filament_LightManager_nIsShadowCaster(JNIEnv*, jclass,
|
||||
jlong nativeLightManager, jint i) {
|
||||
LightManager *lm = (LightManager *) nativeLightManager;
|
||||
return lm->isShadowCaster((LightManager::Instance) i);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user