标签: glsurfaceview

单一语境.多个GLSurfaceView和一个纹理

是否可以在曲面视图中仅创建一个3D纹理,并在不同的曲面视图中使用相同的ID.在这里,我在3个表面视图中创建相同的纹理,并在内存中占用三倍的空间.是否可以为所有这些视图创建一个共同的纹理并在这些视图中使用它?

android opengl-es glsurfaceview

2
推荐指数
1
解决办法
1536
查看次数

SurfaceView或TextureView组合

我正在尝试将实时效果应用于相机预览并在多个视图中显示,我该怎么办?
(就像相机2)(快照)

如果左侧没有ScrollView,我知道有两种方法可以显示相机预设的实时效果.

  • 使用GLSurfaceViewsetRenderer.将SurfaceTexture绑定为GLES外部纹理,并使用GLSL(OpenGL着色语言)来应用效果.
  • 使用TextureView.它更复杂,因为需要设置EGLContext/EGLSurface并进行线程管理.

但是,我不知道如何使ScrollView与实时效果项叠加GLES组合.

  1. 我应该选择GLSurfaceView(用于性能)还是TextureView(用于flexble)来实现ScrollView?哪一个更好的解决方案,为什么?
  2. 是否可以在多个视图之间共享一个EGL上下文/表面?如果是,任何代码片段都可以引用?

在谷歌搜索和阅读漂亮的图形架构文章和Grafika项目后,我仍然不知道......
也许我想念一些重要的事情,有人指出我了吗?提前致谢.

android opengl-es surfaceview glsurfaceview textureview

2
推荐指数
1
解决办法
2809
查看次数

ScrollView中的Android GLSurfaceView生成黑色边框

我有一个我想放在ScrollView中的GLSurfaceView.我通过在添加到ScrollView的LinearLayout中添加FrameLayout来实现这一点.

除了我在滚动时在GLSurfaceView上方获得黑色边框时,Everyhing效果很好.当屏幕静止时,每次都很好看.任何人都有任何想法.

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:scrollbars="none"

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="900dp"
            android:orientation="horizontal"
            android:layout_weight="1"
            android:layout_marginStart="10dp"
            android:layout_marginEnd="10dp"
            android:layout_marginTop="35dp"
            android:visibility="visible"
            android:weightSum="1"
            android:overScrollMode="never">

            <FrameLayout
                android:id="@+id/ecg_graph"
                android:layout_width="match_parent"
                android:layout_height="match_parent"/>
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

android opengl-es scrollview glsurfaceview android-framelayout

2
推荐指数
1
解决办法
895
查看次数

如何调试GLSurfaceView的内部崩溃?

我正在使用Android Cardboard SDK和开发一个VR视频查看器RajawaliVR(https://github.com/Rajawali/RajawaliVR)
在某些设备上,我从睡眠状态返回时出现此故障(其他人只显示黑屏):

java.lang.NullPointerException: Attempt to invoke virtual method 'void android.opengl.GLSurfaceView$GLThread.surfaceCreated()' on a null object reference
    at android.opengl.GLSurfaceView.surfaceCreated(GLSurfaceView.java:523)
    at android.view.SurfaceView.updateWindow(SurfaceView.java:580)
    at android.view.SurfaceView$3.onPreDraw(SurfaceView.java:176)
    at android.view.ViewTreeObserver.dispatchOnPreDraw(ViewTreeObserver.java:944)
    at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1970)
    at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1061)
    at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5891)
    at android.view.Choreographer$CallbackRecord.run(Choreographer.java:767)
    at android.view.Choreographer.doCallbacks(Choreographer.java:580)
    at android.view.Choreographer.doFrame(Choreographer.java:550)
    at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:753)
    at android.os.Handler.handleCallback(Handler.java:739)
    at android.os.Handler.dispatchMessage(Handler.java:95)
    at android.os.Looper.loop(Looper.java:135)
    at android.app.ActivityThread.main(ActivityThread.java:5292)
    at java.lang.reflect.Method.invoke(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:372)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:699)
Run Code Online (Sandbox Code Playgroud)

正如你可以看到崩溃在android代码中,我该如何开始调试呢?

android glsurfaceview rajawali google-cardboard rajawalivr

2
推荐指数
1
解决办法
3937
查看次数

如何在Android中的glSurfaceView上方构建GUI / HUD

我有一个glSurfaceView看起来像这样:

public class GLLayer extends GLSurfaceView implements SurfaceHolder.Callback, Camera.PreviewCallback, Renderer {

    private Context context;

    private Circle cRing;
    private CompassNeedle cNeedle;

    private MarkerNorth mNorth;
    private MarkerEast mEast;
    private MarkerSouth mSouth;
    private MarkerWest mWest;
    private MarkerSouthWest mSWest;
    private MarkerSouthEast mSEast;
    private MarkerNorthWest mNWest;
    private MarkerNorthEast mNEast;
    private MarkerWest mGod;
    private MarkerCustom userTag;
    ArrayList <MarkerCustom> locationTags;

    private PhoneOrientation phoneOri;
    private boolean randomSelection[][][]=new boolean[10][10][10];
    ArrayList<double[]> tags = new ArrayList<double[]>();
    double tempOr[] = new double[3];
    ARLaunch _parent;

    RelativeLayout rel;

    public GLLayer(Context context, int …
Run Code Online (Sandbox Code Playgroud)

android glsurfaceview android-layout

1
推荐指数
1
解决办法
2463
查看次数