blob: 1f1349b34ce0d9f12a990c947238decea0ee8361 [file]
// Copyright 2018 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef DEVICE_VR_ANDROID_ARCORE_AR_RENDERER_H_
#define DEVICE_VR_ANDROID_ARCORE_AR_RENDERER_H_
#include "ui/gl/gl_bindings.h"
namespace device {
// Issues GL for rendering a texture for AR.
// TODO(crbug.com/838013): Share code with WebVrRenderer.
class ArRenderer {
public:
ArRenderer();
ArRenderer(const ArRenderer&) = delete;
ArRenderer& operator=(const ArRenderer&) = delete;
~ArRenderer();
void Draw(int texture_handle, const float (&uv_transform)[16]);
private:
GLuint program_handle_ = 0;
GLuint position_handle_ = 0;
GLuint clip_rect_handle_ = 0;
GLuint texture_handle_ = 0;
GLuint uv_transform_ = 0;
GLuint vertex_buffer_ = 0;
GLuint index_buffer_ = 0;
};
} // namespace device
#endif // DEVICE_VR_ANDROID_ARCORE_AR_RENDERER_H_