Как создать контекст рендеринга OpenGL на устройстве Android при разработке приложения с помощью Delphi XE5?Как получить контекст рендеринга OpenGL на Android с Delphi XE5?
В основном я не знаю с чего начать. Пока нет примеров OpenGL.
Что я ожидал бы существовать:
Каких-то событие (Panel.OnRender), что обеспечило бы существующий контекст, в котором я мог бы назвать OpenGL вызовов.
Generic управления TOpenGLSurface, которые могут быть размещены в дизайнере форм
способ создать контекст на главной форме во время выполнения.
Из моих исследований до сих пор я, что TWindowManager.Render
имеет доступ к OpenGL вызовов и использует их для отображения всплывающих окон.
EDIT: Добавление таймера в форму и вызова этой процедуры заполняет экран с зеленым, так что это означает контекст GL уже есть:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
glClearColor(0, 1, 0, 0);
glClear(GL_DEPTH_BUFFER_BIT or GL_STENCIL_BUFFER_BIT or GL_COLOR_BUFFER_BIT);
eglSwapBuffers(TCustomAndroidContext.SharedDisplay, TCustomAndroidContext.SharedSurface);
end;
Вопрос - как правильно обращаться с этим, cos rendering on Timer в контролируемой среде - определенно плохая идея.
Вы должны использовать блоки FMX.Types3D, Androidapi.Gles; Другие возможные полезные: FMX.Platform.Android, Androidapi.Gles2, Androidapi.JNI.OpenGL; –