Questions tagged «webgl»

2
什么是索引缓冲区?它与顶点缓冲区有何关系?
我有一个这样的顶点缓冲区: 0.0, 0.0, 1.0, 0.0, 0.0, 0.6, 1.0, 0.6, 0.5, 1.0 我有以下索引缓冲区: 0, 2, 2, 4, 4, 3, 3, 2, 2, 1, 1, 0, 0, 3, 3, 1 我知道我想gl.LINES使用WebGL 进行绘制,这意味着多个分开的线段。 gl.drawElements(gl.LINES, 16, gl.UNSIGNED_SHORT, indexBuffer); 似乎可以在WebGL的一次绘制调用中绘制多个线段。 有人可以给我ELI5吗?什么是索引缓冲区?它与顶点缓冲区有何关系?如何从我的原语生成索引缓冲区?

1
WebGL全向阴影映射问题
首先,我想说的是,我已经阅读了很多有关使用深度图和立方体贴图进行阴影贴图的文章,我了解它们是如何工作的,并且我在使用OpenGL时也有使用它们的工作经验,但是,实现时遇到了问题全向阴影贴图技术在我的3D图形引擎“ EZ3”中使用单点光源。我的引擎使用WebGL作为3D图形API,并使用JavaScript作为编程语言,这是我的计算机科学学士学位论文的目的。 基本上,这就是我实现阴影贴图算法的方式,但是我只关注点光源的情况,因为有了它们,我可以归档全向阴影贴图。 首先,我像这样积极进行正面剔除: if (this.state.faceCulling !== Material.FRONT) { if (this.state.faceCulling === Material.NONE) gl.enable(gl.CULL_FACE); gl.cullFace(gl.FRONT); this.state.faceCulling = Material.FRONT; } 其次,我创建一个深度程序以记录每个立方体贴图面的深度值,这是我在GLSL 1.0中的深度程序代码: 顶点着色器: precision highp float; attribute vec3 position; uniform mat4 uModelView; uniform mat4 uProjection; void main() { gl_Position = uProjection * uModelView * vec4(position, 1.0); } 片段着色器: precision highp float; …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.