Я попытался под примером кода на Android, чтобы узнать OpenGL. но я не мог видеть ожидаемый результат. Укажите, где проблема?Невозможно установить цвет фона и очистить вывод в EGL
Я использовал вклад fadden в качестве ссылки.
Шаг 1:
Я создал renderThread с renderHandler.
public void run() {
Looper.prepare();
mHandler = new RenderHandler(this);
mEconEglCore = new EGLCore(null, EGLCore.FLAG_RECORDABLE);
EGLSurface eglSur = mEconEglCore.createWindowSurface(userSurface);
synchronized (mStartLock) {
mReady = true;
mStartLock.notifyAll();
}
Looper.loop();
}
Пользовательская поверхность, которую я получил в RenderThread Constructor.
public RenderThread(Surface surface) {
// Log.d (TAG, "Inside Render Thread..");
userSurface = surface;
}
Теперь я Вызывающую doFrame() API с помощью механизма Хореограф Callback просто рисовать цвета на поверхности.
GLES20.glLineWidth(3.0f);
GLES20.glClearColor(0.6f, 1.0f, 0.3f, 1.0f);
GLES20.glClear(GLES20.GL_COLOR_BUFFER_BIT);
ПРИМЕЧАНИЕ. Приложение использует TextureView и получило поверхность следующим образом.
mytextureView.setSurfaceTextureListener(new TextureView.SurfaceTextureListener() {
@Override
public void onSurfaceTextureAvailable(SurfaceTexture surface, int width, int height) {
Log.d(TAG, "Surface Texture Available..");
userSurface = new Surface(surface);
ПРОБЛЕМА:
Я не уверен, если я совмещен с правой процедуры в Coding OpenGL. Кроме того, я не вижу никакого цвета, отображаемого на поверхности, но только черного цвета. Даже если я ничего не делаю, я делаю черный цвет.
Просьба предоставить ввод. Кроме того, дайте знать недостающую часть, о которой я должен знать?