5
5
#include < cmath>
6
6
#include < vector>
7
7
#include < stdio.h>
8
- #include < GLES3/gl3.h>
9
8
10
9
#define SIDE_BY_SIDE 1
11
10
#define NUM_RENDER_PASSES 2
@@ -65,18 +64,6 @@ class WebXRDisplayProvider : ProviderImpl
65
64
float frameBufferHeight;
66
65
bool hasMultipleViews = true ;
67
66
bool transparentBackground = false ;
68
- GLuint webxrVertexShader;
69
- GLuint webxrFragmentShader;
70
- GLuint webXRDisplayProgram;
71
- GLint webXRPositionAttributeLocation;
72
- GLint webXRTextureCoordsAttributeLocation;
73
- GLint webXRTextureAttributeLocation;
74
- GLuint webXRPositionBuffer;
75
- GLfloat positionData[12 ] = {-1 , -1 , -1 , 1 , 1 , -1 , 1 , -1 , -1 , 1 , 1 , 1 };
76
- GLuint webXRUVBuffer;
77
- GLfloat uvData[12 ] = {0 , 0 , 0 , 1 , 1 , 0 , 1 , 0 , 0 , 1 , 1 , 1 };
78
- GLuint webXRFrameBuffer;
79
- GLuint webXRRenderTexture;
80
67
};
81
68
82
69
UnitySubsystemErrorCode WebXRDisplayProvider::Initialize ()
@@ -108,55 +95,6 @@ UnitySubsystemErrorCode WebXRDisplayProvider::Start()
108
95
s_PoseXPositionPerPass[1 ] = 0 ;
109
96
}
110
97
transparentBackground = *(m_ViewsDataArray + 55 ) > 0 ;
111
- /* webXRFrameBuffer = WebXRInitDisplayRender();
112
-
113
- webxrVertexShader = glCreateShader(GL_VERTEX_SHADER);
114
- const GLchar* vertexSource = R"(#version 300 es
115
- in vec2 a_Position;
116
- in vec2 a_TextureCoords;
117
- out vec2 v_TextureCoords;
118
- void main() {
119
- gl_Position = vec4(a_Position, -1, 1);
120
- v_TextureCoords = a_TextureCoords;
121
- })";
122
- glShaderSource(webxrVertexShader, 1, &vertexSource, NULL);
123
- glCompileShader(webxrVertexShader);
124
-
125
- webxrFragmentShader = glCreateShader(GL_FRAGMENT_SHADER);
126
- const GLchar* fragmentSource = R"(#version 300 es
127
- precision highp float;
128
- uniform sampler2D a_Texture;
129
- in vec2 v_TextureCoords;
130
- out vec4 o_FragColor;
131
- void main() {
132
- o_FragColor = texture(a_Texture, v_TextureCoords);
133
- })";
134
- glShaderSource(webxrFragmentShader, 1, &fragmentSource, NULL);
135
- glCompileShader(webxrFragmentShader);
136
-
137
- webXRDisplayProgram = glCreateProgram();
138
- glAttachShader(webXRDisplayProgram, webxrVertexShader);
139
- glAttachShader(webXRDisplayProgram, webxrFragmentShader);
140
- glLinkProgram(webXRDisplayProgram);
141
-
142
- webXRPositionAttributeLocation = glGetAttribLocation(webXRDisplayProgram, "a_Position");
143
- webXRTextureCoordsAttributeLocation = glGetAttribLocation(webXRDisplayProgram, "a_TextureCoords");
144
- webXRTextureAttributeLocation = glGetUniformLocation(webXRDisplayProgram, "a_Texture");
145
-
146
- glGenBuffers(1, &webXRPositionBuffer);
147
- glBindBuffer(GL_ARRAY_BUFFER, webXRPositionBuffer);
148
- glBufferData(GL_ARRAY_BUFFER, sizeof(positionData), positionData, GL_STATIC_DRAW);
149
-
150
- glEnableVertexAttribArray(webXRPositionAttributeLocation);
151
- glVertexAttribPointer(webXRPositionAttributeLocation, 2, GL_FLOAT, GL_FALSE, 0, 0);
152
-
153
- glGenBuffers(1, &webXRUVBuffer);
154
- glBindBuffer(GL_ARRAY_BUFFER, webXRUVBuffer);
155
- glBufferData(GL_ARRAY_BUFFER, sizeof(uvData), uvData, GL_STATIC_DRAW);
156
-
157
- glEnableVertexAttribArray(webXRTextureCoordsAttributeLocation);
158
- glVertexAttribPointer(webXRTextureCoordsAttributeLocation, 2, GL_FLOAT, GL_FALSE, 0, uvData);*/
159
-
160
98
return kUnitySubsystemErrorCodeSuccess ;
161
99
}
162
100
@@ -170,38 +108,6 @@ UnitySubsystemErrorCode WebXRDisplayProvider::GfxThread_Start(UnityXRRenderingCa
170
108
171
109
UnitySubsystemErrorCode WebXRDisplayProvider::GfxThread_SubmitCurrentFrame ()
172
110
{
173
- /* glBindFramebuffer(GL_FRAMEBUFFER, webXRFrameBuffer);
174
- glViewport(0, 0, static_cast<int>(frameBufferWidth), static_cast<int>(frameBufferHeight));
175
- glClearColor(0, 0, 0, 0);
176
- glDepthMask(false); // solves bug in some android phones
177
- // glDisable(GL_SCISSOR_TEST);
178
- // glDisable(GL_CULL_FACE);
179
- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT);
180
- glDepthMask(true); // solves bug in some android phones
181
-
182
- glUseProgram(webXRDisplayProgram);
183
-
184
- glBindBuffer(GL_ARRAY_BUFFER, webXRPositionBuffer);
185
- glBufferData(GL_ARRAY_BUFFER, sizeof(positionData), positionData, GL_STATIC_DRAW);
186
-
187
- glEnableVertexAttribArray(webXRPositionAttributeLocation);
188
- glVertexAttribPointer(webXRPositionAttributeLocation, 2, GL_FLOAT, GL_FALSE, 0, 0);
189
-
190
- glBindBuffer(GL_ARRAY_BUFFER, webXRUVBuffer);
191
- glBufferData(GL_ARRAY_BUFFER, sizeof(uvData), uvData, GL_STATIC_DRAW);
192
-
193
- glEnableVertexAttribArray(webXRTextureCoordsAttributeLocation);
194
- glVertexAttribPointer(webXRTextureCoordsAttributeLocation, 2, GL_FLOAT, GL_FALSE, 0, 0);
195
-
196
- UnityXRRenderTextureDesc uDesc;
197
- m_Ctx.display->QueryTextureDesc(m_Handle, m_UnityTextures[0], &uDesc);
198
-
199
- glActiveTexture(GL_TEXTURE0);
200
- glBindTexture(GL_TEXTURE_2D, uDesc.color.referenceTextureId);
201
- glUniform1i(webXRTextureAttributeLocation, 0);
202
-
203
- glDrawArrays(GL_TRIANGLES, 0, 6);*/
204
-
205
111
return kUnitySubsystemErrorCodeSuccess ;
206
112
}
207
113
@@ -361,12 +267,6 @@ UnitySubsystemErrorCode WebXRDisplayProvider::GfxThread_FinalBlitToGameViewBackB
361
267
362
268
void WebXRDisplayProvider::Stop ()
363
269
{
364
- /* WebXRDestructDisplayRender(webXRFrameBuffer);
365
- glDeleteProgram(webXRDisplayProgram);
366
- glDeleteShader(webxrVertexShader);
367
- glDeleteShader(webxrFragmentShader);
368
- glDeleteBuffers(1, &webXRPositionBuffer);
369
- glDeleteBuffers(1, &webXRUVBuffer);*/
370
270
}
371
271
372
272
void WebXRDisplayProvider::Shutdown ()
0 commit comments