- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
基本上我有 200 X 200 像素的 Canvas ,一个 20 X 20 X 20 像素的体素。所以我有 100 个体素。当我在 Canvas 上绘图时,我想查看绘制了哪个像素,如果该像素位于其中一个体素内,那么我将显示该体素。
下面的voxelWidthPixel是体素宽度的像素数,voxelHeightPixel是体素高度的像素数。我使用循环,以便读取从 (0,0) 到 (20,20) 的像素值,然后读取 (0, 20) 到 (20, 40),然后读取 (0, 40) 到 (20, 60),最后读取像素值到 (180, 160) 到 (200, 180),然后从 (180, 180) 到 (200, 200)。
for (var i =bottomleft.x, px =0 ; i < topRight.x; i = i + voxelSize, px = px + pixWidthVoxel){
for (var j = bottomleft.y, py =0 ; j < topRight.y ; j = j + voxelSize, py = py + pixHeightVoxel){
var pixelValues = new Uint8Array(voxelWidthPixel * voxelHeightPixel * 4);
gl.readPixels( startPixelX, startPixelY, endPixelX, endPixelY, gl.RGBA, gl.UNSIGNED_BYTE, pixelValues);
}
}
pixelValues 不应该是 size = 20 * 20 * 4 = 1600 的 arrayBuffer 吗?由于我只读取 (0,0) 到 (20,20),然后读取 (0, 20) 到 (20,40),因此从 (0,0) 到 (20,20) 的平方将包含 400像素。像素值不应该足以获取所有 RGBA 值吗?
最佳答案
gl.readPixels 的第三个和第四个参数是宽度和高度值。将两个值 endPixelX
和 endPixelX
替换为 endPixelX-startPixelX
和 endPixelY - startPixelY
关于javascript - WebGL:INVALID_OPERATION:readPixels:ArrayBufferView 对于尺寸来说不够大,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33559632/
我不明白,为什么 glResolveMultisampleFramebufferAPPLE 会生成错误 1282(0x0502,GL_INVALID_OPERATION)。 设置代码: glGenFr
问题: 紧接在“glTexEnvi(GL_POINT_SPRITE, GL_COORD_REPLACE, GL_TRUE);”之后我收到了 GL 错误 #1282(INVALID_OPERATION)
假设我有 COpenGLControl class downloaded here from codeguru假设the first event handler runned when creatin
基本上我有 200 X 200 像素的 Canvas ,一个 20 X 20 X 20 像素的体素。所以我有 100 个体素。当我在 Canvas 上绘图时,我想查看绘制了哪个像素,如果该像素位于其中
我正在尝试在片段着色器中设置两个纹理,但如果我尝试使用以下命令设置相应的统一变量,则会收到此错误: gl.uniform1i(getUniformLocation(program, "uTexture
我学习 WebGL。 当我尝试绘制三个点时,当每个点都有自己的位置、大小和颜色时,我遇到了一些错误。我尝试通过相同的缓冲区来完成。 // To draw three points. Each of t
我学习 WebGL。 当我尝试绘制三个点时,当每个点都有自己的位置、大小和颜色时,我遇到了一些错误。我尝试通过相同的缓冲区来完成。 // To draw three points. Each of t
我正在将一个正常运行的 OpenGL 应用程序从 Windows 移植到 OSX,并在调用 glEnableVertexAttribArray() 后不断收到“无效操作”(代码 1282)错误。这是渲
我正在尝试为 NDK 掌握 OGLES2 并坚持使用 GLSL 着色器。情况类似于 the one already highlighted here ,但背后的原因似乎有些不同。 我有最简单的着色器。
我目前正在按照本指南将我的场景渲染为纹理以生成深度/阴影贴图:http://www.opengl-tutorial.org/intermediate-tutorials/tutorial-14-ren
我有一个在 Qt Widgets 应用程序中使用 OpenGL 的应用程序。在切换到 Linux 之前,我曾经在 macOS 上开发它,一切都运行良好。现在,当我调用 glBindVertexArra
我是一名优秀的程序员,十分优秀!