diff --git a/app/src/main/java/com/google/ar/core/examples/java/common/framework/RWT/RWTRenderer.java b/app/src/main/java/com/google/ar/core/examples/java/common/framework/RWT/RWTRenderer.java index 3fadba8..24a4558 100644 --- a/app/src/main/java/com/google/ar/core/examples/java/common/framework/RWT/RWTRenderer.java +++ b/app/src/main/java/com/google/ar/core/examples/java/common/framework/RWT/RWTRenderer.java @@ -36,24 +36,28 @@ @Override public void onSurfaceCreated(GL10 gl, EGLConfig config) { - gc3D = new GraphicsContext3D(gl); - ArrayList lights = universe.getLights(); - for (int i = 0; i < lights.size(); i++){ - Light l = lights.get(i); - gc3D.setLight(l,i); - } - viewer.setGraphicsContext3D(gc3D); +// gc3D = new GraphicsContext3D(gl); +// ArrayList lights = camera.getUniverse().getLights(); +// for (int i = 0; i < lights.size(); i++){ +// Light l = lights.get(i); +// gc3D.setLight(l,i); +// } +// viewer.setGraphicsContext3D(gc3D); + + helloArActivity.onSurfaceCreated(gl, config); } @Override public void onSurfaceChanged(GL10 gl, int width, int height) { - if (gc3D == null) { - gc3D = new GraphicsContext3D(gl); - viewer.setGraphicsContext3D(gc3D); - } else { - viewer.setGraphicsContext3D(gc3D.setGL10(gl)); - } - viewer.surfaceChanged(width, height); +// if (gc3D == null) { +// gc3D = new GraphicsContext3D(gl); +// viewer.setGraphicsContext3D(gc3D); +// } else { +// viewer.setGraphicsContext3D(gc3D.setGL10(gl)); +// } +// viewer.surfaceChanged(width, height); + + helloArActivity.onSurfaceChanged(gl, width, height); } @Override diff --git a/app/src/main/java/com/google/ar/core/examples/java/common/framework/view3D/Viewer3D.java b/app/src/main/java/com/google/ar/core/examples/java/common/framework/view3D/Viewer3D.java index 56eb70b..0fc7f64 100644 --- a/app/src/main/java/com/google/ar/core/examples/java/common/framework/view3D/Viewer3D.java +++ b/app/src/main/java/com/google/ar/core/examples/java/common/framework/view3D/Viewer3D.java @@ -1,5 +1,6 @@ package com.google.ar.core.examples.java.common.framework.view3D; +import com.google.ar.core.Camera; import com.google.ar.core.examples.java.common.framework.model3D.BackgroundBox; import com.google.ar.core.examples.java.common.framework.model3D.IViewer3D; import com.google.ar.core.examples.java.common.framework.model3D.Position3D; @@ -20,9 +21,10 @@ private GraphicsContext3D gc3D = null; private ArrayList lights = null; private BackgroundBox skyBox = null; - private Camera3D camera = null; +// private Camera3D camera = null; + private Camera camera = null; - public Viewer3D(Camera3D camera) { + public Viewer3D(Camera camera) { this.camera = camera; } @@ -35,15 +37,15 @@ @Override public void surfaceChanged(int width, int height) { - gc3D.update(width, height, (float)camera.getFieldOfView(), (float)camera.getFrontClipDistance(), (float)camera.getBackClipDistance(), camera.isParallel()); +// gc3D.update(width, height, (float)camera.getFieldOfView(), (float)camera.getFrontClipDistance(), (float)camera.getBackClipDistance(), camera.isParallel()); } @Override public void onDrawFrame() { - Position3D eye = camera.getViewPoint(); - Position3D center = eye.clone().add(camera.getViewLine()); - Vector3d up = camera.getViewUp(); - gc3D.update((float)camera.getFieldOfView(), (float)camera.getFrontClipDistance(), (float)camera.getBackClipDistance(), eye, center, up, camera.isParallel()); +// Position3D eye = camera.getViewPoint(); +// Position3D center = eye.clone().add(camera.getViewLine()); +// Vector3d up = camera.getViewUp(); +// gc3D.update((float)camera.getFieldOfView(), (float)camera.getFrontClipDistance(), (float)camera.getBackClipDistance(), eye, center, up, camera.isParallel()); } @Override diff --git a/app/src/main/java/com/google/ar/core/examples/java/helloar/HelloArActivity.java b/app/src/main/java/com/google/ar/core/examples/java/helloar/HelloArActivity.java index 305ac1d..e2f634e 100644 --- a/app/src/main/java/com/google/ar/core/examples/java/helloar/HelloArActivity.java +++ b/app/src/main/java/com/google/ar/core/examples/java/helloar/HelloArActivity.java @@ -35,6 +35,7 @@ import com.google.ar.core.Session; import com.google.ar.core.Trackable; import com.google.ar.core.TrackingState; +import com.google.ar.core.examples.java.common.framework.RWT.RWTRenderer; import com.google.ar.core.examples.java.common.helpers.CameraPermissionHelper; import com.google.ar.core.examples.java.common.helpers.DisplayRotationHelper; import com.google.ar.core.examples.java.common.helpers.FullScreenHelper; @@ -67,6 +68,7 @@ // Rendering. The Renderers are created here, and initialized when the GL surface is created. private GLSurfaceView surfaceView; + private RWTRenderer renderer; private boolean installRequested; @@ -106,6 +108,7 @@ super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); surfaceView = findViewById(R.id.surfaceview); + renderer = new RWTRenderer(session, this); displayRotationHelper = new DisplayRotationHelper(/*context=*/ this); // Set up tap listener. @@ -238,6 +241,8 @@ virtualObjectShadow.setBlendMode(BlendMode.Shadow); virtualObjectShadow.setMaterialProperties(1.0f, 0.0f, 0.0f, 1.0f); +// renderer.onSurfaceCreated(gl, config); + } catch (IOException e) { Log.e(TAG, "Failed to read an asset file", e); } @@ -247,6 +252,8 @@ public void onSurfaceChanged(GL10 gl, int width, int height) { displayRotationHelper.onSurfaceChanged(width, height); GLES20.glViewport(0, 0, width, height); + +// renderer.onSurfaceChanged(gl, width, height); } @Override @@ -334,6 +341,8 @@ virtualObjectShadow.updateModelMatrix(anchorMatrix, scaleFactor); virtualObject.draw(viewmtx, projmtx, colorCorrectionRgba, coloredAnchor.color); virtualObjectShadow.draw(viewmtx, projmtx, colorCorrectionRgba, coloredAnchor.color); + + renderer.onDrawFrame(gl); } } catch (Throwable t) {