Exemple #1
0
        public CameraFrustum()
        {
            // Reset the model matrix to the identity
            Matrix.SetIdentityM(ModelMatrix, 0);

            // Load the vertices into a vertex buffer
            ByteBuffer byteBuf = ByteBuffer.AllocateDirect(mVertices.Length * 4);

            byteBuf.Order(ByteOrder.NativeOrder());
            mVertexBuffer = byteBuf.AsFloatBuffer();
            mVertexBuffer.Put(mVertices);
            mVertexBuffer.Position(0);

            // Load the colors into a color buffer
            ByteBuffer cByteBuff = ByteBuffer.AllocateDirect(mColors.Length * 4);

            cByteBuff.Order(ByteOrder.NativeOrder());
            mColorBuffer = cByteBuff.AsFloatBuffer();
            mColorBuffer.Put(mColors);
            mColorBuffer.Position(0);

            // Load the vertex and fragment shaders, then link the program
            int vertexShader = RenderUtils.loadShader(GLES20.GlVertexShader, sVertexShaderCode);
            int fragShader   = RenderUtils.loadShader(GLES20.GlFragmentShader, sFragmentShaderCode);

            mProgram = GLES20.GlCreateProgram();
            GLES20.GlAttachShader(mProgram, vertexShader);
            GLES20.GlAttachShader(mProgram, fragShader);
            GLES20.GlLinkProgram(mProgram);
        }
Exemple #2
0
        public Grid()
        {
            // Reset the model matrix to the identity
            Matrix.SetIdentityM(ModelMatrix, 0);

            // Allocate a vertex buffer
            ByteBuffer vertexByteBuffer = ByteBuffer.AllocateDirect((GRID_RANGE_M * 2 + 1) * 4 * 3 * BYTES_PER_FLOAT);

            vertexByteBuffer.Order(ByteOrder.NativeOrder());
            mVertexBuffer = vertexByteBuffer.AsFloatBuffer();

            // Load the vertices for the z-axis grid lines into the vertex buffer
            for (int x = -GRID_RANGE_M; x <= GRID_RANGE_M; x++)
            {
                mVertexBuffer.Put(new float[] { x, -1.3f, (float)-GRID_RANGE_M });
                mVertexBuffer.Put(new float[] { x, -1.3f, (float)GRID_RANGE_M });
            }

            // Load the vertices for the x-axis grid lines into the vertex buffer
            for (int z = -GRID_RANGE_M; z <= GRID_RANGE_M; z++)
            {
                mVertexBuffer.Put(new float[] { (float)-GRID_RANGE_M, -1.3f, z });
                mVertexBuffer.Put(new float[] { (float)GRID_RANGE_M, -1.3f, z });
            }

            // Load the vertex and fragment shaders, then link the program
            int vertexShader = RenderUtils.loadShader(GLES20.GlVertexShader, sVertexShaderCode);
            int fragShader   = RenderUtils.loadShader(GLES20.GlFragmentShader, sFragmentShaderCode);

            mProgram = GLES20.GlCreateProgram();
            GLES20.GlAttachShader(mProgram, vertexShader);
            GLES20.GlAttachShader(mProgram, fragShader);
            GLES20.GlLinkProgram(mProgram);
        }
        public PointCloud(int maxDepthPoints)
        {
            mAverageZ = 0;
            int vertexShader = RenderUtils.loadShader(GLES20.GlVertexShader, sVertexShaderCode);
            int fragShader   = RenderUtils.loadShader(GLES20.GlFragmentShader, sFragmentShaderCode);

            mProgram = GLES20.GlCreateProgram();
            GLES20.GlAttachShader(mProgram, vertexShader);
            GLES20.GlAttachShader(mProgram, fragShader);
            GLES20.GlLinkProgram(mProgram);
            Matrix.SetIdentityM(ModelMatrix, 0);

//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final int buffers[] = new int[1];
            int[] buffers = new int[1];
            GLES20.GlGenBuffers(1, buffers, 0);
            mVertexVBO = buffers[0];
        }
Exemple #4
0
        public Trajectory(int lineWidth)
        {
            mLineWidth = lineWidth;
            // Reset the model matrix to the identity
            Matrix.SetIdentityM(ModelMatrix, 0);

            // Allocate a vertex buffer
            ByteBuffer vertexByteBuffer = ByteBuffer.AllocateDirect(MAX_VERTICES * BYTES_PER_FLOAT);

            vertexByteBuffer.Order(ByteOrder.NativeOrder());
            mVertexBuffer = vertexByteBuffer.AsFloatBuffer();

            // Load the vertex and fragment shaders, then link the program
            int vertexShader = RenderUtils.loadShader(GLES20.GlVertexShader, mVertexShaderCode);
            int fragShader   = RenderUtils.loadShader(GLES20.GlFragmentShader, mFragmentShaderCode);

            mProgram = GLES20.GlCreateProgram();
            GLES20.GlAttachShader(mProgram, vertexShader);
            GLES20.GlAttachShader(mProgram, fragShader);
            GLES20.GlLinkProgram(mProgram);
        }