Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(925)

Unified Diff: chrome/browser/android/vr_shell/vr_shell_renderer.cc

Issue 2757213003: Implementing glTF 1.0 parser (Closed)
Patch Set: Moving glTF structs to their own file Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/android/vr_shell/vr_shell_renderer.cc
diff --git a/chrome/browser/android/vr_shell/vr_shell_renderer.cc b/chrome/browser/android/vr_shell/vr_shell_renderer.cc
index 0ce95a9f712eda808e3f8c369c9094bd352a833b..ffe0d2d0ae6664272833b49902c659ea8921e9cf 100644
--- a/chrome/browser/android/vr_shell/vr_shell_renderer.cc
+++ b/chrome/browser/android/vr_shell/vr_shell_renderer.cc
@@ -223,9 +223,7 @@ const char* GetShaderSource(vr_shell::ShaderID shader) {
namespace vr_shell {
-BaseRenderer::BaseRenderer(ShaderID vertex_id,
- ShaderID fragment_id,
- bool setup_vertex_buffer = true) {
+BaseRenderer::BaseRenderer(ShaderID vertex_id, ShaderID fragment_id) {
std::string error;
GLuint vertex_shader_handle =
CompileShader(GL_VERTEX_SHADER, GetShaderSource(vertex_id), error);
@@ -246,15 +244,7 @@ BaseRenderer::BaseRenderer(ShaderID vertex_id,
position_handle_ = glGetAttribLocation(program_handle_, "a_Position");
tex_coord_handle_ = glGetAttribLocation(program_handle_, "a_TexCoordinate");
- if (setup_vertex_buffer) {
- // Generate the vertex buffer
- glGenBuffersARB(1, &vertex_buffer_);
- glBindBuffer(GL_ARRAY_BUFFER, vertex_buffer_);
- glBufferData(GL_ARRAY_BUFFER, kTextureQuadVerticesSize,
- kTextureQuadVertices, GL_STATIC_DRAW);
- } else {
- vertex_buffer_ = 0;
- }
+ vertex_buffer_ = 0;
cjgrant 2017/03/21 16:16:47 This could now be done in the header file, FWIW.
acondor_ 2017/03/21 19:31:30 Done.
}
BaseRenderer::~BaseRenderer() = default;
@@ -285,8 +275,19 @@ void BaseRenderer::PrepareToDraw(GLuint view_proj_matrix_handle,
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
}
+BaseQuadRenderer::BaseQuadRenderer(ShaderID vertex_id, ShaderID fragment_id)
+ : BaseRenderer(vertex_id, fragment_id) {
+ glGenBuffersARB(1, &vertex_buffer_);
+ glBindBuffer(GL_ARRAY_BUFFER, vertex_buffer_);
+ glBufferData(GL_ARRAY_BUFFER, kTextureQuadVerticesSize, kTextureQuadVertices,
+ GL_STATIC_DRAW);
+}
+
+BaseQuadRenderer::~BaseQuadRenderer() = default;
+
TexturedQuadRenderer::TexturedQuadRenderer()
- : BaseRenderer(TEXTURE_QUAD_VERTEX_SHADER, TEXTURE_QUAD_FRAGMENT_SHADER) {
+ : BaseQuadRenderer(TEXTURE_QUAD_VERTEX_SHADER,
+ TEXTURE_QUAD_FRAGMENT_SHADER) {
model_view_proj_matrix_handle_ =
glGetUniformLocation(program_handle_, "u_ModelViewProjMatrix");
tex_uniform_handle_ = glGetUniformLocation(program_handle_, "u_Texture");
@@ -383,7 +384,7 @@ void TexturedQuadRenderer::Flush() {
TexturedQuadRenderer::~TexturedQuadRenderer() = default;
WebVrRenderer::WebVrRenderer()
- : BaseRenderer(WEBVR_VERTEX_SHADER, WEBVR_FRAGMENT_SHADER) {
+ : BaseQuadRenderer(WEBVR_VERTEX_SHADER, WEBVR_FRAGMENT_SHADER) {
tex_uniform_handle_ = glGetUniformLocation(program_handle_, "u_Texture");
}
@@ -430,7 +431,7 @@ void WebVrRenderer::Draw(int texture_handle) {
WebVrRenderer::~WebVrRenderer() = default;
ReticleRenderer::ReticleRenderer()
- : BaseRenderer(RETICLE_VERTEX_SHADER, RETICLE_FRAGMENT_SHADER) {
+ : BaseQuadRenderer(RETICLE_VERTEX_SHADER, RETICLE_FRAGMENT_SHADER) {
model_view_proj_matrix_handle_ =
glGetUniformLocation(program_handle_, "u_ModelViewProjMatrix");
color_handle_ = glGetUniformLocation(program_handle_, "color");
@@ -467,7 +468,7 @@ void ReticleRenderer::Draw(const gvr::Mat4f& view_proj_matrix) {
ReticleRenderer::~ReticleRenderer() = default;
LaserRenderer::LaserRenderer()
- : BaseRenderer(LASER_VERTEX_SHADER, LASER_FRAGMENT_SHADER) {
+ : BaseQuadRenderer(LASER_VERTEX_SHADER, LASER_FRAGMENT_SHADER) {
model_view_proj_matrix_handle_ =
glGetUniformLocation(program_handle_, "u_ModelViewProjMatrix");
texture_unit_handle_ = glGetUniformLocation(program_handle_, "texture_unit");
@@ -509,7 +510,8 @@ void LaserRenderer::Draw(const gvr::Mat4f& view_proj_matrix) {
LaserRenderer::~LaserRenderer() = default;
GradientQuadRenderer::GradientQuadRenderer()
- : BaseRenderer(GRADIENT_QUAD_VERTEX_SHADER, GRADIENT_QUAD_FRAGMENT_SHADER) {
+ : BaseQuadRenderer(GRADIENT_QUAD_VERTEX_SHADER,
+ GRADIENT_QUAD_FRAGMENT_SHADER) {
model_view_proj_matrix_handle_ =
glGetUniformLocation(program_handle_, "u_ModelViewProjMatrix");
scene_radius_handle_ = glGetUniformLocation(program_handle_, "u_SceneRadius");
@@ -543,9 +545,7 @@ void GradientQuadRenderer::Draw(const gvr::Mat4f& view_proj_matrix,
GradientQuadRenderer::~GradientQuadRenderer() = default;
GradientGridRenderer::GradientGridRenderer()
- : BaseRenderer(GRADIENT_QUAD_VERTEX_SHADER,
- GRADIENT_QUAD_FRAGMENT_SHADER,
- false) {
+ : BaseRenderer(GRADIENT_QUAD_VERTEX_SHADER, GRADIENT_QUAD_FRAGMENT_SHADER) {
model_view_proj_matrix_handle_ =
glGetUniformLocation(program_handle_, "u_ModelViewProjMatrix");
scene_radius_handle_ = glGetUniformLocation(program_handle_, "u_SceneRadius");

Powered by Google App Engine
This is Rietveld 408576698