mirror of
				https://github.com/godotengine/godot.git
				synced 2025-10-31 13:41:03 +00:00 
			
		
		
		
	Add off-screen GL context
This commit is contained in:
		
							parent
							
								
									25f01cb09d
								
							
						
					
					
						commit
						abdf931832
					
				
					 25 changed files with 252 additions and 23 deletions
				
			
		|  | @ -59,6 +59,9 @@ GodotJavaWrapper::GodotJavaWrapper(JNIEnv *p_env, jobject p_activity, jobject p_ | |||
| 
 | ||||
| 	// get some Godot method pointers...
 | ||||
| 	_on_video_init = p_env->GetMethodID(godot_class, "onVideoInit", "()V"); | ||||
| 	_create_offscreen_gl = p_env->GetMethodID(godot_class, "createOffscreenGL", "()Z"); | ||||
| 	_destroy_offscreen_gl = p_env->GetMethodID(godot_class, "destroyOffscreenGL", "()V"); | ||||
| 	_set_offscreen_gl_current = p_env->GetMethodID(godot_class, "setOffscreenGLCurrent", "(Z)V"); | ||||
| 	_restart = p_env->GetMethodID(godot_class, "restart", "()V"); | ||||
| 	_finish = p_env->GetMethodID(godot_class, "forceQuit", "()V"); | ||||
| 	_set_keep_screen_on = p_env->GetMethodID(godot_class, "setKeepScreenOn", "(Z)V"); | ||||
|  | @ -131,6 +134,29 @@ void GodotJavaWrapper::on_video_init(JNIEnv *p_env) { | |||
| 	} | ||||
| } | ||||
| 
 | ||||
| bool GodotJavaWrapper::create_offscreen_gl(JNIEnv *p_env) { | ||||
| 	if (_create_offscreen_gl) { | ||||
| 		return p_env->CallBooleanMethod(godot_instance, _create_offscreen_gl); | ||||
| 	} else { | ||||
| 		return false; | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| void GodotJavaWrapper::destroy_offscreen_gl(JNIEnv *p_env) { | ||||
| 	if (_destroy_offscreen_gl) { | ||||
| 		p_env->CallBooleanMethod(godot_instance, _destroy_offscreen_gl); | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| void GodotJavaWrapper::set_offscreen_gl_current(JNIEnv *p_env, bool p_current) { | ||||
| 	if (_set_offscreen_gl_current) { | ||||
| 		if (p_env == NULL) | ||||
| 			p_env = get_jni_env(); | ||||
| 		ERR_FAIL_COND(p_env == nullptr); | ||||
| 		p_env->CallVoidMethod(godot_instance, _set_offscreen_gl_current, p_current); | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| void GodotJavaWrapper::on_godot_setup_completed(JNIEnv *p_env) { | ||||
| 	if (_on_godot_setup_completed) { | ||||
| 		if (p_env == NULL) { | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Pedro J. Estébanez
						Pedro J. Estébanez